Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала прогаммирования в среде MatLab / Начала программирования в среде MatLab.pdf
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
5.66 Mб
Скачать

2.6. Создание функций от функций

124

 

 

 

%Выходные параметры:

%z - вектор значений производных от переменных состояния. global MPFUN

z(1) = y(2);

z(2) = - sin(y(1)) + feval(MPFUN,t,y);

%Конец процедуры FM2

Теперь процедура FM2 имеет только два входных параметра, передаваемых через заголовок, и может быть использована любой процедурой численного метода интегрирования, в том числе - процедурами ode23 и ode45. Необходимо лишь помнить, что в основной программе переменной MPFUN надо присвоить некоторое символьное значение (имя функции, которая будет использована в процедуре правых частей), и она должна быть объявлена как глобальная. Например, если будет использована ранее созданная процедура MomFun1, в Script-файле должны присутствовать строки

global MPFUN MPFUN = ‘MomFm1';

2.6.3. Задания

Задания 2.1 - 2.13. Создайте М-файл метода численного интегрирования дифференциальных уравнений в соответствии с формулами, приведенными в таб-

лицах 2.1 и 2.2.

Таблица 2.1. Методы Рунге-Кутта ym+1 = ym + h F(tm; ym)

N%

Формула метода

Вспомогательные величи-

 

Название

вар

 

ны

 

методу

1

F=k1

k1=Z(tm;ym)

 

Ейлера

2

F=(k1+k2)/2

k1=Z(tm;ym);

 

модифициро-

 

 

k2=Z(tm+h;ym+hk1)

 

ванный Ейлера

3

F=Z(tm+h/2;

k1=Z(tm;ym)

 

 

 

ym+hk1/2)

 

 

Хойне

4

F=(k1+4k2+k3)/6

k1=Z(tm;ym);

 

 

 

k2=Z(tm+h/2;ym+hk1/2);

 

 

 

 

k3=Z(tm+h;ym+h(2k2-k1))

 

 

5

F=(k1+3k3)/4

k1=Z(tm;ym);

 

 

 

 

k2=Z(tm+h/3;ym+hk1/3);

 

 

 

 

k3=Z(tm+2h/3;ym+2hk2/3)

 

Рунге-Кутта

6

F=(k1+2k2+2k3+

k1=Z(tm;ym);

 

 

+k4)/6

k2=Z(tm+h/2;ym+hk1/2);

 

 

 

 

k3=Z(tm+h/2;ym+hk2/2);

 

 

 

 

k4=Z(tm+h;ym+hk3)

 

 

 

 

 

 

 

 

2.6. Создание функций от функций

125

 

 

 

 

 

 

 

 

 

 

 

 

 

7

F=(k1+3k2+3k3+

 

 

k1=Z(tm;ym);

 

 

 

 

 

 

 

 

 

+k4)/8

 

k2=Z(tm+h/3;ym+hk1/3);

 

 

 

 

 

 

 

 

 

 

 

k3=Z(tm+2h/3;ym+h(k2-

 

 

 

 

 

 

 

 

 

k1/3)); k4=Z(tm+h;ym+h(k1--

 

 

 

 

 

 

 

 

 

 

 

k2+k3))

 

 

 

 

 

 

 

 

 

Таблица 2.2. Многошаговые методы

 

 

 

 

 

N%

Формула

 

Формула

 

Название

 

 

вар

прогнозу

 

коррекции

 

методу

 

 

8

ym+1=ym-1+2h(tm;ym)

 

ym+1=ym+h[Z(tm+1;y*m+1)+

 

 

 

 

 

 

 

 

 

 

+Z(tm;ym)]/2

 

 

 

 

 

 

9

ym+1=ym+h[Z(tm;ym)-

 

ym+1=ym+h[Z(tm+1;y*m+1)+

 

 

 

 

 

 

 

-Z(tm-1;ym-1)]/2

 

+Z(tm;ym)]/2

 

 

 

 

 

 

10

