УРАВНЕНИЙ С ОДНОЙ ПЕРЕМЕННОЙ
Выполнил: Илдаркин С.С. Проверил: Андреев А.И.
Йошкар-Ола 2014г. Задача: 1. Решить уравнение деления. 1.Решение: 1)Создадим файл ildarkin_serega. sce, содержащий описание функции а) Запускаем программу scilab. в) Для того, чтобы заданная задача могла изобразить график заданной функции, создадим отдельным файлом функцию пользователя и запишем туда заданную функцию. 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. Решить уравнение
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е. Построим графики функций f 1, f 2:
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]: ![]() ![]() Из рисунков видно, что в промежутках [-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, что Тогда итерационная последовательность 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. Решить уравнение 3.Решение: 1. Создадим файл ildarkin_serega. sce содержащий описание функции![]() function y = ildarkin_serega (x) y =(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2; endfunction
2. Создадим файл Func3ildarkin_serega. sce, содержащий описание первой производной функции:
function y = Func3ildarkin_serega (x) y=(sin(x).*cos(x).*(-((sin(2*x)).^2)-2*((cos(x)).^4)+1))./((((cos(x)).^4)-0.5).^2)endfunction
3. Создадим файл Func4ildarkin_serega. sce (листинг 3.8), содержащий описание второй производной функции:
function y = Func4ildarkin_serega (x) y =((((cos(x)).^6).*(2-20*((sin(x)).^4)))+0.5*((sin(x)).^2)-2*((cos(x)).^10)-18*((sin(x)).^2)*((cos(x)).^8)+8*((sin(x)).^2)*((cos(x)).^4)+(-6*((sin(x)).^4)-0.5)*((cos(x)).^2))./((((cos(x)).^4)-0.5).^3) endfunction
4. Создадим файл Nutonildarkin_serega. sce, содержащий описание функции, возвращающей значение корня уравнения методом касательных.
function Nutonildarkin_serega (f, f1, f2, a, b, eps) if feval(a, f)*feval(a, f2)>0 x0= a; else x0= b; end x1=x0-feval(x0, f)/feval(x0, f1); k=1; while abs(x1-x0)> eps x0=x1; x1=x0-feval(x0, f)/feval(x0, f1); k=k+1; end x=x1 disp(x) disp(k) fx=feval(x1, f) disp(fx) endfunction
5. Вычислим значение корня уравнения: Nutonildarkin_serega (ildarkin_serega,Func3ildarkin_serega, Func4ildarkin_serega,-5.55,-4.45,0.001) Nutonildarkin_serega (ildarkin_serega,Func3ildarkin_serega, Func4ildarkin_serega,-4.0, -3.9, 0.001)
- 5.4977871 4. 1.849D-09
- 3.9269908 3. 0.0000002 Ответ: корень уравнения по методу хорд равен x1=- 5.4977871 и х2=- 3.9269908 с точностью 0,001 найден х1 на 4 шаге и х2 на 3 шаге. При этом значение невязки fx1=1.849D-09 и fx2=0.0000002.
Задача: 4. Решить уравнение
4.Решение: 1. Создадим файл ildarkin_serega.sce содержащий описание функции![]() function y = ildarkin_serega (x) y =(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2; endfunction 2. Создадим файл Func4ildarkin_serega.sce, содержащий описание второй производной функции:
function y = Func4ildarkin_serega (x) y =((((cos(x)).^6).*(2-20*((sin(x)).^4)))+0.5*((sin(x)).^2)-2*((cos(x)).^10)-18*((sin(x)).^2)*((cos(x)).^8)+8*((sin(x)).^2)*((cos(x)).^4)+(-6*((sin(x)).^4)-0.5)*((cos(x)).^2))./((((cos(x)).^4)-0.5).^3) endfunction
3. Создадим файл Hordildarkin_serega.sce, содержащий описание функции, возвращающей значение корня уравнения методом хорд.
function Hordildarkin_serega (f, f1, a, b, eps) if feval(a, f)*feval(a, f1)>0 xf= a; x0= b; else xf= b; x0= a; end x1=x0-feval(x0, f)*(x0-xf)/(feval(x0, f)-feval(xf, f)); k=1; while abs(x1-x0)> eps x0=x1; x1=x0-feval(x0, f)*(x0-xf)/(feval(x0, f)-feval(xf, f)); k=k+1; end x=x1 disp(x) disp(k) fx=feval(x1, f) disp(fx) endfunction
5. Вычислим значения корней уравнения: Hordildarkin_serega(ildarkin_serega,Func4ildarkin_serega,-5.55,-4.45,0.001) Hordildarkin_serega(ildarkin_serega,Func4ildarkin_serega,-4.0, -3.9, 0.001)
- 5.4974216
13.
- 0.0014592
- 3.9270392
4.
- 0.0001933
Ответ: корень уравнения по методу хорд равен x1=- 5.4974216 и х2=-3.9270392 с точностью 0,001 найден х1 на 13 шаге и х2 на 4 шаге. При этом значение невязки fx1= - 0.0014592 и fx2=- 0.0001933 . 5.Решение: Программа решения уравнения имеет вид:
deff('[f]=y(x)','f=(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2') x=fsolve(-5.5,y) x = - 5.4977871 deff('[f]=y(x)','f=(((sin(x)).^2)./(0.5-((cos(x)).^4)))-2') x=fsolve(-4.0,y) x = - 3.9269908 Ответ:- 5.4977871 и - 3.9269908. Контрольные вопросы:1. Что называется корнем уравнения? Корнями уравнения называются те значения неизвестных, при подстановке которых в уравнение получается верное числовое равенство.
2. Что значит решить уравнение? Решить уравнение - значит найти все его корни или установить, что их нет.
3. Каковы этапы решения уравнения с одной переменной? а). Избавьтесь от знаменателей (если они есть), умножив левую и правую части уравнения на НОК знаменателей. б). Раскройте все скобки (если они есть) в). Перенесите члены с переменными в одну часть уравнения, а остальные – в другую. г). Приведите подобные слагаемые в одной части и сложите числа в другой части уравнения. д). Решите получившееся уравнение ах=b. е). Запишите ответ
4. Какие существуют методы решения уравнения с одной переменной? а) метод половинного деления; б) метод простой итерации; в) метод Ньютона(метода касательных); г) метода хорд;
|