24
Instytut Konstrukcji Budowlanych Metody Obliczeniowe Zakład Komputerowego Wspomagania Projektowania Semestr 2 2 pa dziernik 2013 ź Nieliniowe równania i układy rówań Slajd 1 Równania nieliniowe, nieliniowe układy równań, optymalizacja

Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

  • Upload
    ngohanh

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 1

Równania nieliniowe, nieliniowe układy równań, optymalizacja

Page 2: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 2

Plan zajęć

● Rozwiązywanie równań nieliniowych -metoda bisekcji ● Rozwiązywanie układów równań nieliniowych -funkcja fsolve()● Optymalizacja -programowanie liniowe i kwadratowe -programowanie liniowe przykład wyboru asortymentu produkcji

Page 3: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 3

Zdefiniuj funkcję SciLaba: bisekcja(a,b,f,eps), gdzie:• a,b: końce przedziału [a,b] w którym poszukujemy

pierwiastka • f: dowolna funkcja jednej zmiennej. • eps: kryterium zbieżności

Ćwiczenie 1

Page 4: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 4

Zdefiniuj funkcję SciLaba: bisekcja(a,b,f,eps), gdzie:• a,b: końce przedziału [a,b] w którym poszukujemy

pierwiastka • f: dowolna funkcja jednej zmiennej. • eps: kryterium zbieżności

Ćwiczenie 1

[ ] [ ] ( ) ( )[ ] ( ) ( )

><

=−−

−−

0,0,

,11

11

iiii

iiiiii xfafgdybx

xfafgdyxaba

( )ii

iii

xbbax

=+= −− 112

1

bi − 1

( )f bi − 1

( )ixf

( )f ai − 1

iba ai i− =1

( )ii

iii

xbbax

=+= −− 112

1

bi − 1

( )f bi − 1

( )ixf

( )f ai − 1

iba ai i− =1

Page 5: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 5

Zdefiniuj funkcję SciLaba: bisekcja(a,b,f,eps), gdzie:• a,b: końce przedziału [a,b] w którym poszukujemy

pierwiastka • f: dowolna funkcja jednej zmiennej. • eps: kryterium zbieżności

function x = bisekcja(a,b,f,eps)x = (a + b)/2while abs(f(x)) >= eps

if f(a)*f(x) < 0b = x

elsea = x

end x = (a + b)/2

endendfunction

Ćwiczenie 1 - cd

Page 6: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 6

Zdefiniuj funkcję f(x)=x3-2x2-2x+1. Znajdź przy pomocy funkcji bisekcja() rozwiązanie równania f(x)=0. Obliczenia poprzedź wykonaniem wykresu funkcji, oraz doborem przedziału [a,b].

Ćwiczenie 1 - cd

Page 7: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 7

Zdefiniuj funkcję f(x)=x3-2x2-2x+1. Znajdź przy pomocy funkcji bisekcja() rozwiązanie równania f(x)=0. Obliczenia poprzedź wykonaniem wykresu funkcji, oraz doborem przedziału [a,b].

Ćwiczenie 1 - cd

function y=f(x) y=x^3-2*x^2-2*x+1 endfunctionx=-1.5:0.1:3plot2d(x,f(x))eps=0.001

Page 8: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 8

Zdefiniuj funkcję f(x)=x3-2x2-2x+1. Znajdź przy pomocy funkcji bisekcja() rozwiązanie równania f(x)=0. Obliczenia poprzedź wykonaniem wykresu funkcji, oraz doborem przedziału [a,b].

Ćwiczenie 1 - cd

function y=f(x) y=x^3-2*x^2-2*x+1 endfunctionx=-1.5:0.1:3plot2d(x,f(x))eps=0.001x1=bisekcja(-1.5,-0.5,f,eps)// x1 = -1x2= bisekcja(-0.5,1.5,f,eps)// x2 = 0.3818x3= bisekcja(1.5, 3, f,eps)// x3 = 2.618

Page 9: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 9

