Компания ALT Linux
Опубликован: 12.03.2015 | Доступ: свободный | Студентов: 489 / 21 | Длительность: 20:55:00
Лекция 7:

Нелинейные уравнения и системы

Аннотация: Рассмотрены графические методы решения уравнений с заданной точностью.

В общем случае аналитическое решение уравнения f (x) = 0 можно найти только для узкого класса функций. Чаще всего приходится решать это уравнение численными методами. Численное решение уравнения проводят в два этапа. На первом этапе отделяют корни уравнения, т.е. находят достаточно тесные промежутки, в которых содержится только один корень. Эти промежутки называют интервалами изоляции корня. Определить интервалы изоляции корня можно, например, изобразив график функции. Идея графического метода основана на том, что непрерывная функция f (x) имеет на интервале [a, b] хотя бы один корень, если она поменяла на этом интервале знак: f (a) \cdot f (b) < 0. Границы интервала a и b называют пределами интервала изоляции1Графический метод весьма приблизителен, отделить корни для функции f(x)=xsin \left (\frac{1}{x}\right), при x \not = 0 и f (x) = 0 при x =0 ни на каком интервале, содержащем нуль (x = 0) таким способом не удастся. (Прим. редактора).. На втором этапе проводят уточнение отделённых корней, т.е. находят корни с заданной точностью.

7.1 Решение алгебраических уравнений

Любое уравнение P (x) = 0, где P (x) это многочлен (полином), отличный от нулевого, называется алгебраическим уравнением относительно переменной x. Всякое алгебраическое уравнение относительно x можно записать в виде

a_0+a_1x+a_2x^2+\cdots+a_nx^n=0, где a_0 \not=0, n\ge 1

a_iкоэффициенты алгебраического уравнения n–й степени. Например, линейное уравнение это алгебраическое уравнение первой степени, квадратное — второй, кубическое — третьей и так далее.

В Octave определить алгебраическое уравнение можно в виде вектора его коэффициентов p={a_n,a_{n-1},...,a_1,a_0}. Например, полином 2x^5+3x^3-1=0 задаётся вектором:

	
>>> p =[2,0,3,0, -1]
p = 2 0 3 0 -1

Рассмотрим функции, предназначенные для действий над многочленами.

Произведение двух многочленов вычисляет функция q =conv(p1, p2), где p1многочлен степени n, p2многочлен степени m. Функция формирует вектор q, соответствующий коэффициентам многочлена степени n + m, полученного в результате умножения p1 на p2.

Пример 7.1. Определить многочлен, который получится в результате умножения выражений 3x^4-7x^2+5 и x^3+2x-1.

Как видно из листинга 7.1 в результате имеем: (3x^4-7x^2+5)(x^3+2x-1)=3x^7-x^5-3x^4-9x^3+7x^2+10x-5.

	
>>> p1=[3 0 -7 0 5];
>>> p2=[1 0 2 -1];
>>> p=conv (p2, p1)
p = 3 0 -1 -3 -9 7 10 -5
Листинг 7.1. Умножение многочленов (пример 7.1).

Частное и остаток от деления двух многочленов находит функция [q, r] = deconv(p1, p2), здесь, p1многочлен степени n,\ p2многочлен степени m. Функция формирует вектор qкоэффициенты многочлена, который получается в результате деления p1 на p2 и вектор rкоэффициенты многочлена, который является остатком от деления p1 на p2.

Пример 7.2. Найти частное и остаток от деления многочлена x^6-x^5+3x^4-8x^2+x-10 на многочлен x_3+x-1=0.

В результате имеем (см. листинг 7.2):

\frac{x^6-x^5+3x^4-8x^2+x-10}{x^3+x-1}=x^3-x^2+2x+2+\frac{1}{-11x^2+x-8}.
	
>>> p1=[1 -1 3 0 -8 1 -10];
>>> p2=[1 0 1 -1];
>>> [q, r]=deconv(p1, p2)
q = 1 -1 2 2
r = 0 0 0 0 -11 1 -8
Листинг 7.2. Деление многочленов (пример 7.2).

Выполнить разложение частного двух многочленов, представляющих собой правильную дробь на простейшие рациональные дроби вида

\frac{P_1(x)}{P_2(x)}=\sum\limits_{j=1}^M \frac{a_j}{(x-b_j)^{k^j}}+\sum \limits_{i=1}^Nc_ix^{N_-i}

можно с помощью функции [a, b, c, k] = residue(p1, p2), где p1многочлен степени n (числитель), p2многочлен степени m (знаменатель), причём n < m.

В результате работы функция формирует четыре вектора: aвектор коэффициентов, расположенных в числителях простейших дробей, bвектор коэффициентов, расположенных в знаменателях простейших дробей, kвектор степеней знаменателей простейших дробей (кратность), cвектор коэффициентов остаточного члена.

Пример 7.3. Разложить выражение \frac{x^3+1}{x^4-3x^3+3x^2-x} на простейшие дроби.

Проанализировав листинг 7.3 запишем решение:

\frac{x^3+1}{x^4-3x^3+3x^2-x}=\frac{2}{x-1}+\frac{1}{(x-1)^2}+\frac{2}{(x-1)^3}+\frac{-1}{x}.

Значение вектора c =[](0 \times0) говорит об отсутствии остаточного члена.

	
>>> p1=[1 0 0 1 ];
>>> p2=[1 -3 3 -1 0];
>>> [a, b, c, k]= residue (p1, p2)
a =
	2.00000
	1.00000
	2.00000
	-1.00000
b =
	1.00000
	1.00000
	1.00000
	0.00000
	c = [ ] ( 0 x0 )
k =
	1
	2
	3
	1
Листинг 7.3. Разложение на простейшие дроби (пример 7.3).
Алексей Игнатьев
Алексей Игнатьев

Возможна ли разработка приложения на Octave с GUI?

Евгений Ветчанин
Евгений Ветчанин

Добрый день. Я самостоятельно изучил курс "Введение в Octave" и хочу получить сертификат. Что нужно сднлать для этого? Нужно ли записаться на персональное обучение с тьютором или достаточно перевести деньги?

Владимир Юшанцев
Владимир Юшанцев
Россия