Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2013, 12:52   #1
UTPcat5e
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 2
По умолчанию матлаб, метод розенброка

народ, помогите с кодом на матлабе , не получается, а послезавтра уже экзамен(((.

function lekciyarozenbrok
z1=0; %приращение по первому вектору
z2=0; %приращение по второму вектору
eps=0.01;
h1=1;
d1=[1 0];
d2=[0 1];
x0=[2 2];
h = h1;
while (h > eps)
while (abs(h)>eps)
x1=x0+h.*d1; %точка используется для векторов
f0=f(x0(1,1),x0(1,2));
f1=f(x1(1,1),x1(1,2));
if(f1<=f0)
x0=x1;
z1=z1+h;
end
while((f1>f0) && (abs(h)>eps))
h=-h;
x1=x0+h.*d1;
f1=f(x1(1,1),x1(1,2));
if(f1>f0)
h=h/4;
else x0=x1;
z1=z1+h;
end
end
end
h=h1;
while(abs(h) > eps)
x1=x0+h.*d2; %точка используется для векторов
f0=f(x0(1,1),x0(1,2));
f1=f(x1(1,1),x1(1,2));
if(f1<=f0)
x0=x1;
z2=z2+h;
end
while((f1>f0) && (abs(h)>eps))
h=-h;
x1=x0+h.*d2;
f1=f(x1(1,1),x1(1,2));
if(f1>f0)
h=h/4;
else x0=x1;
z2=z2+h;
end
end
end
if((z1~=0) && (z2~=0))
a1=z1.*d1+z2.*d2;
a2=z2.*d2;
c2=a2-dot(a1,d1).*d1;
d1=a1./sqrt(a1(1,1)^2+a1(1,2)^2);
d2=c2./sqrt(c2(1,1).^2+c2(1,2).^2);
end
l = sqrt(z1^2+z2^2);
z1=0;
z2=0;
h=h1;
end
end

и отдельным .m файлом сама ф-ция

function f = f(x0,x1)

f = 10*(x1 - x0).^2 + (1 - x0).^2;

return

Последний раз редактировалось UTPcat5e; 20.06.2013 в 13:30.
UTPcat5e вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Прогонки (Алгоритм Томаса) в Матлаб (MatLab) Саша Дмитриева Помощь студентам 7 06.06.2015 13:50
матлаб Asia_Ver27 Помощь студентам 0 27.01.2013 13:48
Метод Розенброка с дискретным шагом Дмитрий Дёмин Паскаль, Turbo Pascal, PascalABC.NET 2 10.12.2012 11:34
МатЛаб Vampirius Фриланс 0 12.01.2012 20:10
матлаб 6669991 Помощь студентам 0 30.05.2011 13:05