Uploaded by Михаил Рыбаков

Численные методы

advertisement
Федеральное агентство связи
Ордена Трудового Красного Знамени федеральное государственное
бюджетное
образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
ЛАБОРАТОРНАЯ РАБОТА №1
«Методы решения нелинейных уравнений»
Выполнил: студент гр. БИК2003 Рыбаков М. А.
Проверил: Мацкевич. А.Г.
Москва 2022
Индивидуальное задание
17
ex – e-x – 2 = 0
2
1
Отделение корней
--> function s=fi(x)
> deff('y=f(x)','y=exp(x)-exp(-x)-2'); dy=numderivative(f, x); dy2=numderivative(f, x,2);
> s=[x,f(x),dy,dy2];
> end
--> p=zeros(6,4); x=0 : 0.2 : 1
--> for i=1:6
> p(i,:)=fi(x(i));
> end
--> p
0. -2.
2.
3.6268604
0.2 -1.597328 2.0401335 3.6996397
0.4 -1.1784953 2.1621447 3.9208986
0.6 -0.7266928 2.3709304 4.2995169
0.8 -0.223788 2.6748699 4.8506899
1. 0.3504024 3.0861613 5.5965381
На концах отрезка [0;1] у функции противоположные знаки, первая
производная монотонно убывает => на этом отрезке уравнение имеет один
корень.
// Сценарий для проведения расчета 3-х итераций по методу
//половинного деления
function ff=f(x) //левая часть уравнения
ff=exp(x)-exp(-x)-2;
endfunction
// Расчет 3-х итераций по методу половинного деления
disp('n
a
b
f(a)
f(b)
c=(a+b)/2 f(c)
b-a');
n=0; fa=f(a);fb=f(b);c=(a+b)/2; fc=f(c); z=[n,a,b,fa,fb,c,fc,b-a];
disp(z)
for n=1:3
if f(c)*f(a)<0 then b=c; else a=c; end
fa=f(a);fb=f(b);c=(a+b)/2; fc=f(c); z=[n,a,b,fa,fb,c,fc,b-a];
disp(z)
c=(a+b)/2;
end
После трех итераций приближение к корню x3= 5.9375
Оценим погрешность результата, полученного после трех итераций
lb3-a3l = 0.125
// Метод итераций
function ff=f(x) //левая часть уравнения
ff=exp(x)-exp(-x)-2;
endfunction
function ff=fi(x) //итерирующаяфункция
ff=log(1+sqrt(2));
endfunction
// Расчет 3-х итераций по методу итераций
disp(' n x f(x)')
n=0; x=1; fx=f(x); z=[n,x,fx];
disp(z)
for n=1:3
x=fi(x); fx=f(x); z=[n,x,fx]
disp(z)
end
Download