Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4360

.pdf
Скачиваний:
2
Добавлен:
08.01.2021
Размер:
961.26 Кб
Скачать

11

Лабораторная работа №2. Работа с комплексными числами и вычисление корней полиномов в системе MATLAB (4 часа)

Цель работы: Знакомство с системой математического моделирования MATLAB на примере работы с комплексными числами и вычисления корней полиномов (решения квадратных уравнений).

2.1. Работа с комплексными числами

 

 

 

 

Комплéксное число z это упорядоченная пара ( a, b )

действительных

чисел a, b R , условно записываемая в виде z a j b (или

z a i b ), где

a Re z действительная часть числа z ,

b Im z мнимая часть числа z , j

(или i ) мнимая единица.

 

 

 

 

 

 

 

 

 

 

 

 

 

Модуль и фаза (аргумент) комплексного числа

z a j b определяется

выражениями:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

(Re z)2 (Imz)2

 

a2 b2 .

 

 

 

 

(2.1)

 

 

 

 

 

 

 

 

 

 

arctg

Im z

arctg

b

,

Re z 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Re z

 

 

 

a

 

 

 

 

(2.2)

(z) Arg(z)

 

 

Im z

 

 

 

 

 

Im z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg

 

 

 

 

или

arctg

 

 

, Re z 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Re z

 

 

 

 

 

Re z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечание. Аргумент комплексного числа определяется с точностью до слагаемого 2k , где k любое целое число. При этом положительные значения (z) отсчитываются против хода часовой стрелки, отрицательные по ходу часовой стрелки.

Задача 1. Найти модуль и фазу комплексного числа z 4 j 3. Показать это число, его модуль и фазовый угол на комплексной плоскости.

Решение. В данном случае Re z 4, Imz 3. Следовательно, модуль и

 

 

 

 

 

3

2,4981 рад 143,13 .

фаза будут равняться

z

 

16 9 5; arctg

4

 

 

 

 

 

 

Решение в MATLAB:

%Вводим комплексное число

>> z=-4+j*3

%MATLAB выводит его в следующем виде z =

-4.0000 + 3.0000i

%Вычислим модуль комплексного числа

>> abs(z) ans =

5

12

%Вычислим фазовый угол в радианах

>> angle(z) ans =

2.4981

%Вычислим фазовый угол в градусах

>> angle(z)*180/pi ans =

143.1301

>>

Задача 2. Найти третью степень, натуральный и десятичный логарифмы комплексного числа z 2 j 3.

Решение. Для удобства определения степеней и логарифмов комплексного числа сначала представим заданное число z в показательной форме z z е j ( z) .

По формулам (1.1) и (1.2) рассчитаем модуль и фазу заданного числа: z 4 9 3,6056, (z) arctg 32 0,9828 рад 56,31 ,

т.е. z 3,6056 е j 0,9828.

Следовательно,

(2 j 3)3 3,60563 е j3 0,9828 46,872 e j 2,948446,872( 0,9814 j 0,192) 46 j 9.

Известно, что ln z ln

 

z

 

j(z),

lg( z) lg

 

z

 

j(z)lg(e) .

 

 

 

 

Следовательно,

 

 

 

 

 

 

 

 

 

 

ln(2 j 3)

1,2825 j 0,9828 .

 

 

 

 

 

lg(2 j 3)

0,557 j 0,9828 0,4343 0,557 j 0,4268 .

Решение в MATLAB:

%Вводим комплексное число

>> z=2-3*j

%MATLAB выводит его в следующем виде z =

2.0000 - 3.0000i

%Вычислим третью степень комплексного числа z >> z3=z^3

z3 =

-46.0000 - 9.0000i

%Вычислим модуль третьей степени комплексного числа z >> abs(z3)

ans = 46.8722

%Вычислим фазу третьей степени комплексного числа z

13

>> angle(z3)*180/pi ans =

-168.9298

%Вычислим натуральный логарифм комплексного числа z >> ln_z=log(z)

ln_z =

1.2825 - 0.9828i

%Вычислим модуль натурального логарифма комплексного числа z >> abs(ln_z)

ans = 1.6157

%Вычислим фазу натурального логарифма комплексного числа z в

%градусах

>> angle(ln_z)*180/pi ans =

-37.4639

%Выполним проверку в MATLAB >> exp(ln_z)

ans =

2.0000 - 3.0000i

%Вычислим десятичный логарифм комплексного числа z >> lg_z=log10(z)