Zdefiniuj funkcję g(x)=2x+cos(x). Znajdź przy pomocy funkcji bisekcja() rozwiązanie równania g(x)=0. Obliczenia poprzedź wykonaniem wykresu funkcji, oraz doborem przedziału [a,b].

Ćwiczenie 1 - cd

Page 10: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 10

Znajdź rozwiązanie równań f(x)=0 i g(x)=0 (dla wcześniej zdefiniowanych funkcji) wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe”

Ćwiczenie 2

Page 11: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 11

Znajdź rozwiązanie równań f(x)=0 i g(x)=0 (dla wcześniej zdefiniowanych funkcji) wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe”

Ćwiczenie 2

x1=fsolve(-0.5,f); // -1

Page 12: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 12

Znajdź rozwiązanie równań f(x)=0 i g(x)=0 (dla wcześniej zdefiniowanych funkcji) wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe”

Ćwiczenie 2

x1=fsolve(-0.5,f); // -1x2=fsolve(0,f); // 0.38x3=fsolve(3,f); // 2.618z=fsolve(3,g); // -0.45

Page 13: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 13

Rozwiąż, wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe” układ równań nieliniowych:

x2+y2 = 50, xy = 25Przedstaw interpretację graficzną zadania

Ćwiczenie 2

Page 14: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 14

Rozwiąż, wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe” układ równań nieliniowych:

x2+y2 = 50, xy = 25Przedstaw interpretację graficzną zadania

Ćwiczenie 2

function [f] = f2(x)f(1) = x(1)^2 + x(2)^2 - 50;f(2) = x(1)*x(2) -25;

endfunction

z1=fsolve([0;0],f2); // (5,5)

Page 15: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 15

Rozwiąż, wykorzystując funkcję SciLaba fsolve() i dobierając różne punkty „startowe” układ równań nieliniowych:

x2+y2 = 50, xy = 25Przedstaw interpretację graficzną zadania

Ćwiczenie 2

function [f] = f2(x)f(1) = x(1)^2 + x(2)^2 - 50;f(2) = x(1)*x(2) -25;

endfunction

z1=fsolve([0;0],f2); // (5,5)

z2=fsolve([-10;-10],f2); // (-5,-5)

Page 16: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 16

Ćwiczenie 3Znajdź minimum funkcji f(x1,x2,x3) = 3x1+5x2-2x3+1,

przy następujących ograniczeniach: x1 + 3*x2 = 5x1 + x2 - x3 = 22x1 - x2 ≤ 3x1 + x2 + x3 ≤ 250 ≤ x1≤ 5, 0 ≤ x2 ≤ 10, 0 ≤ x3 ≤ 3

funkcja linpro(p,C,b,xL,xU,me):minimum dla:

f(X)= pT*X

Page 17: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 17

Ćwiczenie 3Znajdź minimum funkcji f(x1,x2,x3) = 3x1+5x2-2x3+1,

przy następujących ograniczeniach: x1 + 3*x2 = 5x1 + x2 - x3 = 22x1 - x2 ≤ 3x1 + x2 + x3 ≤ 250 ≤ x1≤ 5, 0 ≤ x2 ≤ 10, 0 ≤ x3 ≤ 3

p = [3;5;-2];C = [1,3,0; 1,1,-1; 2,-1,0; 1,1,1 ];b = [5;2;3;25];xL = [0;0;0]; xU = [5;10;3];[xopt,lagr,fopt] = linpro(p,C,b,xL,xU,2) fopt = fopt +1// xopt = [0.5, 1.5, 0], fopt = 10

funkcja linpro(p,C,b,xL,xU,me):minimum dla:

f(X)= pT*X

Page 18: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 18

Ćwiczenie 4

Znajdź najmniejszą wartość funkcji (punkt startowy: (1,1)): f(x,y)=sin(xy)+cos(x)na obszarze ograniczonym poprzez nierówności: 0 ≤ x1≤ 10, 0 ≤ x2 ≤ 10

Page 19: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 19

Ćwiczenie 4

