Аналитикалық модельдерді бағдарламалық іске асыру
>> function [X,DX,D2X] = DSolveXDXD2X
function [X,DX,D2X] = DSolveXDXD2X
|
Error: Function definitions are not permitted in this context.
%-- ФУНКЦИЯ ДЛЯ НАХОЖДЕНИЯ X(t)
%-- И ЕЕ ПРОИЗВОДНЫХ DX(t) и D2X(t):
%-- 1.Нахождение X(t):
>> syms x t r
>> X = dsolve('Dx+2*t*x=(2*(t^2))*(exp(-t^2))','x(0)=1')
X =
exp(-t^2) + (2*t^3*exp(-t^2))/3
%-- 2.Нахождение DX(t):
>> DX = diff(X)
DX =
2*t^2*exp(-t^2) - 2*t*exp(-t^2) - (4*t^4*exp(-t^2))/3
%-- 3.Нахождение D2X(t):
>> D2X = diff(DX)
D2X =
4*t*exp(-t^2) - 2*exp(-t^2) + 4*t^2*exp(-t^2) - (28*t^3*exp(-t^2))/3 + (8*t^5*exp(-t^2))/3
%-- 4.Векторизация и подстановка X,DX,D2X и t:
>> X = subs(X,{t},{0:0.1:1})
X =
[ 1, (1501*exp(-1/100))/1500, (377*exp(-1/25))/375, (509*exp(-9/100))/500, (391*exp(-4/25))/375, (13*exp(-1/4))/12, (143*exp(-9/25))/125, (1843*exp(-49/100))/1500, (503*exp(-16/25))/375, (743*exp(-81/100))/500, (5*exp(-1))/3]
>> DX = subs(DX,{t},{0:0.1:1})
DX =
[ 0, -(1351*exp(-1/100))/7500, -(604*exp(-1/25))/1875, -(1077*exp(-9/100))/2500, -(964*exp(-4/25))/1875, -(7*exp(-1/4))/12, -(408*exp(-9/25))/625, -(5551*exp(-49/100))/7500, -(1624*exp(-16/25))/1875, -(2637*exp(-81/100))/2500, -(4*exp(-1))/3]
>> D2X = subs(D2X,{t},{0:0.1:1})
t = 0:0.1:1;
D2X =
[ -2, -(58849*exp(-1/100))/37500, -(10442*exp(-1/25))/9375, -(8569*exp(-9/100))/12500, -(3094*exp(-4/25))/9375, -exp(-1/4)/12, (98*exp(-9/25))/3125, (257*exp(-49/100))/37500, -(1358*exp(-16/25))/9375, -(4867*exp(-81/100))/12500, -(2*exp(-1))/3]
>> X = vectorize(X)
X =
matrix([[1, (1501.*exp(-1./100))./1500, (377.*exp(-1./25))./375, (509.*exp(-9./100))./500, (391.*exp(-4./25))./375, (13.*exp(-1./4))./12, (143.*exp(-9./25))./125, (1843.*exp(-49./100))./1500, (503.*exp(-16./25))./375, (743.*exp(-81./100))./500, (5.*exp(-1))./3]])
>> DX = vectorize(DX)
DX =
matrix([[0, -(1351.*exp(-1./100))./7500, -(604.*exp(-1./25))./1875, -(1077.*exp(-9./100))./2500, -(964.*exp(-4./25))./1875, -(7.*exp(-1./4))./12, -(408.*exp(-9./25))./625, -(5551.*exp(-49./100))./7500, -(1624.*exp(-16./25))./1875, -(2637.*exp(-81./100))./2500, -(4.*exp(-1))./3]])
>> D2X = vectorize(D2X)
D2X =
matrix([[-2, -(58849.*exp(-1./100))./37500, -(10442.*exp(-1./25))./9375, -(8569.*exp(-9./100))./12500, -(3094.*exp(-4./25))./9375, -exp(-1./4)./12, (98.*exp(-9./25))./3125, (257.*exp(-49./100))./37500, -(1358.*exp(-16./25))./9375, -(4867.*exp(-81./100))./12500, -(2.*exp(-1))./3]])
%-- 5.Визуализация U(t):
>> U = (2.*(t.^2)).*(exp(-t.^2))
U =
0 0.0198 0.0769 0.1645 0.2727 0.3894 0.5023 0.6004 0.6749 0.7207 0.7358
subplot(4,2,1)
plot(t,U,'r')
xlabel('t')
ylabel('U')
%-- 6.Визуализация X(t):
>> subplot(4,2,3)
plot(t,X,'r')
xlabel('t')
ylabel('X')
%-- 7.Визуализация DX(t):>> subplot(4,2,2)
plot(t,DX,'r')
xlabel('t')
ylabel('DX')
%-- 8.Визуализация D2X(t):
>> subplot(4,2,4)
plot(t,D2X,'r')
xlabel('t')
ylabel('D2X')
%-- 9.Конец функции DSolveXDXD2X
>> function [X,DX,D2X] = EvalXDXD2X
function [X,DX,D2X] = EvalXDXD2X
|
Error: Function definitions are not permitted in this context.
%-- ФУНКЦИЯ ДЛЯ ВЫЧИСЕНИЯ ЗНАЧЕНИЙ U(t),X(t) =
%-- 1/5e(4t)+4/5e(-t) И ЕЕ ПРОИЗВОДНЫХ:
%-- 1.Задание вектора t:
>> t = 0:0.1:1;
%-- 2.Вычисление U(t):
>> U = (2.*(t.^2)).*(exp(-t.^2))
U =
0 0.0198 0.0769 0.1645 0.2727 0.3894 0.5023 0.6004 0.6749 0.7207 0.7358
%-- 3.Вычисление X(t):
>> X = exp(-t.^2) + (2.*t.^3.*exp(-t.^2))./3
X =
1.0000 0.9907 0.9659 0.9304 0.8885 0.8437 0.7981 0.7527 0.7073 0.6611 0.6131
%-- 4.Вычисление DX(t):
>> DX = 2.*t.^2.*exp(-t.^2) - 2.*t.*exp(-t.^2) - (4.*t.^4.*exp(-t.^2))./3
DX =
0 -0.1783 -0.3095 -0.3937 -0.4381 -0.4543 -0.4554 -0.4534 -0.4567 -0.4692 -0.4905
%-- 5.Вычисление D2X(t):
>> D2X = 4.*t.*exp(-t.^2) - 2.*exp(-t.^2) + 4.*t.^2.*exp(-t.^2) - (28.*t.^3.*exp(-t.^2))./3 + (8.*t.^5.*exp(-t.^2))./3
D2X =
-2.0000 -1.5537 -1.0701 -0.6265 -0.2812 -0.0649 0.0219 0.0042 -0.0764 -0.1732 -0.2453
%-- 6.Визуализация U(t):
>> subplot(4,2,1)
plot(t,U,'r')
xlabel('t')
ylabel('U')
%-- 7.Визуализация X(t):
>> subplot(4,2,3)
plot(t,X,'r')
xlabel('t')
ylabel('X')
%-- 8.Визуализация DX(t):
>> subplot(4,2,2)
plot(t,DX,'r')
xlabel('t')
ylabel('DX')
%-- 9.Визуализация D2X(t):
>>
subplot(4,2,4)
|
plot(t,D2X,'r')
|
xlabel('t')
|
ylabel('D2X')
|
%-- 10.Конец функции EvalXDXD2X
Сур. 1. Лаплас түрлендірулерін пайдаланып, теңдеуді шешетін графиктер
Сур. 2. Символдық есептеулерді пайдаланып, теңдеуін шешетін графиктер
Сур. 3. Тұрақты коэффициенттері бар 2-і ретті сызықтық динамикалық жүйенің имитациялық моделі
Сур. 4. Модельдің осциллограммасы
Қорытынды
Зертханалық жұмыста динамикалық жүйенің аналитикалық моделі MATLAB ортасында қарастырылды. Оның мінез-құлқын сипаттайтын дифференциалдық теңдеу менің нұсқамда келесі түрге ие болды: , . MATLAB математикалық жүйесінің бағдарламалық ортасында осы теңдеу енгізіліп, іске асырылды және Simulink пакетін қолдана отырып модель құрылды және олардың нәтижелерін салыстыру арқылы әзірленген математикалық модельдер тексерілді.
Текущее время t
|
Возмущающее воздействие u(t)
|
Выходная величина x(t)
|
Скорость изменения выходной величины x(t)
|
Расчетное значение
|
Модельное значение
|
Расчетное значение
|
Модельное значение
|
0,0
|
1
|
1
|
1
|
0
|
0
|
0,1
|
1.4918
|
1.49
|
1.49
|
0.14
|
0.14
|
0,2
|
2.2255
|
2.25
|
2.25
|
0.39
|
0.39
|
0,3
|
3.3201
|
3.32
|
3.32
|
0.83
|
0.83
|
0,4
|
4.9530
|
4.95
|
4.95
|
1.54
|
1.54
|
0,5
|
7.3891
|
7.3
|
7.3
|
2.708
|
2.708
|
0,6
|
11.0232
|
11.02
|
11.02
|
4.55
|
4.55
|
0,7
|
16.4446
|
16.44
|
16.44
|
7.46
|
7.46
|
0,8
|
24.5325
|
24.53
|
24.53
|
12
|
12
|
0,9
|
36.5982
|
36.59
|
36.59
|
19.06
|
19.06
|
1,0
|
54.5982
|
54.59
|
54.59
|
29.95
|
29.95
|
Достарыңызбен бөлісу: |