lg_z =

0.5570 - 0.4268i

%Выполним проверку в MATLAB

>> 10^(lg_z) ans =

2.0000 - 3.0000i

2.2. Нахождение корней полиномов (многочленов)

Задача 3. Найти корни полинома 2x2 12x 16 и представить полином в виде произведения сомножителей.

Решение. Корни полинома это корни уравнения, которое получается путем приравнивания этого полинома к нулю. Следовательно, требуется найти корни уравнения 2x2 12x 16 0 . Для определения корней квадратного уравнения (полинома второй степени) используются две формулы.

Первая формула относится к уравнению ax2 bx c 0

и имеет сле-

дующий вид:

 

 

 

 

 

 

 

 

 

 

 

x1,2

 

b D

,

(2.3)

 

 

2a

 

 

где D b2 4ac дискриминант уравнения. Если D 0 , уравнение будет иметь вещественные корни; если D 0 , корни уравнения будут комплексными.

14

Для использования второй, более простой формулы заданный полином

сначала приводят к виду x2 px q 0 . В этом случае корни вычисляются по формуле

 

 

 

 

 

 

x1,2

 

p D

,

(2.4)

 

 

2

 

 

 

где D p2 4q дискриминант уравнения.

Примечание. Для нахождения корней полиномов 3-й и более высоких степеней целесообразно использовать систему MATLAB.

Если полином n-й степени с действительными коэффициентами

имеет корни ния:

A(x)

xn

n 1

xn 1 ...

x

0

(2.5)

n

 

1

 

 

x1 , x2 , ..., xn , то его всегда можно представить в виде произведе-

n

 

A(x) n (x x1 )(x x2 )...(x xn ) n (x xi ).

(2.6)

i 1

Если полином (1.6)

 

имеет

n1 вещественных корней и n2

комплексных

корней xi

i j i

, то он будет иметь и n2 сопряженных им корней xi i j i .

Поэтому n1 2n2 n ,

а полином

A(x) , заданный в виде (2.5) или (2.6), можно

также представить в следующем виде:

 

 

 

 

 

 

 

 

 

 

 

n1

 

n2

 

 

 

 

 

 

 

A(x) n (x xi ) (x2

pv x qv ),

(2.7)

 

 

 

 

 

 

 

 

 

i 1

 

v 1

 

 

причем p

v

2

v

, q

v

2

2 .

 

 

 

 

 

 

 

 

 

v

v

 

 

 

 

Для рассматриваемого полинома 2x2 12x 16 по формуле (2.3) находим

корни

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1,2

12

144 4 2 16

12 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

2 2

4

 

т.е. x1 2 ,

x2 4 .

 

 

 

 

 

 

 

 

В заданном полиноме n 2 , поэтому в соответствии с формулой (2.7)

запишем

A(x) 2(x 2)(x 4) .

Решение в MATLAB:

%Вводим коэффициенты полинома, начиная со старшей степени

>> p1=[2 12 16];

%Вычислим корни полинома

>> roots(p1) ans =

-4 -2

% Вводим коэффициенты полинома, заданного в приведенной форме

>> p2=[1 6 8];

15

% Вычислим корни полинома

>> roots(p2) ans =

-4 -2

2.3. Индивидуальные задания по лабораторной работе Задание 1. Представить комплексные числа в показательной форме:

z 7 j8;

z 16 j7;

z -4;

z 8 j8;

z 8 j5;

z j10;

z 4 j2;

z 1 j10.

Задание 2. Вычислить в системе MATLAB:

 

1

 

 

 

(5 j8)3 ;

 

 

 

 

( 11 j8)2 ;

(4 j9) 4

;

( 10 j17)5 ;

ln(5 j8) ;

log(4 j9) ;

ln(5 j8)2 ;

log( 3 j4)3 .

Задание 3. Вычислить корни квадратных уравнений в системе MATLAB:

4x2 8x 32 0 ;

x2 10x 16 0 ;

3x2 18x 27 0 .

2.4. Контрольные вопросы к лабораторной работе

1.Дать определение комплексного числа. Что такое вещественная и мнимая части комплексного числа?

2.Как геометрически представляется комплексное число? Что такое модуль и фаза (аргумент) комплексного числа? Как рассчитать выражения модуля

ифазы (аргумента) комплексного числа в системе MATLAB?

3.Привести запись показательной формы представления комплексного числа. Для чего используют подобное представление?

4.Что такое корни полинома? Как найти корни полинома (уравнения) в системе MATLAB?

