- •Отчет по лабораторной работе №3 определение корней уравнений с одной переменной
- •1.Решение:
- •2.Решение:
- •1. Создадим файл ildarkin_serega.Sce, содержащий описание функции
- •3.Решение:
- •4.Решение:
- •5. Вычислим значения корней уравнения:
- •5.Решение:
- •1. Что называется корнем уравнения?
- •2. Что значит решить уравнение?
- •3. Каковы этапы решения уравнения с одной переменной?
- •4. Какие существуют методы решения уравнения с одной переменной?
- •5. Суть метода половинного деления.
- •6. Суть метода хорд. Графическая интерпретация метода.
- •7. Суть метода касательных. Графическая интерпретация метода.
- •8. Суть метода итерации.
- •11. Записать формулу нахождения значений последовательности при решении уравнения методом: хорд, касательных.
- •12. Как строится итерационная последовательность точек при решении уравнения методом простой итерации?
МАРИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра физики и методики обучения физике
Отчет по лабораторной работе №3 определение корней уравнений с одной переменной
Выполнил: Илдаркин С.С.
Проверил: Андреев А.И.
Йошкар-Ола
2014г.
Задача:
1. Решить уравнение
методом половинного
деления.
1.Решение:
1)Создадим файл ildarkin_serega.sce, содержащий описание функции .
а) Запускаем программу scilab. б) Вызываем окно редактора путем нажатия кнопки откроем SciNotes( создаем пустой файл с расширением .sce)
в) Для того, чтобы заданная задача могла изобразить график заданной функции, создадим отдельным файлом функцию пользователя и запишем туда заданную функцию. Функцию пользователя выглядит следующим образом:
function y=ildarkin_serega(x)
y=(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2;
endfunction
2) Создадим файл Div2ildarkin_serega.sce, содержащий описание функции, возвращающей значение корня уравнения методом половинного деления.
function Div2ildarkin_serega(f, x1, x2, eps)
L=x2-x1;
k=0;
while L>eps
c=(x2+x1)/2;
k=k+1;
if feval(c,f)*feval(x1,f)<0
x2=c;
else
x1=c;
end
L=x2-x1;
end
x=c
disp(x)
disp(k)
fx=feval(c,f)
disp(fx)
endfunction
(предварительно выполнив функции пользователя (загнав в память))
3. Вычислим значения корней уравнения
Div2ildarkin_serega(ildarkin_serega,-5.55,-4.45,0.001)
Div2ildarkin_serega(ildarkin_serega, -4.0, -3.9, 0.001)
- 5.4979004
11.
0.0004533
- 3.9273437
7.
- 0.0014087
Ответ: решение х1=- 5.4978516 и х2=- 3.9273437 мы получили с точностью 0,001 х1 - за 11 итераций и х2 - за 7 итераций. При этом значение невязки fx1 = 0.0018911 и fx2 = - 0.0014087 .
.
Задача: 1. Решить уравнение методом итераций с точностью 0,001(промежуток изоляции корня [-5.5,-5.45]и[-4.0,-3.9] ).
2.Решение:
1. Создадим файл ildarkin_serega.Sce, содержащий описание функции
function y=ildarkin_serega(x)
y=(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2;
endfunction
2. Создадим файл Func1ildarkin_serega.sce,
содержащий описание функции
.
function y =Func1ildarkin_serega(x, m, f)
y =x-m*feval(x,f)
endfunction
3. Создадим файл Func2ildarkin_serega.sce, содержащий описание производной функции f1:
.
function y=Func2ildarkin_serega(x, m, f)
dx=10^-7;
x1=x+dx;
tmp1=x-m*feval(x,f);
tmp2=x1-m*feval(x1,f);
y=abs((tmp2-tmp1)/dx);
endfunction
В этой же функции напишем вызов функций Func1ildarkin_serega.scе и Func2ildarkin_serega.scе. Построим графики функций f1, f2 :
x1=-5.55:0.001:-5.45;
m1=-0.1; // m<0, т.к. производная функции промежутке xϵ[-5.5,-5.45] меньше 0
plot(x1,Func1ildarkin_serega(x1,m1,ildarkin_serega));
plot(x1,Func2ildarkin_serega(x1,m1,ildarkin_serega),'--');
x2=-4.0:0.001:-3.9;
m2=0.1; // m>0, т.к. производная функции промежутке xϵ[-4.0,-3.9] больше 0
plot(x2,Func1ildarkin_serega(x2,m2,ildarkin_serega));
plot(x2,Func2ildarkin_serega(x2,m2,ildarkin_serega),'--');
графики функций f1, f2 на промежутке xϵ [-5.5,-5.45]:
графики функций f1, f2 на промежутке xϵ [-4.0,-3.9]:
Из рисунков видно, что в промежутках [-5.5,-5.45] и [-4.0,-3.9] функция удовлетворяет условиям теоремы:
Пусть уравнение x = f(x) имеет единственный корень на отрезке [a; b] и выполнены условия:
1. f(x) определена и дифференцируема на [a; b].
2. f(x) [a; b] для всех х[a; b].
3. Существует такое действительное q,
что
для всех х[a;
b].
Тогда итерационная последовательность xn = f(xn-1) (n=1, 2, …) сходится при любом начальном приближении х0[a; b].
5. Создадим файл Iterildarkin_serega.sce, содержащий описание функции, возвращающей значение корня уравнения методом итераций.
function Iterildarkin_serega(f, x0, eps, m)
x1=Func1ildarkin_serega(x0,m,f);
k=1;
while abs(x1-x0)>eps
x0=x1;
x1=Func1ildarkin_serega(x0,m,f);
k=k+1;
end
x=x1
disp(x)
disp(k)
fx=feval(x1,f)
disp(fx)
endfunction
6. Вычислим значение корня уравнения:
Iterildarkin_serega(ildarkin_serega,-5.55,0.001,-0.1)
Iterildarkin_serega(ildarkin_serega,-4.0,0.001,0.1)
- 5.4992111
6.
0.0057447
- 3.9284968
9.
- 0.0059700
Ответ: решением уравнения будет число х1= - 5.4992111 и х2=- 3.9284968, полученное х1 на 6 шаге и х2 на 9 шаге. Значение невязки fx1=0.0057447 и fx2=- 0.0059700.
Задача: 3. Решить уравнение методом касательных.
