Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мат задачи курсовик часть 4 ГОТОВО.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
734.21 Кб
Скачать
    1. Решение нелинейных алгебраических уравнений в системе matlab

В начале отделим корни нелинейного алгебраического уравнения. Пусть нелинейное алгебраическое уравнение имеет вид

В 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

40

-9,5

35

-9

31

-8,5

27

-8

23

-7,5

20

-7

17

-6,5

14

-6

11

-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

-1

0,9

-0,5

0,6

0

0

0,5

0,9

1

2

1,5

3,4

2

5,1

2,5

7

3

9,3

3,5

12

4

15

4,5

18

5

21

5,5

25

6

28

6,5

33

7

37

7,5

42

8

47

8,5

52

9

57

9,5

63

10

69

Из таблицы видно, что условие выполняется на промежутке [-1;10]

Будем уточнять корень на отрезке [-1;10]

-1

0,9090909

-2,5

-0,5

0,5909091

-1,875

0

0

0

0,5

-0,863636

3,875

1

-2

10,5

1,5

-3,409091

20,625

2

-5,090909

35

2,5

-7,045455

54,375

3

-9,272727

79,5

3,5

-11,77273

111,125

4

-14,54545

150

4,5

-17,59091

196,875

5

-20,90909

252,5

5,5

-24,5

317,625

6

-28,36364

393

6,5

-32,5

479,375

7

-36,90909

577,5

7,5

-41,59091

688,125

8

-46,54545

812

8,5

-51,77273

949,875

9

-57,27273

1102,5

9,5

-63,04545

1270,625

10

-69,09091

1455

На шаге 3 выполняется условие выхода из итерационного процесса

Отсюда следует, что х=0

Исследование графика в системе MATLAB

Создаем M-file и далее в командной строке вводим набор команд:

В результате получаем график, на котором отчетливо видно пересечение графика функции в т. [0;0]

Таким образом ответ: X=0

Ответы, полученные в разных методах:

  1. Метод деления отрезка пополам – х=0

  2. Метод Ньютона – х=0

  3. Метод простой итерации – х=0

  4. Расчет в системе MATLAB – х=0