Отвечает F®ost, Советник :
Здравствуйте, coopybook1204. Простую итерацию я представляю себе так:
Код:
program ITERAT; uses crt; const max_iter=100;
var i :integer; x,x0,eps,M :real;
function F(x:real):real; begin F:=5*x*x-exp(1-x)-4; end;
begin clrscr;
write('Введите приближенное значение x='); readln(x); write('Введите точность вычислений eps='); readln(eps); i:=0; repeat x0:=x; x:=x0+F(x0); inc(i); writeln('--- Итерация ',i:3,' x=',x); writeln('F(x)=',F(x),' точность=',abs(x-x0)); until (abs(x-x0)<=eps)or(i>max_iter); if (abs(x-x0)<=eps) then writeln('Ответ: X=',x) else writeln(
39;Ответ не найден! За ',max_iter:0,' шагов итерация не сошлась.');
end.
А решение линейных уровнений методом Зейделя:
Код:
program ZEIDEL;
var m:real; i,j:integer; x,c:array[1..4] of real; a:array[1..4,1..5] of real; b:boolean;
begin
a[1,1]:=-0.95; a[1,2]:=-0.06; a[1,3]:=-0.12; a[1,4]:=0.14; a[1,5]:=2.17; a[2,1]:=0.04; a[2,2]:=-1.12; a[2,3]:=0.08; a[2,4]:=0.11; a[2,5]:=-1.4; a[3,1]:=0.34; a[3,2]:=-0.08; a[3,3]:=-1.06; a[3,4]:=0.14; a[3,5]:=2.1; a[4,1]:=0.11; a[4,2]:=0.12; a[4,3]:=0; a[4,4]:=-1.03; a[4,5]:=0.8; c[1]:=2.17; c[2]:=-1.4; c[3]:=2.1; c[4]:=0.8; repeat for i:=1 to 4 do begin m:=0; for j:=1 to 4 do m:=m+
a[i,j]*c[j]; x[i]:=c[i]+(m-a[i,5]) end; b:=true; for j:=1 to 4 do begin b:=b and (abs(x[j]-c[j])<0.0001); c[j]:=x[j] end until b; for j:=1 to 4 do writeln(x[j])
end.
----- От вопроса к ответу, от проблемы к решению
Ответ отправил: F®ost, Советник
Ответ отправлен: 24.01.2010, 12:09
Номер ответа: 258902 Беларусь, Минск Тел.: 375292792018 Организация: Минский Промтранспроект Адрес: ул. В.Хоружей, 13, г. Минск, Беларусь Адрес сайта:http://www.mptp.by
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 258902
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.