Решить нелинейное уравнение методом простой итерации - Turbo Pascal
Формулировка задачи:
Помогите, пожалуйста, решить уравнение и записать его код в паскале. Очень нужно
x^3+cos(8*x)=0
Три точности: E_1=0.00001, E_2=0.0000001, E_3=0.00000001
Решение задачи: «Решить нелинейное уравнение методом простой итерации»
textual
Листинг программы
uses crt; function F(x:real):real; begin F:=x*x*x+cos(8*x); end; procedure Iter(a,b,e:real); var i,n:longint; x1,x2,f1,f2:real; begin writeln('Точность=',e:0:8); if F(a)=0 then begin writeln('x=a=',a:0:4); readln; exit; end else if F(b)=0 then begin writeln('x=b=',b:0:4); readln; exit; end else if F(A)*F(B)>0 then WriteLn('Границы интервала заданы некорректно!') else begin n:=round((b-a)/e); x1:=a; f1:=F(x1); for i:=1 to n do begin x2:=x1+e; f2:=F(x2); if f1*f2 <= 0 then writeln('x = ', (x2 + x1)/2:0:8); x1:=x2; f1:=f2; end; end; end; var a,b:real; begin clrscr; a:=0.5; b:=0.6; Iter(a,b,0.00001); Iter(a,b,0.0000001); Iter(a,b,0.00000001); readln end.
Объяснение кода листинга программы
- В функции F(x) вычисляется значение нелинейного уравнения, заданного формулой xxx + cos(8*x).
- В процедуре Iter объявлены переменные i, n, x1, x2, f1, f2, которые будут использоваться для итерационного процесса.
- Выполняется проверка условия F(a)=0. Если это условие выполняется, то выводится сообщение о том, что точность задана неверно и точка пересечения с осью x равна a.
- Если F(b)=0, то выводится сообщение о том, что точность задана неверно и точка пересечения с осью x равна b.
- Если F(A)*F(B)>0, то выводится сообщение о том, что границы интервала заданы неверно.
- Иначе, выполняется итерационный процесс. Для каждой i от 1 до n (где n - округленное значение (b-a)/e) вычисляются значения x2, f2, используя формулу x2 = x1 + e и f2 = F(x2).
- Если f1*f2 <= 0, то выводится среднее значение x = (x2 + x1)/2.
- Значения x1 и f1 обновляются для следующей итерации, а значение f2 заменяется на f1.
- После завершения итерационного процесса выводится сообщение о том, что точность задана неверно.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д