Главная страница Программы проектирования [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), то расчет прекращается и подпрограмма соответственно изменяет эиа-чение КТ. Пример. Рассчитаем выходные переменные уи уг по уравнению
Результаты расчета выводятся с помощью подпрограммы 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 |