Поиск
Алексей
#
2 апр 2007
|
Здравствуйте, Ольга Александровна
Экономисты валятся, надежда только на вас, дали программу нам, нужно ее дописать, а именно, добавить туда метод Ньютона, мы понятия не имеем, как это сделать.
x0 = input ('Введите начальное приближение x0: ');
esp = input ('Введите точность eps: ');
kmax = input ('Введите максимальное количество итераций: ');
k = 0;
g = grad(x0);
normg = norm(g, 'fro');
x = x0;
while k < kmax & normg > eps
f0 = funk(x0);
alfa = 1;
x=x0-alfa*g;
f=funk(x);
while (f-f0) > - (alfa*normg^2)/2
alfa=alfa/2;
x=x0-alfa*g;
f=funk(x);
end
x0=x;
g=grad(x0);
normg=norm(g, 'fro');
k=k+1;
end
disp('Нажмите любую клавишу')
pause
disp('Решение задачи: ')
k
x
f=funk(x)
normg
и два m-файла:
1. function g = grad(x)
g(1) = -400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));
g(2) = 200*(x(2)-x(1)^2);
2. function f=funk(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;
Если есть возможность помочь, то будем безумно благодарны.
С уважением, Алексей
|
О.А.
#
3 апр 2007
|
Здравствуйте, Алексей! Спасибо за положительное мнение о моих программистских способностях, только я никогда не программировала в matlab, а разбираться с этим у меня сейчас нет времени к сожалению.
|
Алексей
#
11 апр 2007
|
Спасибо ))) С ситуацией разобрались сами!
|
Ваш ответ:
|
|
Чтобы написать сообщение, необходимо войти или зарегистрироваться