36869

Решение нелинейных уравнений и систем

Лабораторная работа

Математика и математический анализ

Всякое алгебраическое уравнение относительно x можно записать в виде 0xn1xn−1 n−1xn = 0 где 0 0 n 1 и i коэффициенты алгебраического уравнения n–й степени. Решение алгебраического уравнения в Scilb состоит из двух этапов. Примеры символьных операций с полиномами p1=poly[1 2]’x’’c’ p1 = 1 2x p2=poly[3 7 2]’x’’c’ p2 = 2 3 7x 2x p1p2 Сложение ns = 2 2 5x 2x p1p2 Вычитание ns = 2 4 9x 2x p1p2 Умножение ns = 2 3 3 13x 16x 4x p1 p2 Деление ns = 1 3 x p1^2 Возведение в...

Русский

2013-09-23

120.5 KB

10 чел.

Лабораторная работа № 7

Решение нелинейных уравнений и систем

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

Всякое алгебраическое уравнение относительно x можно записать в виде a0xn+a1xn−1+· · ·+an−1x+an = 0,

где a0 <> 0, n > 1 и ai - коэффициенты алгебраического уравнения n–й степени.

Решение алгебраического уравнения в Scilab состоит из двух этапов.

1. Необходимо задать полином P(x) с помощью функции poly.

2. Найти его корни, применив функцию roots.

