h=t/n
sum=0
do 63 i=1,n
sum=sum+m(i)**2
63 continue
s=sum*h
td=sqrt((s)/t)
return
end
! подпрограмма grafik
subroutine grafik(u,v,w,x,y,z,n,k,nu)
dimension u(n),v(n),w(n),x(n),y(n),z(n),lv(500),lh(500)
do 35 i=1,k
35 lh(i)='-'
open(unit=1,file='sas1.res')
open(unit=2,file='sas2.res')
open(unit=3,file='sas3.res')
open(unit=4,file='sas4.res')
write(*,*)
xmax=x(1)
xmin=x(1)
do 36 i=1,n
xmax=amax1(xmax,u(i),v(i),w(i),x(i),v(i),z(i))
36 xmin=amin1(xmin,u(i),v(i),w(i),x(i),v(i),z(i))
write(nu,37) (lh(i),i=1,k)
37 format(1x,127a1)
ras=xmax-xmin
n0=int(k/2)
do 39 i=1,n
n1=int((u(i)-xmin)*k/ras)+1
n2=int((v(i)-xmin)*k/ras)+1
n3=int((w(i)-xmin)*k/ras)+1
n4=int((x(i)-xmin)*k/ras)+1
n5=int((y(i)-xmin)*k/ras)+1
n6=int((z(i)-xmin)*k/ras)+1
do 38 l=1,k
38 lv(l)=' '
lv(n0)='!'
lv(n1)='@'
lv(n2)='#'
lv(n3)='$'
lv(n4)='%'
lv(n5)='^'
lv(n6)='&'
39 write(nu,40) (lv(q),q=1,k)
40 format(1x,127a1)
close(unit=nu)
return
end
2.6 Подпрограмма INTEGRAL
2.6.1 Таблица идентификаторов подпрограммы
В программе |
Пояснения |
Т |
Период |
N |
Число разбиений периода |
TD |
Значение определенного интеграла |
M |
Массив мгновенных значений |
3.6.2 Блок-схема подпрограммы
2.6.3 Текст подпрограммы INTEGRAL
subroutine integral(m,t,n,td)
real m
dimension m(n)
h=t/n
sum=0
do 63 i=1,n-1
sum=sum+m(i)**2
63 continue
s=sum*h
td=sqrt((s)/t)
return
end
3.Описание программы.
3.1 Назначение программы.
Программа предназначена для расчета электрической цепи синусоидального тока заданной конфигурации.
Язык программирования -- Фортран.
Программа проверена на контрольном примере. Может быть использована для исследования идентичной электрической цепи.
3.2. Описание логики.
3.2.1. Головной модуль.
1. Вводятся исходные значения параметров электрической схемы в файл PROEKT.IN.
2. Находятся параметры для определения законов изменения токов и напряжений (углы сдвигов фаз, максимальные значения токов и напряжения).
3. Организуется внутренний цикл для расчета массивов максимальных значений токов в цепи и в ветвях.
4.Организуется обращение к подпрограмме INTEGRAL для нахождения действующих значений токов в цепи и в ветвях.
5. Осуществляется вывод таблицы исходных данных , действующих и амплитудных значений токов, графиков зависимостей токов от времени в файл SAS1.RES.
6. Организуется внутренний цикл для расчета массивов максимальных значений напряжений на элементах и в цепи.
7. Организуется обращение к подпрограмме INTEGRAL для нахождения действующих значений напряжений на элементах и в цепи.
8. Осуществляется вывод действующих значений напряжений, графиков зависимостей напряжения от времени в файл SAS2.RES.
9. Организуется внутренний цикл для построения таблицы действующих значений напряжения на элементах C2 и L3 и токов на них.
10. Организуется внутренний цикл для расчета действующих значений напряжения на элементах C2 и L3 при заданной частоте.
11. Организуется внутренний цикл для расчета действующих значений напряжения на элементах C2 и L3 при измененной частоте.
12. Осуществляется вывод графиков напряжений и токов на элементах C2 и L3 при заданной частоте и таблицы действующих значений напряжения на элементах C2 и L3 и токов на них в файл SAS3.RES.
13. Осуществляется вывод графиков напряжений и токов на элементах C2 и L3 при скачкообразном изменении частоты со 111 Гц до 200 Гц.
3.2.2Подпрограмма INTEGRAL.
Обращение к подпрограмме имеет вид: call integral(mi,t,n,td), где
mi-массив мгновенных значений тока (напряжения) за период,
t-период
n-число разбиений периода синусоидальной функции
td-значение вычисленного интеграла
1. Вычисляется H=T/N , где H - шаг интегрирования, T- период, N- число разбиений периода синусоидальной функции.
2. Очистка ячейки, где будет накапливаться значение Sum=mi2.
3. Вычисляется значения высоты прямоугольника в цикле.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.