Практичне заняття 6. Розв’язування нелінійних рівнянь у системі matlab
MATLAB-програма складена для дослідження областей збіжності до розв’язків ітераційного методу, який використовує MATLAB-функція fzero. Для цього багатократним розв’язуванням рівнянь за різних початкових умов треба знайти найбільший початковий відрізок, між кінцями якого є розв’язок.
%*************************************************************************
%*** Nonlinear equation resolution (bisection and interpolation) ***
%*************************************************************************
clear;
x=-4:0.05:4; f=parab(x); %f=sin(x); %f=tan(x);
plot(x,f); grid;
[x0, val, flag, output]=fzero('x.*x-1', [-10, 0.999]),
%[x0, val, flag, output]=fzero(@parab, [-0.999, 1e100]),
%[x0, val, flag, output]=fzero('sin(x)', [pi, pi*2]),
%[x0, val, flag, output]=fzero('tan(x)', [pi/2, pi]),
%**** Content of file parab.m *****************************************
%function y=parab(x); y=x.*x-1;
Після очищення робочої області пам’яті утворено вектори значень аргументу х та функції лівої частини нелінійного рівняння, за якими побудовано і виведено графік цієї функції. В тексті програми є три варіанти функції: х2-1; sin(x); tan(x).
Наступний оператор власне розв’язує нелінійне рівняння за допомогою MATLAB-функції fzero. Ця функція знаходить дійсний розв’язок за комбінованим методом: попереднє звуження відрізка пошуку за методом половинного ділення з подальшим лінійним або параболічним інтерполяційним методом.
Аргументами MATLAB-функції fzero є функція лівої частини рівняння і вектор з двох елементів, що вказує початковий відрізок пошуку.
Вивід результатів розв’язування в командне вікно MATLAB описано у лівій частині оператора. Це розв’язок x0, значення функції лівої частини рівняння val у точці x0, логічна змінна flag, рівна 1 при успішному результаті та -1 в протилежному випадку, а також вектор output, який містить деякі результати пошуку розв’язку. В тексті програми показані чотири варіанти застосування функції fzero.
Останні стрічки програми містять опис функції parab(x) в окремому файлі з іменем parab.m.
- Інститут підприємництва та перспективних технологій Матвійчук я.М. Методи та алгоритми обчислень на еом
- Передмова
- Розділ 1. Обчислювальний метод та обчислювальний алгоритм
- Практичне заняття 1. Обрахунок степеневого поліному в системі matlab
- Практичне заняття 2. Розв’язування систем лінійних рівнянь у системі matlab
- Лабораторна робота 2. Розв’язування систем лінійних рівнянь у системі matlab
- Практичне заняття 3. Інтерполяція та апроксимація функції Рунге в системі matlab
- Лабораторна робота 3. Інтерполяція та апроксимація функції Рунге в системі matlab
- Практичне заняття 4. Сплайн-інтерполяція та сплайн-апроксимація в системі matlab.
- Лабораторна робота 4. Сплайн-інтерполяція та сплайн-апроксимація в системі matlab.
- Практичне заняття 5. Обчислення означених інтегралів у системі matlab
- Практичне заняття 6. Розв’язування нелінійних рівнянь у системі matlab
- Лабораторна робота 6. Розв’язування нелінійних рівнянь у системі matlab
- Практичне заняття 7. Оптимізація функції однієї змінної у системі matlab
- Лабораторна робота 7. Оптимізація функції однієї змінної у системі matlab
- Практичне заняття 8. Розв’язування задачі лінійного програмуван ня в системі matlab
- Практичне заняття 9. Розв’язування системи Ван-дер-Поля в системі matlab.