Znajdź najmniejszą wartość funkcji (punkt startowy: (1,1)): f(x,y)=sin(xy)+cos(x)na obszarze ograniczonym poprzez nierówności: 0 ≤ x ≤ 10, 0 ≤ y ≤ 10

function [f,g,ind]=fst(x,ind) // f – minimalizowana funkcja // g – gradient funkcji f endfunction

 

Page 20: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 20

Ćwiczenie 4

Znajdź najmniejszą wartość funkcji (punkt startowy: (1,1)): f(x,y)=sin(xy)+cos(x)na obszarze ograniczonym poprzez nierówności: 0 ≤ x ≤ 10, 0 ≤ y ≤ 10

function [f,g,ind]=fst(x,ind) f = sin(x(1)*x(2))+cos(x(1)) g = [0;0] g(1)= x(2)*cos(x(1)*x(2))-sin(x(1)) g(2)= x(1)*cos(x(1)*x(2))endfunction[wart,xp]=optim(fst,'b',[0;0],[10;10],[1;1])// xp=(π,0), wart= -1 

Page 21: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 21

Ćwiczenie 5Metody optymalizacji – przykład – cd.

Zadanie optymalnego wyboru asortymentu produkcjiNiech m=2, (w fabryce wytwarzane są 2 produkty), n=2 (do wytworzenia jednego produktu

potrzebne są 2 surowce).– do wytworzenia produktu I – 8 jednostek surowca A,

2 jednostki surowca B,– do wytworzenia produktu II – 5 jednostek surowca A,

5 jednostek surowca B.Zysk ze sprzedaży

– jednostki produktu I - 9 tys. złotych– jednostki produktu II -8 tys. złotych

Wielkość dziennej dostawy– surowca A – 40 jednostek– surowca B – 25 jednostek

Zadanie (X – zbiór rozwiązań dopuszczalnych, warstwicami funkcji f(x) są linie proste 9x1 + 8x2 = const.)

2552:4058:0,0

max89)(

21

21

21

21

≤+≤+≥≥

→+=

xxBxxAxxxxxf

Page 22: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 22

Ćwiczenie 5 - cd// definicje macierzyc=[-9;-8];xL=[0;0];xU=[1e10;1e10];C=[8,5;2,5];d=[40;25];[xopt,lagr,fopt] = linpro(c,C,d,xL,xU,0);

Page 23: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 23

Ćwiczenie 5 - cd// definicje macierzyc=[-9;-8];xL=[0;0];xU=[1e10;1e10];C=[8,5;2,5];d=[40;25];[xopt,lagr,fopt] = linpro(c,C,d,xL,xU,0); // prezentacja graficznadeff('[w]=f(x,y)','w=c(1)*x+c(2)*y')xx=[0:0.5:6]; yy=[0:0.5:6]; zz=feval(xx,yy,f);contour2d(xx,yy,zz,10);deff('[y1]=f1(x)','y1=-8*x/5+40/5')deff('[y2]=f2(x)','y2=(25-2*x)/5')xxx=[0:0.5:6];yy1=f1(xxx);yy2=f2(xxx);plot2d([xxx',xxx'],[yy1',yy2'])

//,[-1,-1],'011',' ',[0 0 6 6])xstring(xopt(1)+0.5,xopt(2)+0.05,'Rozwiazanie')xtitle('Fabryka')

Page 24: Równania nieliniowe, nieliniowe układy równań, optymalizacjaetacar.put.poznan.pl/albert.kubzdela/lab2_2-2014ns.pdf · Rozwiązywanie równań nieliniowych-metoda bisekcji

Instytut Konstrukcji Budowlanych Metody Obliczeniowe

Zakład Komputerowego Wspomagania Projektowania Semestr 2

2 pa dziernik 2013ź Nieliniowe równania i układy rówań Slajd 24

Funkcje dostępne w SciLab

fsolve() - funkcja rozwiązująca układ równań nieliniowych linpro() - funkcja do rozwiązywania zadań programowania liniowego

optim() - funkcja do rozwiązywania nieliniowych zadań optymalizacji