4360
.pdf11
Лабораторная работа №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 .