Главная страница  Программы проектирования 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [ 76 ] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

(9.13) является матричной. в этом случае следует составить уравнения состояния и произвести расчет для каждой выходной переменной t/i (i=l,..., т). При этом расчетные формулы практически не изменяются. Следует только учитывать, что в этом случае и - вектор, в - матрица, bn - вектор-строка.

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

Подпрограмма PROC

Назначение: подпрограмма по заданной матрице передаточных функций W(p) н заданному вектору входных воздействий n(t) рассчитывает переходный процесс y(t)=W(p)u{t).

Обращение: CALL RR0O(N, L, М, W, DT, КТ, Y, ENTER).

Параметры:

N - степень передаточной матрицы (наибольшая степень знаменателя и числителей), L - размерность вектора входных переменных и(),

М - размерность вектора выходных переменных y{t), W - массив коэффициентов передаточной матрицы, где W(l), ...

W(N-t-l) - коэффициенты знаменателя в порядке возраста-иия степеней р; W(iK-fl), W(K-bN-bl) - коэффициенты числителя передаточной функции от входа J к выходу I в порядке возрастания степеней р, K={l-l)L(N+\)+J(N+l), DT - щаг вывода результатов,

КТ - число выводимых точек по оси времени (на входе), рассчитаи-ное числоточек (иа выходе) может быть меньше заданного, если процесс расх10дится,

Y - массив результатов размера (М-Ь 1)>)?КТ, где У((К-l)>)«(M-f

-Ь1)-Ы)=ВТ>)?(К-1) - момент времени К, Y((K-1)*(М-Ь -Ьl)-fl-t-l) - значение переменной иа выходе I в момент К.

ENTER - имя подпрограммы расчета входных воздействий, ее параметры: Т - текущее время, U - вектор входных воздействий.

Примечание: Процесс рассчитывается с момента /=0 до /=(КТ-\): %DT при нулевых предначальных условиях (и(/)=0 при /<0). Если процесс расходится (одна из выходных переменных превысила по абсолютной велотиие 1.Е15), то расчет прекращается и подпрограмма соответственно изменяет эиа-чение КТ.

Пример. Рассчитаем выходные переменные уи уг по уравнению

-р + 2 1 -

- sin < -

-р2 + 2р + 3

L-3 р J

- cos/ -

Результаты расчета выводятся с помощью подпрограммы GRAFIK, приведенной в § 12.4.



с ПРИМЕР ИСПШЬЭОВАНИЯ ПОДПРОГРАЖН PROC С

Е)СТЕЮМ. ENTER

DIMENSION M(ie*),y(2e»),YMIN(2),Y?*«((2) REAL»8 TIT,TITLE(2)

DATA ТП/ВРЕМЯ TITLE/l - Yl ,2 - Y2 /

DATA N/2/, L/2/, М/2/, DT/e.2/, КТ/41/,

,YMiN/e.,e./, Yfwx/e.,*./

DATA M / 3., 2., 1.,

1 2., 1., e„

2 1., е., e,,

3 -3., е., е.,

4 1., е./

CALL PROC(N,L,M,U,DT,KT,YrENTER)

CALL GRlVIK<M,KT,Y,YMIN,YMAX,TIT,TITLE)

STOP

С ПОДПРСГРАЖА РАСЧЕТА ВХОДНОГО ВОЗДЕЙСТВИЯ С

SUBROUTINE ENIER(T,U)

DIMENSION U(l)

U(1)=SIN<T)

U(2>=C0S(T)

RETURN

С ПОДПРОГРАММ PROC С

SUBROUTINE PROC(N,L,M,M,DT,KT,Y,ENTCR)

DIMENSION Md),Y<1),X(5»),X1(5*),XS<5e),0(5»),U(1»)

С X,X1,XS,G - РАБ0Ч1С MACCHBU ДЯМЗЙ HE MEWE N

С и - РАБОЧИЙ МАССИВ ДЛИНОЙ tf. МЕНЕЕ М

ГЛТА EPS/5.E-3/,EH/l.E-3/,YMAX/l.E15/

С EPS - допхститя относитЕльтя оаюкА

с ЕН - число, ЭАДМКЕ ОТНОШЕНИЕ /••ММЛЬНОГО НАГА с ИИТЕГ?ИРОВ<*(ИЯ к ИНТЕРВАЛ) МОДЕЛИРОВАНИЯ

С YIttX - №*ЕЖАЛЬНОЕ ЗНАЧЕНИЕ В11ХОДН0Й ПЕРЕМЕННОЙ

N1=N*1

М1=»Н1

S02=SaRT(2.)

ALfA=l.-S02/2,

DO IM 1№=1,М С ПРИСВОЕНИЕ НАЧАЛЬНЫХ ЗНАЧЕНИЙ

Т1МЕ=*.

1Т=«*

DO 5 1=1,N

5 Х(1)=*. Yl=«.

IF<U(N1).£».».) (Я ТО 15 CAU EMTER(TINE,U) DO 1« 1=1,L

1И>»( IM-1 )»NmL+H(Nl+Nl 1» Y1»Y1+M<IND)»U(I)/U(N1) 15 IF(IT.EQ.e) GO TO 2»

IF(H.LT.»T)<FLOAT(ICT)»EH) GO TO 2«

IF<NH.LE.2) GO TO 3*

A=ABS<Y1-Y2)/(ABS(Y1-YDT)+EPS»ABS(Yl)+l.E-ie)

IF(A.GT.EPS) GO TO 3* С ЭАтХМНАНИЕ РЕЗ:ЛЬТАТ0В 2» 00 25 1=1,N 25 XS(I)=X<I)

IF(IT.NE.e) TINE=TIHE+DT

IW>=IT»M1+1



Y(I№))=TI№

Y<IND)=yi

YDT=Y1 IT=IT+1 H=DT MH=1

3» IFdT.EQ.KT) GO TD

IO 35 1=1,H 35 X(I)=XS<I)

T=Tii«;

Y2=Y1 AH=ALFA»H G(1)=AH»U<1) no 4» 1=2,N 4« e(I)=AH»<U<I)+G<I-l)) GN1=W(N1)+G(N)

Ю 9» Iн=l,в

с один ШАГ ИНТЕГРИРиВАНИЯ Ю 85 IS=1,2 IF(IS.EQ.2) GO ТО 5в ТА=Т+АН по 45 1=1, N 45 Х1(1)=Х<1)

GO ТО Ы» 5* ТА=Т+Н Т=ТА

DO 55 1=1, N 55 X(I)=X(I)+SQ2»(X(I)-X1(I)) (Л CALL ENTER(TA,U)

Yl=».

DO 7* 1=1,L . UI=U(I)

IMri=(lrt-l)»Nl»L+I»Nl+l

no 65 J=1,N

X(J)=X(J)+AH»U(IMD)«UI 65 II«t=IMIH-l 7* Yl=Yl+«(IMIi)»UI

DO 75 I=2,N 75 X(I)=X(I)+AH«X<I-1)

yi=(Yl+X(N))/GNl

no 8» 1=1,N

8» x<i)=xa>43a>»Yi

85 CONTINUE

IF(«(Nl).EQ.<>..ANn.IT.EQ.l.AND.IH.EQ.l) Y(IM+1)=Y1

IF(ABS(Y1).GT.VHAX) GO TO 95 9в CONTINUE

rt=H/2.

NH=2»NH

00 TO 15 95 KT=IT ie» CONTINUE

RETURN

9.4. МОДЕЛИРОВАНИЕ СИСТЕМ ПО СТРУКТУРНОЙ СХЕМЕ

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




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [ 76 ] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100]

0.0137