Professional Documents
Culture Documents
optimizacion
Dado que el modelo de motor de inducción es altamente no lineal, algoritmo de búsqueda
local se podrían quedar atrapados en mínimos locales.
redes dispersas
En una dimensión ( d = 1), un conjunto de puntos de rejilla equidistantes en la junta
interna l : = [- 0,5, 0,5 ]
de Nivel L está dada por
(4.1)
donde h = 2 - ( L + 1 ) es el tamaño de la malla.
El esquema de la rejilla 1-dimensional señala con Nivel L = 0, 1, 2, 3, 4 y 5 se muestran
en la figura 4.1. Sobre la base de los puntos de la cuadrícula 1-dimensionales, la d rejilla
dimensional se define como
1.-FUNCION ROSEMBROG.- Esta función está relacionada con la optimización, es una
función convexa utilizando como prueba de rendimiento para la optimización de
algoritmos, donde el objetivo es encontrar el máximo rendimiento con valores mínimos.
f(x)=100(x2−x1 )2 +(1−x1)2
Para este ejemplo encontraremos el mínimo valor de x1 y x2 para hacer más óptimo el
sistema.
La función vosenbrock no esta implementada directamente en MatLab , para
implementarlo necesitamos correr el script donde esta implementada el algoritmo
>>help vrosenbrock
vrosenbrock not found.
function createfigure
% Create figure
figure1 = figure('Position',[1 400 1200 600]);
colormap('gray');
axis square;
R=0:.002:1;
TH=2*pi*(0:.002:1);
X=R'*cos(TH);
Y=R'*sin(TH);
Z=log(1+vrosenbrock(X,Y));
% Create subplot
subplot1 = subplot(1,2,1,'Parent',figure1);
view([124 34]);
grid('on');
hold('all');
% Create surface
surf(X,Y,Z,'Parent',subplot1,'LineStyle','none');
% Create contour
contour(X,Y,Z,'Parent',subplot1);
% Create subplot
subplot2 = subplot(1,2,2,'Parent',figure1);
view([234 34]);
grid('on');
hold('all');
% Create surface
surf(X,Y,Z,'Parent',subplot2,'LineStyle','none');
% Create contour
contour(X,Y,Z,'Parent',subplot2);
Pero no solo es correr el script sino analizarlo en ese sentido, las líneas 5, 6, 7, 8,9, son
la estructura principal del programa.
R=0:.002:1;
TH=2*pi*(0:.002:1);
X=R'*cos(TH);
Y=R'*sin(TH);
Z=log(1+vrosenbrock(X,Y))
Donde R es un vector
TH es un vector de 501 elementos que va desde 0 hasta 2*pi con saltos de .002*pi, o
en sexagesimales 0 hasta 360 grados con saltos de 0.1146 grados.
Y como estamos trabajando en 3D necesitamos implementar algún tipo de coordenada
3 D y para este caso implementamos las coordenadas polares.
X=r.cos(Θ) Y=r.sen(Θ) Z=log(1+funcion) propia de la función rosenbrock
Definimos X
Definimos Y
Y Obtenemos Z
Todos son vectores
Las demás líneas del código de la función créatefigure.m son para la visulaizacion de
la imagen.
Aquí hay dos puntos de vista de la función de Rosenbrock en el disco unitario. El eje vertical
es log escala; en otras palabras, la gráfica muestra log(1+f(x)) Las curvas de nivel se encuentran
debajo de la superficie diagrama.
Donde el objetivo es encontrar para que valores en mínima la función , entonces podemos
decir que optimizamos la función.
fsolve .-Es una función que soluciona y resuelve problemas un problema especificado F(x)=0 ,
para un valor de X
ejemplo
function F = root2d (x)
F (1) = exp (-exp (- (x (1) + x (2)))) - x (2) * (1 + x (1) ^ 2);
F (2) = x (1) * cos (x (2)) + x (2) * sin (x (1)) - 0,5;
fun = @root2d;
x0 = [0,0];
x = fsolve(fun,x0)
Resultado:
x=
0 0.5671
Fminunc.- Es una función que resuelve problemas de dos dimensiones donde la entrada esta
constituida por [x,fval] = fminunc(@fun,x0); donde @fun es la función a evaluar , x0 es el valor
inicial ,la función evalua y resuelve el problema dando a la salida un valor de x que es la
solución y fval es el valor de x evaluado en la función o visto de otra manera un valor y.
Fminunc Hessian
Esta función está basada en la doble derivación y está asociada a los multiplicadores de
Lagrange.
Ctrbf
[Abar,Bbar,Cbar,T,k] = ctrbf(A,B,C)
ctrbf(A,B,C,tol)
Obsvf
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
obsvf(A,B,C,tol)
Definimos la función rosenbrock
function f = rosenbrock(x)
f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
Definimos la function
function [c, ceq] = unitdisk(x)
c = x(1)^2 + x(2)^2 - 1;
ceq = [ ];
Inplementamos en el optimtool:
Como podemos ver en las iteraciones de la tabla coverge en la iteración 19 , ara un valor mini de la
función rosembrock en la función unitydisk
0 3 1 -1