ym+1=ym+h[23Z(tm;ym)-

 

ym+1=ym+h[5Z(tm+1;y*m+1)+

 

 

 

 

 

 

 

-16Z(tm-1;ym-1)+

 

+8Z(tm;ym)-

 

 

 

 

 

 

 

+5Z(tm-2;ym-2]/12

 

-Z(tm-1;ym-1)]/12

 

 

 

 

 

 

11

ym+1=ym+h[55Z(tm;ym)-

 

ym+1=ym+h[9Z(tm+1;y*m+1)+

 

Адамса-

 

 

 

 

 

-59Z(tm-1;ym-1)+

 

+19Z(tm;ym)-

 

Башфорта

 

 

 

+37Z(tm-2;ym-2)-

 

-5Z(tm-1;ym-1)+

 

 

 

 

 

 

 

-9Z(tm-3;ym-3)]/24

 

+Z(tm-2;ym-2)]/24

 

 

 

 

 

 

12

ym+1=ym-3

 

ym+1=ym-1+h[Z(tm+1;y*m+1)+

 

Мілна

 

 

 

 

 

+4h[2Z(tm;ym)-

 

+4Z(tm;ym)+

 

 

 

 

 

 

 

-Z(tm-1;ym-1)+

 

+Z(tm-1;ym-1)]/3

 

 

 

 

 

 

 

+2Z(tm-2;ym-2)]/3

 

 

 

 

 

 

 

 

 

 

13

ym+1=ym-3 +

 

ym+1={9ym - ym-2 +

 

Хеммінга

 

 

 

 

 

+4h[2Z(tm;ym)-

 

+3h[Z(tm+1;y*m+1)+

 

 

 

 

 

 

 

-Z(tm-1;ym-1)+

 

+2Z(tm;ym)-

 

 

 

 

 

 

 

+2Z(tm-2;ym-2)]/3

 

-Z(tm-1;ym-1)]}/8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 2.14. Создайте М-файл процедуры правых частей дифференциальных уравнений движения двухстепенного гироскопического компаса:

J1β&&+[H J2 (ω3 cosϕcos β + uN (t)cos β uE (t)sin β)]* * (ω3 cosϕsin β + uE (t)cos β + uN (t)sin β) = 0,

где J1, J2 - моменты инерции гирокомпаса; H - его собственный кинетический

момент; β - угол отклонения главной оси гирокомпаса от плоскости географического меридиана места ; ϕ - географическая широта места объекта, на котором

установлен гирокомпас;

 

uN (t) = uNm sin(ωt +εN ),

uE (t) = uEm sin(ωt +εE )

- соответственно северная и восточная составляющие угловой скорости поворота основания, на котором установлен гирокомпас.

2.6. Создание функций от функций

126

 

 

 

Задание 2.15. Создайте процедуру правых частей дифференциальных уравнений, которые описывают динамику объемов популяций x1(t) хищников и x2 (t) жертв и известны как модель Вольтерра:

x&1 = −a11 x1 + a12 x1 x2 ; x&2 = a22 x1 a21 x1 x2.

Задание 2.16. Создайте процедуру правых частей дифференциального уравнения углового движения торпеды в горизонтальной плоскости, которая управляется нелинейным исполнительным элементом:

J

d 2ψ

+ R

dψ

+ kF(ψ) = 0,

dt2

dt

 

 

 

Процедура должна предусматривать возможность использования нескольких существенно нелинейных законов управления F(x) , в частности, релейного с зона-

ми нечувстввительности и гистерезисом:

 

 

 

 

 

c

при x < −b1,

&

> 0 ,

то

 

0 при b1 < x < b2 ,

если x

F(x) =

 

 

 

 

 

+ c

при x > b ;

 

 

 

 

 

 

2

 

 

 

 

 

+ c

при x > b1,

 

&

< 0 ,

то

 

0 при b2 < x < b1,

если же x

F(x) =

 

 

 

 

 

c

при x < b .

 

 

 

 

 

 

2

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

логическому закону:

 

 

J

dω

= kΦ(ω,ϕ);

dϕ

=ω ,

dt

dt

 

 

 

где ω - угловая скорость движения спутника; J - его момент инерции; Φ(ω,ϕ) -

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

 

 

Значение функции

Φ(ω,ϕ)

 

 

 

Знак ϕ

Знак ω

 

 

 

 

 

-

 

0

 

+

 

 

 

 

 

0

-

+1

 

0

 

0

+1

 

0

 

-1

+

0

 

0

 

-1

Задание 2.18. Создайте процедуру правых частей дифференциальных

уравнений движения волчка со сферическим подпятником, установленным в конической лунке:

 

 

2.6. Создание функций от функций

 

 

 

 

 

 

127

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dKξ

= M рξ ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dKη

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= mgl sin δ1 cosδ2 + M рη,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dKς

 

= mgl sin δ2 + M рς ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

cosδ

 

=

 

K

 

cosδ

 

sin

δ

 

+ K

 

sin δ

sin δ

 

,

 

 

 

J δ&

1

 

K

ξ

1

2

ς

2

 

 

 

e 1

 

 

 

 

 

 

η

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

Jeδ&2 = Kξ sin δ1 + Kς cosδ1,

 

 

 

 

 

где

Je - экваториальный момент инерции волчка относительно точки опоры; H -

кинетический момент волчка;

δ1,δ2 -

углы отклонения оси волчка от вертикали;

mgl

- опорный маятниковый момент волчка;

Mтрξ , Mтрη, Mтрς - составляю-

щиеьмомента сил трения в подпятнике волчка;

Kξ , Kη, Kς - проекции кинетиче-

ского момента

 

 

волка на

неподвижные

оси.

 

Моменты сил трения

Mтрξ , Mтрη,

Mтрς

можно представить следующими зависимостями:

 

 

M рξ

= −Ccos2 αcosδ1cosδ2 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

M рη = −C{sin δ2[1 (sin2 α) / 2] + cosδ2 sin δ1(sin2 α) / 2};

 

 

M

рς

= Ccosδ

2

sin δ [1 (sin2 α) / 2],

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

R mgl

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C = k

 

 

 

 

 

 

sign(H),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bcosα

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B =

1 cos2 αcos2 δ1cos2 δ2 sin 2 α(sin 2 δ2 + sin 2 δ1 cos2 δ2 ) / 2 .

Выше использованы обозначения: k - коэффициент трения материала подпятника и материала опоры; R - радиус сферы подпятника; α - угол между образующей конуса лунки и плоскостью горизонта.

Взаимосвязь проекций Kξ , Kη, Kς с собственным кинетическим моментом

H и другими кинематическими величинами определяется соотношениями:

Kξ = H cosδ2 cosδ1 Jeδ&1 sin δ2 cosδ2 cosδ1 + Jeδ&2 sin δ1;

Kη = H sin δ2 + Jeδ&1 cos2 δ2 ;

Kς = −H cosδ2 sin δ1 + Jeδ&1 sin δ2 cosδ2 sin δ1 + Jeδ&2 cosδ1.

Задание 2.19. Создайте процедуру правых частей дифференциальных уравнений гироскопа в кардановом подвесе (ГКП), установленного на неподвижном основании:

2.6. Создание функций от функций

128

 

 

 

 

 

 

 

 

 

2

&&

 

 

&

&

 

&

 

 

 

 

(J

 

+ J

cos

 

 

 

 

+ Hβ cos β =

 

 

 

 

 

 

β)α 2J

αβsin βcos β

 

 

 

 

 

1

 

&2

 

 

 

 

 

2

 

 

+ Rm sin(ωt + εR )]sin β,

 

 

