Показать сообщение отдельно
Старый 07.10.2012, 19:28   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ayPinki Посмотреть сообщение
Решить систему методом Ньютона с точностью e= 0,00001.
или дайте хотя бы пример такой же задачи с комментариями, я сам переделаю.
Название: Stm_1.jpg
Просмотров: 3443

Размер: 73.4 Кб Название: Stm_2.jpg
Просмотров: 2241

Размер: 25.0 Кб
Теперь сама программа:
Код:
Const
 e=0.00001;

Var
 x_old, x_new, y, z:real;

Function Fun_1(x:real):real;
begin
 Fun_1:=Sin(x-Sqrt(1-Sqr(x)))-1.5*x;
end;

Function Fun_2(x:real):real;
begin
 Fun_2:=Sin(x+Sqrt(1-Sqr(x)))-1.5*x;
end;

Function Der_1(x:real):real;
begin
 Der_1:=Cos(x-Sqrt(1-Sqr(x)))*(1+x/Sqrt(1-Sqr(x)))-1.5;
end;

Function Der_2(x:real):real;
begin
 Der_2:=Cos(x+Sqrt(1-Sqr(x)))*(1-x/Sqrt(1-Sqr(x)))-1.5;
end;

Begin    
 x_old:=-0.6;
 Repeat
  z:=x_old;
  x_new:=x_old-Fun_1(x_old)/Der_1(x_old);
  x_old:=x_new;
 Until Abs(x_old-z)<e;
 y:=-Sqrt(1-Sqr(x_old));
 Writeln('x1= ',x_old:0:5);
 Writeln('y1= ',y:0:5);
 Writeln('Sin(x1+y1)= ',Sin(x_old+y):0:5);
 Writeln('1.5*x1= ',1.5*x_old:0:5);
 Writeln;
 x_old:=0.6;
 Repeat
  z:=x_old;
  x_new:=x_old-Fun_2(x_old)/Der_2(x_old);
  x_old:=x_new;
 Until Abs(x_old-z)<e;
 y:=Sqrt(1-Sqr(x_old));
 Writeln('x2= ',x_old:0:5);
 Writeln('y2= ',y:0:5);
 Writeln('Sin(x2+y2)= ',Sin(x_old+y):0:5);
 Writeln('1.5*x2= ',1.5*x_old:0:5);
 Readln;
End.
И результат:
Название: Stm_3.jpg
Просмотров: 1540

Размер: 12.5 Кб
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070