Surfc(X,Y,M3); colormap gray

Рис. 4.3. Поверхность и карта линий уровня функции

Рис. 4.4. Поверхность и карта линий уровня функции

 

Рис. 4.5. Поверхность и карта линий уровня функции

Из рис. 4.3-4.5 видно, что при функция представляет собой параболоид вращения, при параболоид становится эллиптическим, «вытягиваясь» вдоль оси оХ (при - вдоль оси оY).

3. Создание файла Dx_F_L4.m, содержащего описание функции, возвращающей значения частной производной, по переменной x.

 

% листинг файла Dx_F_L4.m

function z=Dx_F_L4(x,y,mu)

N=length(x);

z=zeros(N);

i=1:N;

j=1:N;

for i=1:N

for j=1:N

z(i,j)=2*x(i);

End;

End;

 

4. Создание файла Dy_F_L4.m, содержащего описание функции, возвращающей значения частной производной, по переменной y.

 

% листинг файла Dy_F_L4.m

function z=Dy_F_L4(x,y,mu)

N=length(x);

z=zeros(N);

i=1:N;

j=1:N;

for i=1:N

for j=1:N

z(i,j)=2*mu*x(i);

End;

End;

 

5. Создание файла L_Grad.m, содержащего описание функции, возвращающей длину градиента функции f(x,y,m)

 

% листинг файла L_Grad.m

function z=L_Grad(x,y,mu)

N=length(x);

z=zeros(N);

for i=1:N

for j=1:N

z(i,j)=Dx_F_L4(x(i),y(j),mu).^2+Dy_F_L4(x(i),y(j),mu).^2;

z(i,j)=z(i,j).^0.5;

End;

End;

6. Создание файла S_x.m, содержащего описание функции, возвращающей значение проекции на ось oX нормированного единичного вектора, сонаправленного с вектором, направление которого противоположно направлению вектора градиента

 

% листинг файла S_x.m

function z=S_x(x,y,mu);

N=length(x);

z=zeros(N);

i=1:N;

j=1:N;

for i=1:N

for j=1:N

z(i,j)=-Dx_F_L4(x(i),y(j),mu)./L_Grad(x(i),y(j),mu);

End;

End;

7. Создание файла S_y.m, содержащего описание функции, возвращающей значение проекции на ось oY нормированного единичного вектора, сонаправленного с вектором, направление которого противоположно направлению вектора градиента

 

% листинг файла S_y.m

function z=S_y(x,y,mu);

N=length(x);

z=zeros(N);

for i=1:N

for j=1:N

z(i,j)=-Dy_F_L4(x(i),y(j),mu)./L_Grad(x(i),y(j),mu);

End;

End;

 

8. Создание файла Lambda.m, содержащего описание функции, возвращающей значение шага

% листинг файла Lambda.m

function z=Lambda(x,y,nu,alpha,beta,gamma,lambda0);

z=alpha*lambda0/(beta+gamma*nu);

 

9. Создание файла MG.m, содержащего описание функции, возвращающей значения переменных x,y и соответствующее значение функции f(x,y,m) на каждом шаге итерационного процесса

 

% листинг файла MG.m

function [X,Y,ff]=MG(x0,y0,mu,nu,alpha,beta,gamma,lambda0)

X(1)=x0;

Y(1)=y0;

ff(1)=F_L4(x0,y0,mu);

for i=2:nu

X(i)=X(i-1)+Lambda(X(i-1),Y(i-1),nu,alpha,beta,gamma,…

lambda0)*s_x(X(i-1),Y(i-1),mu);

Y(i)=Y(i-1)+Lambda(X(i-1),Y(i-1),nu,alpha,beta,gamma,…

ambda0)*s_y(X(i-1),Y(i-1),mu);

ff(i)=F_L4(X(i),Y(i),mu);

end;

10. Нахождение минимума функции f(x,y,m) и визуализация итерационного процесса

Vmax=20; % максимальное число шагов итерационного процесса

x0=2; y0=-1; % начальное приближение

lambda0=0.3; % начальное значение шага к экстремуму

beta=1; alpha=1; gamma=1;% параметры, используемые для

% определения шага

mu=1;nu=20;

[X,Y,ff]=MG(x0,y0,mu,nu,alpha,beta,gamma,lambda0);








Дата добавления: 2015-08-21; просмотров: 656;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.