11 CLOSE(UNIT=3)
CLOSE(UNIT=4)
WRITE(5,101) Z2,Z3
101 FORMAT(1X,'DIFRK4: РАБОТА ЗАКОНЧЕНА. РЕЗУЛЬТАТ'
*'ЗАПИСАН' В ФАЙЛЫ ',A8,' I ',A8)
STOP
END
С
SUBROUTINE RNGKT4(N,X,H,Y,Y0,FNC)
C ПОДПРОГРАММА РЕШЕНИЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ
С УРАВНЕНИЙ dY/dx=F(x,Y) С НАЧАЛЬТНЫМИ УСЛОВИЯМИ (ЗАДАС ЧА ЛУКОШКИ) МЕТОДОМ РУНГЕ-КУТТА ЧЕТВЕРТОГО ПОРЯДКА
С НА КАЖДОМ ВРЕМЕННОМ ШАГЕ С ЗАДАННЫМ ШАГОМ ПО С х
C ОБАЗНАЧЕНИЯ ПЕРЕМЕННЫХ:
C N - КОЛИЧЕСТВО УРАВНЕНИЙ В СИСТЕМЕ (ВХОДНАЯ ВЕЛИС ЧИНА)
C X - ТЕКУЩАЯ ЗНАЧИМОСТЬ НЕЗАВИСИМОЙ ПЕРЕМЕННОЙ x (РАБОС ЧАЯ И ВЫХОДНАЯ ВЕЛИЧИНА)
C H - ШАГ ИЗМЕНЕНИЯ НЕЗАВИСИМОЙ ПЕРЕМЕННОЙ x (ВХОДC НАЯ ВЕЛИЧИНА)
C Y0(N) - МАССИВ ЗНАЧЕНИЙ НАЧАЛЬНЫХ УСЛОВИЙ ДЛЯ ИНТЕГРАЛЬC НЫХ ПЕРЕМЕННЫХ y1(0), y2(0), y3(0),.. НА НАЧАЛО КАЖС ДОГО ШАГА. ПРИ ПЕРВОМ ОБРАЩЕНИИ К ПОДПРОГРАММЕ В
С ЭТОМ МАССИВЕ ДОЛЖНЫ НАХОДИТСЯ НАЧАЛЬНЫЕ ЗНАС ЧЕНИЯ ИНТЕГРАЛЬНЫХ ПЕРЕМЕННЫХ (ВХОДНЫЕ И РАБОС ЧИЕ ВЕИЧИНЫ)
C Y(N) - МАССИВ ТЕКУЩИХ ЗНАЧИЕНИЙ ИНТЕГРАЛЬНХ ПЕРЕМЕНС НЫХ Y В ТЕЧЕНИЕ КАЖДОГО ШАГА (РАБОЧИЙ МАССИВ)
C YF(N) - МАССИВ ЗНАЧЕНИЙ ИНТЕГРАЛЬНЫХ ПЕРЕМЕННЫХ Y,
С ИСПОЛЬЗОВАННЫХ В КАЧЕСТВЕ АРГУМЕНТОВ ПРИ ВЫЧИСЛЕНИИ
С ФУНКЦИЙ F(x,Y) В ПРАВЫХ ЧАСТЯХ УРАВНЕНИЙ (РАБОЧИЙ
С МАССИВ)
C F(N) - МАССИВ ЗНАЧИМОСТЕЙ ФУНКЦИЙ F(x,Y) В ПРАВЫХ ЧАСТС ЯХ УРАВНЕНИЙ (РАБОЧИЙ МАССИВ). ЗНАЧЕНИЯ ФУНКЦИЙ
С РАСЧИТЫВАЮТСЯ ВО ВНЕШНЕЙ ПОДПРОГРАММЕ FNC, КОТОРАЯ ЦЕЛЕС КОМ ОПРЕДЕЛЯЕТСЯ ВИДОМ ПРАВОЙ ЧАСТИ СИСТЕМЫ
С УРАВНЕНИЙ И ДЛЯ КАЖДОЙ НОВОЙ СИСТЕМЫ СКЛАДЫВАЕТСЯ С ПОЛЬЗОВАТЕЛЕМ ЗАНОВО
C FNC - ИМЯ ВНЕШНЕЙ ПОДПРОГРАММЫ, В КОТОРОЙ РАСЧИТ.
С ЗНАЧЕНИЯ ФУНКЦИЙ F(x,Y) В ПРАВОЙ ЧАСТИ СИСТЕМЫ. С
ИМЯ ЭТОЙ ПОДПРОГРАММЫ В СПИСКЕ ФОРМАЛЬНЫХ ПАРАМЕС ТРОВ ОПЕРАТОРА SUBROUTINE ЭТОЙ ПОДПРОГРАММЫ И В
С СПИСКЕ ФАКТИЧЕСКИХ ПАРАМЕТРОВ ОПЕРАТОРА CALL ПРАГРАС ММЫ, КАКАЯ ЕЕ ВЫЗЫВАЕТ, МОЖЕТ БЫТЬ РАЗНЫМ, В ТАКОМ СЛУС ЧАЕ В ПРОГРАММЕ, КОТОРАЯ ЕЕ ВЫЗЫВАЕТ, ЭТО ИМЯ ДОЛЖНО С
БЫТЬ ОПИСАНО В ОПЕРАТОРЕ EXTERNAL
C P(4), Q(4) - РАБОЧИЕ МАССИВЫ КАЭФ., ИСПОЛЬЗУЕМЫХ
С ПРИ РЕАЛИЗЦИИ ФОРМУЛ МЕТОДА РУНГЕ-КУТТА
С ЧЕТВЕРТОГО ПОРЯДКА
DIMENSION Y(*),Y0(*),YF(10),F(10),P(4),Q(4)
DATA P/0.,0.5,0.5,1./,Q/1.,2.,2.,1./
C НАЧАЛО ЦИКЛА ПО ЧЕТЫРЕМ ТАКТАМ РУНГЕ-КУТТА НА
C ПРОДОЛЖЕНИЕ КАЖДОГО ШАГА Н ПО x
4 DO 7 J=1,4
C ВЫЧИСЛЕНИЕ НЕЗАВИСИМОЙ ПЕРЕМЕННОЙ x I ИНТЕГРАЛЬНЫХ
С ПЕРЕМЕННЫХ Y КАК АРГУМЕНТОВ ФУНКЦИЙ F(x,Y) В ПРАС ВЫХ ЧАСТЯХ УРАВНЕНИЙ
XF=X+P(J)*H
DO 5 I=1,N
5 YF(I)=Y0(I)+H*F(I)*P(J)
C ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ ФУНКЦИЙ F(x,Y) В ПРАВЫХ ЧАСТ
-С ЯХ УРАВНЕНИЙ
CALL FNC(XF,YF,F)
C ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ ИНТЕГРАЛЬНЫХ ПЕРЕМЕННЫХ Y
С НА НОВОМ ТАКТЕ
DO 6 I=1,N
6 Y(I)=Y(I)+H*F(I)*Q(J)/6.
7 CONTINUE
C ПЕРЕСЫЛКА ЗНАЧЕНИЙ ИНТЕГРАЛЬНЫХ ПЕРЕМЕННЫХ В
С МАССИВ Y0(N)
DO 8 I=1,N
8 Y0(I)=Y(I)
11 RETURN
END
С
C ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ПРАВЫХ ЧАСТЕЙ И НЕИНТЕГРАЛЬС НЫХ ПЕРЕМЕННЫХ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ УРАВС НЕНИЙ
C Система уравнений (11) к лабораторной работе N9)
C di3/dt=R2/((R1+R2+R6)L3) (e1-e6-i3(R1+R6))-u5/L3
C du5/dt=i5/C5
C формулы для вычисления неинтегральных переменных системы (11)
C i6=(-i5R2-u5-L3di3/dt)/R2
C i5=i3
C i2=-i5-i6
C i1=i2+i3
C u1=i1R1-e1
C u2=i2R2
C u3=L3di3/dt
C u6=i6R6-e6
C е1=Em1sin( t+ e1)
C e6=Em6 sin( t+ е6)
SUBROUTINE PRAV(X,Y,F)
REAL L3,I1,I2,I5,I6
DIMENSION Y(*),F(*)
COMMON R1,EM1,FE1,R2,L3,C5,R6,EM6,FE6,OMEGA
*,I1,I2,I5,I6,U1,U2,U3,U6,E1,E6
C вычисление правых частей системы (11)
E1=EM1*SIN(OMEGA*X+FE1/57.2958)
E6=EM6*SIN(OMEGA*X+FE6/57.2958)
F(1)=R2/((R1+R2+R6)*L3)*(E1-E6-Y(1)*(R1+R6))-Y(2)/L3
F(2)=Y(1)/C5
C вычисление неинтегрированых переменных системы (11)
I6=(-Y(1)*R2-Y(2)-L3*F(1))/R2
I5=Y(1)
I2=-Y(1)-I6
I1=I2+Y(1)
U1=I1*R1
U2=I2*R2
U3=L3*F(1)
U6=I6*R6
RETURN
END
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.