= − f

2α + N0

+ Nm sin(ωt + εN ) [R0

 

 

 

 

 

 

&&

 

&

 

 

 

&

 

 

&

 

 

 

 

 

 

 

J3β + J2αsin βcos β Hα cos β = − f2 β + L0 +

 

 

 

 

 

 

+ Lm sin(ωt + εL ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dH

= R

 

+ R sin(ωt

+ ε

 

),

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

dt

0

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

J1 = J2 X + J1Z ;

J2 = J1X + Je J1Z ;

J3 = J1Y + Je;

J2 X -

момент

инерции

внешней

 

рамки карданового

подвеса относительно

наружной оси

подвеса;

J1X , J1Y , J1Z

- моменты инерции внутренней рамки относительно указанных осей;

Je

- экваториальный момент инерции ротора гироскопа; α, β

- углы поворота

главной оси ГКП вокруг наружной и внутренней осей подвеса;

H - собственный

кинетический момент ГКП; f1, f2 - коэффициенты вязкого трения по внутренней и наружной осям подвеса; N0 , L0 , R0 - постоянные составляющие моментов

внешних сил, направленных по наружной, внутренней осям подвеса и главной оси гироскопа соответственно; Nm, Lm, Rm - амплитуды гармонических составляю-

щих моментов сил, действующих по соответствующим осям; ω - частота изменения гармонических составляющих моментов сил; εN ,εL ,εR - начальные фазы

гармонических составляющих моментов сил.

Задание 2.20. Создайте процедуру правых частей дифференциального уравнения гироскопического тахометра (ГТ), установленного на вращающейся основе:

J1&x&+ f x& + cx = −c[uZ1 (J1 / H)u&Y1 + (J2 / H)uX1uZ1] + M0 c / H,

где x - выходной сигнал ГТ; H - собственный кинетический момент ГТ; J1, J2 - моменты инерции ГТ; c - угловая жесткость упругой связи ГТ с основанием; f - коэффициент углового демпфирования; uX1,uY1,uZ1 - проекции угловой скорости

основания на оси, связанные с ГТ. Последние связаны с проекциями на оси, связанные с основанием, соотношениями:

 

uX1 = uX cos β uZ sin β;

 

uZ1 = uZ cos β + uX sin β;

 

uY1 = uY ,

где

β = − H x.

 

c

 

Проекции угловой скорости основания на оси, связанные с тем же основа-

нием, полагать изменяющимися со времени по законам: uX = uX 0 + uXm sin(ωt +εX );

uY = uY 0 + uYm sin(ωt +εY ); uZ = uZ 0 + uZm sin(ωt +εZ ).

2.6. Создание функций от функций

129

 

 

 

Задание 2.21. Следящая система состоит из задающего элемента, который задает ϑ1 угол, на который должен повернуться выходной вал следящей системы (вал электродвигателя), формирующего элемента (сельсина), который сравнивает этот угол с углом поворота ϑ2 выходного вала электрического двигателя и фор-

мирует электрический сигнал, пропорциональный синусу разности этих двух углов:

u1 =U1m sin(ϑ1 ϑ2 ).

Этот сигнал суммируется с сигналом тахогенератора на валу двигателя: u2 = u1 uk ;uk = kЂωЂ.

Сигнал u2 подается на усилительное устройство, которое представляет собой трехпозиционное реле с гистерезисом. Последнее формирует напряжение uД в соответствия с зависимостью:

u

Д

= f (u

) =

zb sign(u2 )

при |u2 |> xb;

 

2

 

 

0

при |u2 |< xa .

 

 

 

 

 

Вращательное движение вала двигателя описывается дифференциальными уравнениями:

T

dωЂ

+ω

Ђ

= k u

;

 

 

 

Ђ

dt

 

Ђ Ђ

 

 

 

 

 

 

 

 

dϑ2

 

 

 

 

 

 

 

= ωЂ.

 

 

 

dt

 

 

 

 

 

 

 

 

Создайте в форме М-файла процедуру вычисления правых частей дифференциальных уравнений следящей системы, считая выходными величинами угол ϑ =ϑ1 ϑ2 рассогласования и скорость его изменения.

Задание 2.22. Составьте процедуру отыскания точных решений системы линейных однородных дифференциальных уравнений по заданной матрице A системы ДУ в форме Коши:

ddyt = A y

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

Задание 2.23. Создайте процедуру правых частей дифференциальных уравнений движения в пространстве трех гравитирующих материальных точек (задача трех тел в небесной механике)

d 2R

2

 

 

 

 

 

m

 

 

 

m

 

 

 

 

 

 

 

 

= −γ(

1

 

R21

 

 

3

 

R32 ),

dt2

 

 

R3

 

 

 

 

 

 

 

 

 

 

 

 

 

R3

 

 

 

 

 

 

 

 

 

 

 

21

 

 

 

 

 

32

 

 

d 2R

3

 

 

 

 

 

m

 

 

 

m

 

 

 

 

 

 

= −γ(

2

R32

 

1

R13 ),

dt2

 

 

R3

R3

 

 

 

 

 

 

 

 

 

32

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

R

1

= −

(m R

2

+ m R

3

),

 

 

 

 

 

 

 

m1

2

 

3