5.Как полином n-й степени с действительными коэффициентами представить в виде произведения двучленов?

6.Что такое комплексные сопряжѐнные корни? Как представить в виде произведения полином, имеющий вещественные и комплексные сопряжѐнные корни?

16

Лабораторная работа №3. Решение обыкновенных дифференциальных уравнений в системе MATLAB (4 часа)

Цель работы: Знакомство с системой математического моделирования MATLAB на примере решения обыкновенных дифференциальных уравнений.

3.1. Общие сведения

Поведение линейных, непрерывных, стационарных систем с сосредоточенными параметрами описывается во времени обыкновенным дифференциальным уравнением (ОДУ) с постоянными коэффициентами ai, bj

a

d n y(t)

a

d n 1 y(t)

... a

 

y(t) b

d m x(t)

b

d m 1 x(t)

... b x(t) ,

 

 

n

 

 

0

dt n

1

dt n 1

 

0

dt m

1

dt m 1

m

 

 

 

 

 

 

 

где слева – выходная функция y(t) и ее производные (результат), справа – входная функция x(t) и ее производные.

Данное уравнение можно записать в алгебраизованном виде, используя оператор (символ) дифференцирования p ≡ d/dt, что позволяет производить с дифференциальным уравнением алгебраические операции – выносить члены за скобки, складывать, умножать и т. п.

(a0 pn + a1 pn-1 + ... + an ) y(t) = (b0 pm + b1 pm-1 + ... + bm ) x(t).

Здесь слева в скобках – собственный оператор объекта управления, справа – оператор входа (воздействия). При этом в алгебраизированном уравнении используются, как правило, не сами величины x и y, а их абсолютные ∆y/∆x или относительные ∆y/y0, ∆x/x0 отклонения от рабочей точки c координатами (x0, y0).

Оператор D(p) = a0 pn + a1 pn-1 + ... + an называется также характеристическим, так как характеризует собственные свойства системы (объекта), а уравнение D(p) = a0 pn + a1 pn-1 + ... + an = 0 – характеристическим уравнением системы.

3.2.Решение обыкновенных дифференциальных уравнений в системе математического моделирования MATLAB

Задача 1. Найти решение однородного дифференциального уравнения

3

d 2 y

18

dy

75y 0 , или 3y 18y 75y 0 ,

(3.1)

dt 2

dt

 

 

 

 

при начальных условиях

y(0) -5, y(0) 3 c использованием

системы

MATLAB. Написать программу (скрипт) для построения графика полученной функции в MATLAB.

Решение. Классический метод решения однородных дифференциальных уравнений предполагает использование соответствующих характеристических

17

уравнений. В данном случае характеристическое уравнение имеет следующий вид:

3k 2 18k 75 0 .

Корнями характеристического уравнения являются k1,2 3 4 j . По-

скольку корни комплексные, общее решение уравнения (3.1) имеет следующий вид:

yобщ eαt (C1 cos t C2 sin t) e 3t (C1 cos 4t C2 sin 4t) ,

(3.2)

где С1 , C2 постоянные интегрирования, которые определяются по заданным

начальным условиям.

 

 

 

 

 

Чтобы определить значения

С1 и C2 , найдѐм первую производную

(3.3)

yобщ 3e

3t

(C1 cos 4t C2 sin 4t) e

3t

(C2 4cos 4t C1 4sin 4t).

 

 

 

 

 

Затем, полагая в выражениях для yобщ (t) и yобщ (t) переменную t 0 , приравня-

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

y

 

(0)

С 5,

 

 

 

общ

 

1

 

(3.4)

yобщ

(0)

3С1 4С2

3.

 

Решая эту систему, находим С1 5 , С2

4,5 . Подставляя эти значения

в (3.2), получим искомое решение

 

 

 

y(t) e 3t ( 5cos 4t 4,5sin 4t)

(3.5)

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

Решение в MATLAB. Для решения систем обыкновенных дифференциальных уравнений в системе MATLAB реализованы различные численные методы, называемые решателями (solvers). Помимо численных методов в MATLAB реализована возможность символьного решения обыкновенных дифференциальных уравнений. В частности, решение заданного дифференциального уравнения в символьном виде имеет следующий вид:

>> y=dsolve('3*D2y+18*Dy+75*y=0', 'y(0)=-5', 'Dy(0)=-3')

y = -(5*cos(4*t))/exp(3*t) - (9*sin(4*t))/(2*exp(3*t))

