Ayuda con ejercicio de optimizacion. soy nuevo en MATLAB
Publicado por Ivan (3 intervenciones) el 08/08/2018 07:38:59
Necesito ayuda con un ejercicios, soy nuevo y no entiendo mucho, solo lo básico:
Utilice la interpolación cuadrática para aproximar el máximo
de 3cos(x)-x^2/5 entre 0 y 5
Lo único que se me ocurrió es esto, pero creo que son fruslerías:freal=@(x) 3*sin(x)-(x.^2)/5;
si alguien tiene el código seria genial que me lo facilitara, gracias.
Utilice la interpolación cuadrática para aproximar el máximo
de 3cos(x)-x^2/5 entre 0 y 5
Lo único que se me ocurrió es esto, pero creo que son fruslerías:freal=@(x) 3*sin(x)-(x.^2)/5;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
X=[0:0.1:5];
plot(X,freal(X))
hold on;
x0=0;y0=0;
x1=pi;y1=-1.97392;
x2=5;y2=-8;
punto_op_ant=1;
matriz_punto(1)=1;
E=0.5;
cont=1;
continua=1;
error(1)=1000;
while (cont <= 20)&& (continua==1)
punto_op=(((y0)*((x1)^2-(x2)^2))+((y1)*((x2)^2-(x0)^2))+((y2)*((x0)^2-(x1)^2)))/(2*(((y0)*(x1-x2))+((y1)*(x2-x0))+((y2)*(x0-x1))));
error(cont+1)=abs(x0-x2);
punto_op_ant=punto_op;
matriz_punto(cont+1)=punto_op;
if y1>y2
punto_op=x2;
else
x0=x1;
end
if error(cont+1)<=E
punto_op=X_op;
continua=0;
y=feval(freal,X_op);plot(X_op,y, '--*');
end
cont=cont+1;
end
si alguien tiene el código seria genial que me lo facilitara, gracias.
Valora esta pregunta


0