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

Практическая работа в MATLAB. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
)(148128 tyyy

(1.2)
y
0128 yyy

1216
tt
tptp
eCeCeCeCty
6
2
2
121о
21
)(
4)(
6
2
2
1
tt
eCeCty
y
y
при нулевых начальных условиях y(0) = 0,
(0) = 0 и единичном ступенчатом
входном сигнале u(t) = 1(t).
Решение. Решение неоднородного дифференциального уравнения всегда
равно сумме y(t) = yо(t) + yч(t), где yо(t) – общее решение соответствующего
однородного дифференциального уравнения, полученного приравниванием
нулю правой части (1.2)
, (1.3)
а yч(t) – частное решение, определяемое видом правой части (1.2). Решение однородного дифференциального уравнения (1.3) начинается с задания соответствующего характеристического уравнения
p2 + 8p + 12 = 0
и определения его корней
p
= –4 ±
1,2
,
p1 = 4 + 2 = 2; p2 = 4 2 = 6.
Общее решение однородного дифференциального уравнения запишется
так
,
где С
, С2 – постоянные интегрирования.
1
Перейдем к определению частного решения y
. Правая часть уравнения
ч
(1.2) – константа. Частное решение ищется в форме yч = B, где B – константа. Для нахождения B подставим yч = B в уравнение (1.2)
12B = 48, B = 4.
Таким образом, полное решение неоднородного уравнения (1.2) имеет вид
. (1.4)
Исходя из нулевых начальных условий y(0) = 0,
(0) = 0, запишем (1.4) в
виде двух уравнений
y(0) = С1 + С2 + 4 = 0,
(0) = –2С1 – 6С2 = 0
31
и решим их относительно С
462)(
26
tt
eety
)(1 tсbyyay

Вариант
a b с
4.1 3 2 8 4.2 4 3
12
4.3 5 6
30
4.4 6 8
32
4.5
7
12
48
4.6 5 4
16
4.7 6 5
20
4.8
7
10
30
4.9
8
15
60
и С
1
2
С
= – 6, С2 = 2.
1
Подставляя найденные значения С
и С2 в (1.4), получим искомое решение
1
. (1.5)
Найдите в MATLAB и сравните с (1.5) решение неоднородного
дифференциального уравнения, используя оператор dsolve. Наберите программу
решения дифференциального уравнения (1.2) с нулевыми начальными условиями.
>> y=dsolve('D2y+8*Dy+12*y=48','y(0)=0','Dy(0)=0')
y = 2*exp(-6*t)-6*exp(-2*t)+4
Последнее выражение и будет решением линейного неоднородного дифференциального уравнения (1.2), которое совпадает с выражением (15).
Постройте график переходного процесса при u(t) = 1(t) по программе
>> t = 0:0.1:10; >> y = 2*exp(-6*t)-6*exp(-2*t)+4; >> plot(t,y,'k'), grid on
Задание 4
В табл. 1.1 приведены различные варианты коэффициентов
дифференциального уравнения
,
которое в соответствии с выданным вариантом самостоятельно решить классическим методом (с подробным описанием хода решения), а также решить с помощью функции dsolve и сравнить полученные результаты.
Таблица 1.1
Коэффициенты дифференциальных уравнений
32
4.10
9
20
60
4.11
7 6 30
4.12
9
18
54
4.13
10
24
72
4.14
11
30
90
4.15
8 7 28
Построить и отформатировать график переходного процесса с подробным
описанием выполненных действий.
1.5.2. Создание символьных переменных, выражений, матриц
Для создания символьных переменных используется функция sym, имеющая следующий синтаксис:
имя переменной = sym ( 'имя переменной')
Например, создайте две символьные переменные х и alpha:
>>y=sym('х')
y =
x
>>x=sym('alpha')
x=
alpha
Для создания одновременно трех символьных переменных а, b, с выполните команду:
>> syms а b с
Создание символьного выражения осуществляется командой:
>>sym (' символьное выражение ')
Например, для создания символьной переменной, содержащей выражение a х2 + b х + с, выполните команду:
f=sym('а*х^2+b*х+с')
В данном случае введенное выражение рассматривается как единая
переменная. Для того, чтобы иметь возможность изменить значения
коэффициентов и неизвестной, входящих в выражение а*х
2
+ b + с,
33
выполните команды:
>>syms а b с х
>>f=sym('а*х^2+b*х+с')
f=
а*х^2+b*х+с
1.5.3. Обращение к стандартным функциям
С помощью функции sym можно обращаться к стандартным функциям пакета MAPLE. Например, создайте функцию, возвращающую значение факториала числа, и нажмите Enter:
>>kfac=sym('k!')
в результате получите выражение для факториала
kfac =
k!
Для вычисления 6 ! или n ! выполните команды:
>>syms k n
>>subs(kfac,k,6), subs(kfac,k,n )
ans=720
ans=
n!
1.5.4. Создание символьной матрицы
Для создания символьной матрицы необходимо создать символьные
переменные, являющиеся элементами матрицы и затем создать матрицу, явно
задав ее строки и столбцы,
>>syms a b c
>>A=[a b c; b c a; c a b]
А =
[a,b,c]
[b,с,а]
[с,а,b]
34
Далее с созданной символьной матрицей можно выполнять различные
xx
x
x
x
22
5
1
1
2
7
1
2
1952
1843
yx
yx
арифметические операции.
1.5.5. Решение алгебраических уравнений
Для решения алгебраических уравнений используется команда solve.
Пример 1.5.2
Решите уравнение:
.
>>[х]=solve('2*х/(х–1)–7/2=(х+1)/(х–1)+5/(2–2*х)')
х=2
Для решения системы алгебраических уравнений используется также
команда solve.
Пример 1.5.3
Решите систему алгебраических уравнений:
>>[x,y]=solve('3*x+4*y=18','2*x+5*y=19')
х=2
у=3
1.5.6. Упрощение алгебраического выражения
Для упрощения выражений используется команда simplify.
Пример 1.5.4
Упростите выражение (x
2
– 1)/(x – 1)
>>syms x % описываем символьную переменною
>>p=(x^2-1)/(x-1) % задаем символьное выражение
>>simplify(p)
ans=x+1
1.5.7. Вычисление сумм рядов
Для решения алгебраических уравнений используется команда symsuw.
35
Пример 1.5.5
xkk1
4
.
1
101
4
.
1
k
k
Вычислите сумму ряда
>> syms х k
>> s=symsum(1/k^4,1,inf)
s=1/90*pi^4
Пример 1.5.6
Вычислите сумму ряда
.
>>syms x k
>>s=symsum(1/k^4,1,10)
s= 43635917056897/40327580160000
1.5.8. Символьное дифференцирование
Для вычисления производной функции f (х) необходимо:
- задать выражение, описывающее функцию;
- обратиться к функции diff.
Пример 1.5.7
Вычислите производную функции sin(ах) по переменной х.
>> syms a x % описываем символьные переменные >>y=sin(a*x) % задаем дифференцируемую функцию
y =
sin(a*x)
>>diff(y) % вычисляем производную в символьном виде
ans=cos(а*х)*а
Пример 1.5.8
Вычислите производную функии sin (ах ) по параметру а.
>>syms а х % описываем символьные переменные >>y=sin(а*х) % задаем дифференцируемую функцию >>diff(у,а) % вычисляем производную в символьном виде
ans= cos(а*х)*х
36
Пример 1.5.9
:
)(22bxa
dx
babxa
dx
/
0
22
)(
Вычислите производную функции х
n
>>syms x y n % описываем символьные переменные
>>у=х^n % задаем функцию хn >>diff(у,х) % вычисляем производную функции хn в символьном виде
ans=х^n*n/х
1.5.9. Символьное интегрирование
Для вычисления интегралов в символьном виде используется функция int, имеющая следующий синтаксис: mt (f), mt (f, [u]), mt (f, [u, а, b]), где f – символьная
подынтегральная функция, необязательные переменные: u переменная интегрирования; а – нижний предел интегрирования; b – верхний предел интегрирования.
Продемонстрируем приемы вычисления интегралов в MATLAB на следующих
примерах:
Пример 1.5.10
Вычислите неопределенный интеграл:
>>syms a b x % задаем символьные переменные >>int(1/(a^2+(b*x)^2)) % вычисляем интеграл в символьном виде
ans=
1/a/b*atan(b*x/a)
Пример 1.5.11
Вычислите определенный интеграл
:
>>syms a b x % задаем символьные переменные >>int(1/(a^2+(b*х)^2),0,a/b) % находим интеграл в символьном виде
ans=1/4*pi/а/b
37
Задание 5
вар
Система уравнений
Ряд (s)
Дифферен-
цируемая
функция
Подинте-
гральная
функция
Пределы
а
b
1
2
3
4
5
6
7
5.1
.2
,093
22
xy
yxxxyy
1
2
2)12(
)1(
k
k
kk
k
s
xx
x
ln1ln xx
x
ln1ln
1
3.5
5.2
.2/2/)63(
,22/)2(3/)62(
xyx
yxx
6
1
2
13
)1(
k
k
k
k
s
x
x
2
ln
x
x
2
ln
1
4
5.3
.282
,12
22
xxyy
yx
5
2
2
4
2
)1(
k
k
k
k
s
xex
x
sin
xex
x
sin
0
1
5.4
.62
,12
22
yx
yxyx
10
3
2
2
)12(
k
k
k
k
s
2
91x
2
91x
0
2
5.5
.22/)1(4)2(
,13/)1(2/)6(
xy
yx
7
1
1
)12(
)1(
k
k
k
k
s
 
 
xx
1
sin
1
2
 
 
xx
1
sin
1
2
1
2/5
5.6
.29
,7
22
xyyx
yx
5
1
2
2
)1(
k
k
k
s
xx1
arcsin
xx1
arcsin
0
3
5.7
.4
,5/4/1/1
yx
yx
1
)12(
1
k
kk
s
x2 ∙ (1 + ln x)
x2 ∙ (1 + ln
x)
1
3
5.8
.1)(18)/(8
,3)(12)/(4
yxyx
yxyx
1
2
)10(kkk
k
s
x
x 16.02
x
x 16.02
1
2
Решить систему алгебраических уравнений в столбце 2 табл. 1.2, используя функцию Solve.
1. Вычислить сумму ряда в столбце 3 табл. 1.2, используя функцию Symsum.
2. Определить выражение производной по х функции в столбце 4 табл. 1.2.
3. Вычислить интеграл функции в столбце 5 табл. 1.2 в пределах а (столбец
6) и b (столбец 7), используя функцию int.
Таблица 1.2
Варианты заданий
38
Окончание таблицы 1.2
1
2
3
4
5
6
7
5.9
.8)/(10)/(9
,1)/(4)/(3
yxyx
yxyx
1
)2)(1(
)1(
k
k
kk
s
1
1
3
x
x
e
e
1
1
3
x
x
e
e
0
2
5.10
.8)/(10)/(9
,2)/(8)/(6
yxyx
yxyx
1
)2)(1(
1
k
kkk
s
x
xe
x
cos1
)sin1(
x
xe
x
cos1
)sin1(
0
1.5
5.11
.10/2/1
,4/4/1
xe
yx
5
1
15
)1(
k
k
k
s
sin x ∙ ln(tg x)
sin x∙ln(tg x)
1
1.5
5.12
.9/3/1
,4/1/2
yx
yx
1
22
)1(
)12(
k
kk
k
s
1)1(
1
2
xx
1)1(
1
2
xx
0
3/4
5.13
.12/1/1/1
,12/7/1/1
yx
yx
2
2
1
1
k
k
s
xxlg
1
xxlg
1
2
3
5.14
.12
,8/3/1/1
yx
yx
9
2
2
12
k
k
k
s
3
ln
 
 
x
x
3
ln
 
 
x
x
1
2
5.15
.23
,3
32
yxyxyx
yx
9
2
2
12
k
k
k
s
)23(
24
xx
x
)23(
24
xx
x
0
2
39
2. ПРАКТИЧЕСКАЯ РАБОТА В SIMULINK
2.1. Запуск SIMULINK
В окне MATLAB нажмите кнопку , в результате откроется окно
библиотеки блоков Simulink Library Browser (рис. 2.1, а).
а б Рис. 2.1
В левом подокне находятся имена разделов: Simulink, Aerospace
Blockset, Control System Toolbox и др. Двойной щелчок на имени
раздела открывает составляющие его библиотеки. Так, в открытом разделе Simulink находятся библиотеки Commonly Used Blocks (Часто используемые блоки), Continuos (Непрерывные блоки), Discontinuities (Нелинейности), Math Operations (Математические операции), Sinks (Регистраторы), Sources (Источники) и др. Для выделенной библиотеки
Commonly Used Blocks в правом подокне находится ее содержимое (блоки): Constant (Константа), Gain (Коэффициент), Integrator (Интегратор), Scope
(Осциллограф) и др.
В окне Simulink Library Browser выполните команду File, New,
Model и откройте окно еще неименованной (untitled) модели (рис. 2.1, а).
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]