Для

построения

графика

полученной

функции

y(t) e 3t ( 5cos 4t 4,5sin 4t)

необходимо ввести короткую программу, пред-

ставленную на рисунке 3.1.

 

 

 

18

Рисунок 3.1 Программа для вывода графика функции y(t) e 3t ( 5cos 4t 4,5sin 4t)

После запуска программы на экране в специальном окне (рисунок 3.2) отображается график функции y(t) e 3t ( 5cos 4t 4,5sin 4t) .

Рисунок 3.2 График функции y(t) e 3t ( 5cos 4t 4,5sin 4t)

Задача 3.2. Найти решение неоднородного дифференциального уравне-

ния

 

y 7 y 12y 5e 3t 2

(3.6)

 

19

 

при начальных условиях

y(0) 1, y(0) 1

c использованием системы

 

 

 

MATLAB. Написать программу для построения графика полученной функции в

MATLAB.

Решение. Решение неоднородного дифференциального уравнения всегда

равно сумме y(t) yобщ(t) yчаст (t) , где yобщ (t) общее решение соответствующего однородного дифференциального уравнения, которое в данном случае

имеет вид

y 7 y 12y 0 ; yчаст (t) частное решение, которое определяется

 

 

 

 

видом правой части неоднородного уравнения (3.6).

 

Корнями

характеристического уравнения

k 2 7k 12 0 являются

k1 4 , k2

3 . Поэтому общее решение указанного однородного дифферен-

циального уравнения запишется как yобщ(t) С1e 4t

C2e 3t , где С1 , C2 посто-

янные интегрирования.

 

Правая часть уравнения (3.6) является суммой экспоненты и константы,

поэтому частное решение имеет следующий вид:

 

 

 

yчаст (t) yчаст1(t) yчаст2 (t) .

(3.7)

Поскольку показатель экспоненты в первой составляющей внешнего воздействия 5e 3t совпадает с корнем k2 3 характеристического уравнения, то имеет место так называемый случай резонанса и, следовательно, yчаст1(t) Dte 3t . Вторая составляющая yчаст2 (t) A, поскольку в этом случае резонанса нет. Здесь A, D некоторые коэффициенты.

Для определения значений этих коэффициентов найдем yчаст (t) и yчаст (t) , а затем подставим yчаст (t) и эти производные в уравнение (3.6). В результате получим равенство Dte 3t 12A 5te 3t 2 . Приравняв выражения перед экс-

понентой и

константой

в левой и правой частях равенства, найдем

D 5, A 1/ 6 .

Подставляя

значения этих коэффициентов в (3.7), получим

yчаст (t) 5te 3t 1/ 6 .

Таким образом, полное решение неоднородного дифференциального

уравнения (3.6) имеет вид

 

y(t) С1e 4t C2e 3t 5te 3t 1/ 6 .

(3.8)

Постоянные интегрирования С1 и C2 определяются

так же, как и в случае

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

y(0)

C1 C2 1/ 6 1,

 

 

4С1 3С2 5 1.

y

(0)

Решение этой системы уравнений дает С1 7 / 2, C2 8/ 3 . Подставляя значения С1 и C2 в (3.8), получим искомое решение

 

 

 

20

 

 

 

y(t)

7

e 4t

 

8

e 3t 5te 3t

1

.

(3.9)

2

 

6

 

 

3

 

 

Решение в MATLAB. Решение неоднородного дифференциального уравнения в символьном виде имеет следующий вид:

>> y=dsolve('D2y+7*Dy+12*y=5*exp(-3*t)+2', 'y(0)=1','Dy(0)=-1')

y = 7/(3*exp(3*t)) + 7/(2*exp(4*t)) + (5*t + (2*exp(3*t))/3)/ exp(3*t) - (exp(4*t)/2 + 5*exp(t))/exp(4*t)

>> y=simplify(y)

y = 7/(2*exp(4*t)) - 8/(3*exp(3*t)) + (5*t)/exp(3*t) + 1/6

Для

 

построения

 

 

графика

полученной

функции

y(t)

7

e 4t

8

e 3t 5te 3t

 

1

необходимо

ввести короткую

программу,

2

 

6

 

 

3

 

 

 

 

представленную на рисунке 3.3.

Рисунок 3.3 Программа для вывода графика функции

После запуска программы на экране в специальном окне (рисунок 3.4) отображается график функции y(t) 72 e 4t 83 e 3t 5te 3t 16 .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]