Определение полиномов в Scilab осуществляет функция poly(a, "x ["fl"]), где a - это число или матрица чисел, x - символьная переменная, fl - необязательная символьная переменная, определяющая способ задания полинома. Символьная переменная fl может принимать только два значения – «roots» или «coeff» (соответственно «r» или «c»).

Если fl=c, то будет сформирован полином с коэффициентами, хранящимися в параметре a.

Если же fl=r, то значения параметра a воспринимаются функцией как корни, для которых необходимо рассчитать коэффициенты соответствующего полинома.

По умолчанию fl=r.

Следующий пример отражает создание полинома p, имеющего в качестве корня тройку, и полинома f с коэффициентом 3.

Листинг 7.1. Полиномы первой степени

-->p=poly(3,’x’,’r’);

-->f=poly(3,’x’,’c’);

-->p

p =

- 3 + x

-->f

f =

3

Далее приведены примеры создания более сложных полиномов.

Листинг 7.2. Использование функции poly

-->//Полином с корнями 1, 0 и 2

-->poly([1 0 2],’x’)

ans =

2 3

2x - 3x + x

-->//Полином с коэффициентами 1, 0 и 2

-->poly([1 0 2],’x’,’c’)

ans =

2

1 + 2x

Рассмотрим примеры символьных операций с полиномами:

Листинг 7.3. Примеры символьных операций с полиномами

-->p1=poly([-1 2],’x’,’c’)

p1 =

- 1 + 2x

-->p2=poly([3 -7 2],’x’,’c’)

p2 =

2

3 - 7x + 2x

-->p1+p2 //Сложение

ans =

2

2 - 5x + 2x

-->p1-p2 //Вычитание

ans =

2

4 + 9x - 2x

-->p1*p2 //Умножение

ans =

2 3

- 3 + 13x - 16x + 4x

-->p1/p2 //Деление

ans =

1

-----

- 3 + x

-->p1^2 //Возведение в степень

ans =

2

1 - 4x + 4x

-->p2^(-1) //Возведение в отрицательную степень

ans =

1

-----------

2

3 - 7x + 2x

Функция roots(p) предназначена для решения алгебраического уравнения.

Здесь p - это полином, созданный функцией poly и представляющий собой левую часть уравнения P(x) = 0.

Решим несколько алгебраических уравнений.

Задача 7.1. Найти корни полинома 2x4 − 8x3 + 8x2 − 1 = 0.

Для решения этой задачи необходимо задать полином p. Сделаем это при помощи функции poly, предварительно определив вектор коэффициентов V . В уравнении отсутствует переменная x в первой степени, это означает, что соответствующий коэффициент равен нулю:

Листинг 7.4. Формирование полинома

-->V=[-1 0 8 -8 2];

-->p=poly(V,’x’,’c’)

p =

1 + 8x2 - 8x 3+ 2x4

Теперь найдем корни полинома:

Листинг 7.5. Использование функции roots

-->X=roots(p)

X =

! 0.4588039 !

! - 0.3065630 !

! 1.5411961 !

! 2.306563 !

Графическое решение задачи позволяет убедиться, что корни найдены верно.

Пересечение графиков функций F(x)= 1 + 8x2 - 8x 3+ 2x4 и g(x)=0

Задача 7.2. Найти корни полинома x3 + 0.4x2 + 0.6x − 1 = 0.

Листинг 7.6. Решение задачи 7.2

-->roots(poly([-1 0.6 0.4 1],’x’,’c’))

ans =

! 0.7153636 !

! - 0.5576818 + 1.0425361i !

! - 0.5576818 - 1.0425361i !

Нетрудно заметить, что полином имеет один действительный и два комплексных корня.

Задача 7.3. Найти решение уравнения y(x) = 0, если y(x) = x4 − 18x2 + 6.

Листинг 7.7. Решение задачи 7.3

-->x=poly(0,’x’);

-->y=x^4-18*x^2+.6;

-->roots(y)

ans =

! 0.1827438 !

! - 0.1827438 !

! - 4.2387032 !

! 4.2387032 !

Приведите графическое решение данного уравнения.

Трансцендентные уравнения

Уравнение f(x) = 0, в котором неизвестное входит в аргумент трансцендентных функций, называется трансцендентным уравнением.

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

В общем случае аналитическое решение уравнения f(x) = 0 можно найти только для узкого класса функций. Чаще всего приходится решать это уравнение численными методами.

Численное решение нелинейного уравнения проводят в два этапа.

  1.  В начале отделяют корни уравнения, т.е. находят достаточно тесные промежутки, в которых содержится только один корень. Эти промежутки называют интервалами изоляции корня, определить их можно, изобразив график функции f(x) или любым другим методом.
  2.  На втором этапе проводят уточнение отделенных корней, или, иначе говоря, находят корни с заданной точностью.

Для решения трансцендентных уравнений в Scilab применяют функцию

fsolve(x0,f)

где x0 - начальное приближение, f - функция, описывающая левую часть уравнения y(x) = 0.

Рассмотрим применение этой функции на примерах.

Задача 7.4. Найти решение уравнения

Определим интервал изоляции корня заданного уравнения. Воспользуемся графическим методом отделения корней. Если выражение, стоящее в правой части уравнения, представить в виде разности двух функций f(x) − g(x) = 0, то абсцисса точки пересечения линий f(x) и g(x) - корень данного уравнения. В нашем случае .

Корень данного уравнения лежит в интервале [0; 1].

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

Листинг 7.8. Решение задачи 7.4

-->deff(’[y]=f1(x)’,’y1=((x-1)^2)^(1/3),y2=(x^2)^(1/3),y=y1-y2’)

-->fsolve(0,f1)

ans = 0.5

Задача 7.5. Найти корни уравнения f(x) = ex/5 − 2(x − 1)2.

На рисунке видно, что график функции f(x) трижды пересекает ось абсцисс, т.е. уравнение имеет три корня.

Последовательно вызывая функцию fsolve с различными начальными приближениями, получим все решения заданного уравнения:

Листинг 7.9. Решение задачи 7.5

-->deff(’[y]=f(x)’,’y=exp(x)/5-2*(x-1)^2’)

-->x(1)=fsolve(0,f);x(2)=fsolve(2,f);x(3)=fsolve(5,f);

-->x

x = ! 0.5778406 !

! 1.7638701 !

! 5.1476865 !

Кроме того, начальные приближения можно задать в виде вектора, и тогда функцию можно вызвать один раз:

Листинг 7.10. Решение задачи 7.5 (альтернативный способ)

-->fsolve([0;2;5],f)

ans = ! 0.5778406 !

! 1.7638701 !

! 5.1476865 !

Задача 7.6. Вычислить корни уравнения sin(x) − 0.4x = 0 в диапазоне [−5π; 5π].

Решение задачи представлено в листинге 7.11.

Листинг 7.11. Решение задачи 7.6

-->deff(’[y]=fff(x)’,’y=-0.4+sin(x)’)

-->V=[-5*%pi:%pi:5*%pi]; X=fsolve(V,fff);

-->X //Множество решений

X = !-16.11948 -12.154854 -9.8362948 -5.8716685 -3.5531095

0.4115168 2.7300758 6.6947022 9.0132611 12.977887 15.296446!

Задача 7.7. Найти решение уравнения y(x) = 0, если y(x) = x5 − x3 + 1.

Решить самостоятельно.


 

А также другие работы, которые могут Вас заинтересовать

64135. Товароведная характеристика, таможенная экспертиза бумажно-беловых товаров и организационно-экономические условия их реализации 4.22 MB
  Во втором разделе проводится экспериментальное исследование трех образцов офсетной бумаги с целью выявления отклонений от норм. История происхождения бумаги. Ассортимент бумаги Дефекты бумаги.
64136. Технічне обслуговування струменевого принтера Canon Pixma IP8500 4.13 MB
  За принципом друку текстової та графічної інформації принтери поділяються на: матричні голчасті; струменеві; лазерні. У цьому типі принтерів використовується для друку друкуюча головка ПГ яка містить одні чи два ряди тонких голок. Якість друку в цих принтерах поліпшується при друку інформації...
64137. Электроснабжение кузнечного цеха завода экскаваторов 4.02 MB
  Цель курсового проекта является проектирование системы электроснабжения цеха кузнечного завода экскаваторов. Курсовой проект состоит из пяти частей Расчёт электрических нагрузок Расчёт распределительной сети цеха Расчёт КТП Расчёт токов КЗ...
64139. Розробка схеми генератора низьких частот та керівництво по експлуатації 2.9 MB
  Підсилювачі електричних сигналів, застосовуються в багатьох областях сучасної науки й техніки. Особливо широке застосування підсилювачі мають у радіозв'язку й радіомовленні, радіолокації, радіонавігації, радіопеленгації...
64140. Организация технического обслуживания и ремонта стрелочных электроприводов 2.52 MB
  Стрелочные электроприводы предназначены для перемещения остряков стрелочного перевода из одного крайнего положения в другое, их запирания и контроля положения стрелок, включенных в электрическую централизацию. Кроме этого они должны контролировать промежуточное положение остряков и взрез стрелки.
64141. Оценка эффективности использования основных средств ФКУ ИК-3 УФСИН России по Республике Марий Эл 2.62 MB
  Предметом исследования является оценка эффективности использования основных средств ФКУ ИК3 УФСИН России по Республике Марий Эл. Цель работы –рассмотрение вопросов связанных с оценкой эффективности использования основных средств для выработки рекомендаций и путей повышения использования основных средств.