Uniwersytet Warmińsko – Mazurski
W Olsztynie
Studia stacjonarne
II rok, Mechatronika
Ćwiczenia laboratoryjne
Algorytmy i metody numeryczne
Temat: Metody optymalizacji
Grupa II
Michał Kuncewicz
Damian Frej
Zadanie 1
%Metoda złotego podziału
%f(x)=x+ 1/x^2
%przedział [1;2] przy dokładnosci e=0,01
a=1;
b=2;
e=0.01;
alfa=(sqrt(5)-1)/2 %złota liczba
c=b-alfa*(b-a);
d=a+alfa*(b-a);
while (b-a)>e
fc=c+1/(c^2);
fd=d+1/(d^2);
if fc<fd
a=a;
b=d;
d=c;
c=b-alfa*(b-a);
else
a=c;
b=b;
c=d;
d=a+alfa*(b-a);
end
end
x=(a+b)/2 %wynik
x1=[1:0.01:2];
y=x1+1./(x1.^2);
figure(1);
plot(x1,y);
x =
1.2614
Zadanie 2
%Metoda Fibonacciego
%f(x)=x+ 1/x^2 przedział [1;2] przy dokładnosci e=0,01
clc;
clear;
a=1;
b=2;
e=0.01;
fi(1)=1
fi(2)=1
k=2;
fik=0;
while fik<(b-a)/e
k=k+1
fi(k)=fi(k-1)+fi(k-2)
fik=fi(k)
end
c=b-((fi(k-1))/fi(k))*(b-a)
d=a+b-c
i=0
while i<k-4
fc=c+1/(c^2);
fd=d+1/(d^2);
if fc<fd
a=a;
b=d;
else
b=b;
a=c ;
end
c=b-(fi(k-i-2)/fi(k-i-1))*(b-a);
d=a+b-c;
i=i+1;
end
x=c
x =
1.2569
Zadanie 3
%Metoda Fibonacciego
%f(x)=(x-1)*(x-2) przedział [0;4] przy dokładnosci e=0,01
clc;
clear;
a=1;
b=2;
e=0.01;
fi(1)=1
fi(2)=1
k=2;
fik=0;
while fik<(b-a)/e
k=k+1
fi(k)=fi(k-1)+fi(k-2)
fik=fi(k)
end
c=b-((fi(k-1))/fi(k))*(b-a)
d=a+b-c
i=0
while i<k-4
fc=(c-1)*(c-2);
fd=(d-1)*(d-2);
if fc<fd
a=a;
b=d;
else
b=b;
a=c ;
end
c=b-(fi(k-i-2)/fi(k-i-1))*(b-a);
d=a+b-c;
i=i+1;
end
x=c
x1=[1:0.01:2];
y=(x1-1).*(x1-2);
figure(1);
plot(x1,y);
x =
1.5000
Zadanie 4
X = FMINBND(@sin,0,2*pi)
x1=[0:0.01:2*pi];
y=sin(x1);
figure(1);
plot(x1,y);
X =
4.7124
Zadanie 5
X = FMINBND(‘(x-3)^2-1’,0,5)
x1=[0:0.01:5];
y=(x1-3).^2-1
figure(1);
plot(x1,y);
X =
3
Zadanie 6
A=[] B=[] Aeq=[] Beq=[]
x=[0:0.01:72];
b=[0:0.01:72];
a=[0:0.01:72];
X=FMINCON(‘- (x).*(b).*(a)’,[10,10,10],A,B,Aeq,Beq,0,72)
x1=[0:0.01:72];
x2=[0:0.01:72];
x3=[0:0.01:72];
y=x1+2*x2+2*x3 ;
figure(1);
plot(x1,x2,x3,y);
y=-(x1).*(x2).*(x3)
figure(1);
plot(x1,x2,x3,y);