![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В начале отделим корни нелинейного алгебраического уравнения. Пусть нелинейное алгебраическое уравнение имеет вид
В MATLAB рекомендуется строить график функции f(x) для приближенного определения корней и интервалов, в пределах которых они находятся. Создается m- файл для исследуемой функции
%Функция, корни которой ищутся
function f=funl(x)
f=x.^3-3.5*x.^2+5.5*x+4
Далее в командном окне набирается последовательность команд
>> x=-1:0.1:1;
>> plot(x,funl(x)); grid on;
В результате выполнения этого набора команд появляется график исследуемой функции (рис. 6).
Рис. 6
Из графика видно, что перемена знака функции происходит на отрезке
. Этот отрезок является интервалом отделения корня.
Одним из возможных путей приближенного нахождения корня является построение графика функции с небольшим значением шага - шага изменения аргумента
по оси абсцисс.
>> x=-1:0.01:1;
>> plot(x,funl(x)); grid on;
Рис. 7
Из графика функции (рис. 7)видно, что приближенное значение корня
.
Для решения систем нелинейных уравнений следует также использовать функцию solve из пакета Symbolic Math Toolbox. Эта функция способна выдавать результат в символьной форме, а если такого нет, то она позволяет получить решение в численном виде. Для нелинейного алгебраического уравнения решение с помощью функции solve получается следующим образом:
>> solve('x^3-3.5*x^2+5.5*x+4')
ans =
-0.5253
1.88779*i + 2.01265
2.0126 5 - 1.88779*i
Как видно из приведенного фрагмента данное уравнение третьего порядка имеет три корня: один действительный и два комплексно-сопряженных корня, функция solve легко их находить.
Расчетная часть
Для наглядности построим график:
Нахождение корней методом деления отрезка пополам:
Примерно корни находится на интервале [-10;10]
Найдем значения в данных точках:
Середина отрезка т.0, найдем значение в этой точке:
Корень уравнения -
Нахождение корней по методу Ньютона:
В качестве начального приближения выберем середину отрезка т.0
Можно закончить расчет
x=0
Нахождение корней по методу простой итерации:
Оставим 5.5x в левой части
Разделим обе части на 5.5
Приведем к виду :
Рассмотрим изменения функции на отрезке [-10:10]
-10 | |
-9,5 | |
-9 | |
-8,5 | |
-8 | |
-7,5 | |
-7 | |
-6,5 | |
-6 | |
-5,5 | 8,5 |
-5 | 6,4 |
-4,5 | 4,5 |
-4 | 2,9 |
-3,5 | 1,6 |
-3 | 0,5 |
-2,5 | 0,2 |
-2 | 0,7 |
-1,5 | |
-1 | 0,9 |
-0,5 | 0,6 |
0,5 | 0,9 |
1,5 | 3,4 |
5,1 | |
2,5 | |
9,3 | |
3,5 | |
4,5 | |
5,5 | |
6,5 | |
7,5 | |
8,5 | |
9,5 | |
Из таблицы видно, что условие выполняется на промежутке [-1;10]
Будем уточнять корень на отрезке [-1;10]
![]() | ![]() | ![]() |
-1 | 0,9090909 | -2,5 |
-0,5 | 0,5909091 | -1,875 |
0,5 | -0,863636 | 3,875 |
-2 | 10,5 | |
1,5 | -3,409091 | 20,625 |
-5,090909 | ||
2,5 | -7,045455 | 54,375 |
-9,272727 | 79,5 | |
3,5 | -11,77273 | 111,125 |
-14,54545 | ||
4,5 | -17,59091 | 196,875 |
-20,90909 | 252,5 | |
5,5 | -24,5 | 317,625 |
-28,36364 | ||
6,5 | -32,5 | 479,375 |
-36,90909 | 577,5 | |
7,5 | -41,59091 | 688,125 |
-46,54545 | ||
8,5 | -51,77273 | 949,875 |
-57,27273 | 1102,5 | |
9,5 | -63,04545 | 1270,625 |
-69,09091 |
На шаге 3 выполняется условие выхода из итерационного процесса
Отсюда следует, что х=0
Дата публикования: 2015-03-26; Прочитано: 3097 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!