You are on page 1of 5

OPTIMIZACIN con MTODOS NUMRICOS

AJUSTE DE CURVAS
Ejercicio 15-2. Encontrar el valor de x que minimiza el valor mximo de:
[f1(x), f2(x), f3(x), f4(x), f5(x)] estando las funciones fi(x) definidas como se
indica en el problema.

Solucin
Comenzamos construyendo el fichero myfun1 que define las funciones

function f=myfun1(x)
f(1)=2*x(1)^2+x(2)^2-48*x(1)-40*x(2)+304;
f(2)=-x(1)^2 -3*x(2)^2;
f(3)=x(1)+3*x(2) -18;
f(4)=x(1)+x(2);
f(5)=x(1)^2+x(2)-8;

Utilizando como valor inicial [0,1 0.1] se resuelve el problema mediante la siguiente
sintaxis:

Ejecutamos
>> x0 = [0.1; 0.1];
>> [x,fval] = fminimax(@myfun1,x0)

Resultado

x=

3.3723
4.4144

fval =

7.7867 -69.8325 -1.3846 7.7867 7.7867


Ejercicio 15-3. Minimizar la funcin siguiente:
f(x) = 3* x12+ 2*x1*x2 + x22
con valores iniciales [1,1].

Ejecucin

>> [x,fval] = fminunc(inline('3*x(1)^2 + 2*x(1)*x(2) + x(2)^2'),x0)

Sol

x=

1.0e-007 *

0.1492
-0.2240

fval =

5.0129e-016

Ejercicio 15-4. Encontrar los valores de x que minimizan la funcin f(x)


sujeta a las restricciones k1(x,w1) y k2(x,w2) con w1 y w2 en [1, 100]. La
funcin y las restricciones se definen en el problema y elk punto inicial es
(0,5 0,2 0,3).

Comenzamos creando un M-fichero con las restricciones (Figura 14-5).


Tambin creamos un fichero para la funcion objetivo (Figura 14-6).

Ya se puede resolver el problema y obtener la solucion grafica (Figura 14-7)


mediante la sintaxis siguiente:

>> [x,fval] = fseminf(@myfun2,x0,2,@mycon)

x=
0.6673
0.3013
0.4023
fval =
0.0770
Ejercicio 15-5. Dados los conjuntos de datos:
xdata = [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
ydata = [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];

Se trata de encontrar los coeficientes x que minimicen la funcin ydata(i) del tipo
definido en el problema.

Nuestro problema puede escribirse como:

Comenzamos escribiendo la funcion F en el M-fichero de la Figura 14-8:


% FUNCION DE OPTIMIZACION
function F=myfun4(x,xdata)
F=x(1)*xdata.^2+x(2)*sin(xdata)+x(3)*xdata.^3;

%El problema, con valores iniciales en [10,10,10], se resuelve mediante la siguiente


sintaxis:
Programa en archivo.m
xdata = [3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
ydata = [16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];
x0 = [10, 10, 10];
[x,resnorm] = lsqcurvefit(@myfun4,x0,xdata,ydata)

Ejecutamos el programa los coeficientes x son

x=

0.2269 0.3385 0.3022

resnorm =

6.2950

Entonces la funcin optima de regresin seria

Y= 0.2269x^2 +0.3385* sen(x) +0.3022x^3

You might also like