Расчёт на ЭВМ характеристик выходных сигналов электрических цепей
Санкт-Петербургский
Государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича
ФАКУЛЬТЕТ
ВЕЧЕРНЕГО И ЗАОЧНОГО ОБУЧЕНИЯ
КУРСОВАЯ
РАБОТА НА ТЕМУ:
Расчет на
ЭВМ характеристик выходных сигналов электрических цепей
по
дисциплине «ИНФОРМАТИКА»
СОДЕРЖАНИЕ
1. Постановка
задачи
2. Приведение
выходного сигнала к аналитическому виду
. Программа
расчета характеристик выходного сигнала электрической цепи
. Таблица
идентификаторов
. Таблица
описаний пользовательских подпрограмм
. Контрольный
расчет
. Построение
графиков по полученным массивам входного и выходного сигналов в MathCAD
1. ПОСТАНОВКА
ЗАДАЧИ
Дана нелинейная безынерционная цепь:
Входной сигнал задан в виде
аналитического выражения (код А=23):
Рабочий набор исходных данных:
; ;
Передаточная характеристика задана в
виде графика (код Б=10):
Рабочий набор исходных данных:
; ;
Вычислить:
- максимальное значение выходного
сигнала (код В=00)
. ПРИВЕДЕНИЕ ВЫХОДНОГО СИГНАЛА К
АНАЛИТИЧЕСКОМУ ВИДУ
программа
сигнал массив электрический
Выходной сигнал задан в
виде графика. Перейдём к аналитическому выражению. Из графика видно, что имеет три
линейных участка. Поэтому аналитическая запись будет иметь вид:
при
= при
при
Для определения составим
систему из четырех уравнений для четырех значений аргумента и решим их.
при
при
Подставив во второе
уравнение, получаем:
;
при
при
Подставив во второе
уравнение, получим:
;
Подставив в , получим:
В итоге получаем:
при , где ,
= при ,где ,
при
. ПРОГРАММА РАСЧЕТА ХАРАКТЕРИСТИК ВЫХОДНОГО
СИГНАЛА ЭЛЕКТРИЧЕСКОЙ ЦЕПИ
program
kurs_1;
uses
crt;
const
maxind=160;
type
arraytype=array[1..maxind]
of real;
{описание глобальных параметров}
{-------------------------------------------------------------------------}
{Процедура
ввода
исходной
информации}data
(var kl:byte;tn,tk,uin2,uin3:real);
begin('Введите kl=1, если хотите вывести
результаты на монитор');('Введите kl=0, если хотите записать результаты в файлы
f1 и f2');
write('kl=');(kl);
writeln('Введите ваши исходные
данные:');('Начальный момент наблюдения ');
write('tn=');(tn);
write('Конечный момент наблюдения ');
write('tk=');(tk);('Введите
Uвх1');('uin2=');(uin2);('Введите
Uвх2');('uin3=');(uin3);
end;
{---------------------------------------------------------------------}
{Процедура формирования массива входных
отсчетов}
procedure uin1(kl:byte;tn,tk:real;
var uin:arraytype); {список формальных
параметров}=2; k=4; u0=0;,s,del:real; {описание локальных переменных}
i:integer;:array[1..4]of
integer;[1]:=15;u[2]:=5;u[3]:=3;u[4]:=2;:=tn;:=(tk-tn)/(k-1);:=0;i:=1 to k
do:=s+u[i]*sin(i*2*Pi*t/t1);:=t+del;[i]:=u0+s;
end;;
{---------------------------------------------------------------------}
procedure
uout1(kl:byte;uin2,uin3:real;uin:arraytype;uout:arraytype);=5; u1=10;
u2=50;a1,a2,b1,b2:real;:integer;:=(u1-u0)/uin2;:=u0;:=(u2-u1)/(uin3-uin2);:=u1-a2*uin2;i:=1
to 4 douin[i]>=uin3 then[i]:=u2;(uin[i]>=uin2) and (uin[i]<uin3)
then[i]:=a2*uin[i]+b2;uin[i]<uin2 then[i]:=a1*uin[i]+b1;
end;;
{---------------------------------------------------------------------}
{Процедура функции нахождения максимального
значения выходного сигнала}
function
maxi(uout:arraytype):real;max:real;:integer;:=uout[i];i:=2 to 4
douout[i]>maxmax:=uout[i];:=max;;
{---------------------------------------------------------------------------}
{процедура записи массивов входного и выходного
сигналов на диск в файлы}
procedure
writeinfo(uin,uout:arraytype);,f2:text;:integer;
begin(f1,'f1.prn'); {связывание и открытие
файлов}(f2,'f2.prn');(f1); {открыть файл для записи}
rewrite(f2);i:=1 to 4
do(f1,uin[i]:7:3); {запись в
файл}(f2,uout[i]:7:3);;(f1);
{закрытие
файлов}(f2);
end;
{--------------------------------------------------------------------------}
{Процедура вывода на экран результатов
программы}
procedure
rezult(kl:byte;,uout:arraytype);
var:integer;kl=1 then {признак вывода
результатов на экран монитора}('отсчеты входного сигнала');
for i:=1 to 4 do('Uвх[',i,']',uin[i]:7:3);
{вывод
входных
отчетов}('отсчеты
выходного
сигнала');i:=1
to 4 do('Uвых[',i,']=',uout[i]:7:3);
{вывод
выходных
отчетов}
writeln('Макс.значение вых. сигнала='
,maxi(uout):7:3);
end
else {kl
- любое число, например 0}
begin
writeln;;('Программа
закончила свою работу. Массивы');('входных и выходных отсчетов
сформированы');('и записаны в файлы f1.prn и f2.prn соответственно');;;
{--------------------------------------------------------------------}:byte;
{глобальные параметры}
tn,tk,uin2,uin3:real;,uout:arraytype;
{--------------------------------------------------------------------}{начало
главной
программы};(kl,tn,tk,uin2,uin3);
{тело
программы}(kl,tn,tk,uin);(kl,uin2,uin3,uin,uout);(uin,uout);(kl,uin,uout);
readln;. {конец программы}
. ТАБЛИЦА ИДЕНТИФИКАТОРОВ
Обозначение
в задаче
|
Идентификатор
|
Назначение
|
k
|
k
|
Количество
отсчетов входного сигнала
|
|
kl
|
Признак
- ключ, определяющий режим работы kl=1, если
вывод на монитор, kl - любое число, например 0, если
вывод в файл на диск.
|
uinМассив для
хранения отсчетов входного сигнала.
|
|
|
uoutМассив для
хранения отсчетов выходного сигнала.
|
|
|
|
tn
|
Начальный
момент наблюдения входного сигнала.
|
|
tk
|
Конечный
момент наблюдения входного сигнала.
|
t
|
t
|
Текущий
момент наблюдения.
|
T
|
t1
|
Период.
|
u0Коэффициенты
для нахождения входного сигнала.
|
|
|
u1
|
|
|
u2
|
|
|
u3
|
|
|
u4
|
|
|
|
del
|
Интервал
между двумя соседними отсчетами входного сигнала.
|
|
i
|
Счетчик
цикла.
|
Uin2Параметры
передаточной характеристики.
|
|
|
Uin3
|
|
|
u0
|
|
|
u1
|
|
|
u2
|
|
|
|
max
|
Переменная
для хранения макс. значения выходного сигнала.
|
|
f1,f2
|
Логические
имена файлов.
|
a1Коэффициенты,
появляющиеся при переходе от графического изображения сигнала к его
аналитическому виду.
|
|
|
a2
|
|
|
b1
|
|
|
b2
|
|
|
s
|
s
|
5. ТАБЛИЦА ОПИСАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ ПОДПРОГРАММ
Подпрограмма
|
Входные
и выходные параметры
|
Назначения
|
procedure data (var
kl:byte; var
tn,tk,uin2,uin3:real);
|
все
формальные параметры процедуры являются выходными (var -
параметры)
|
Позволяет
ввести с клавиатуры необходимые для решения задачи исходные данные и передать
эти данные в другие подпрограммы.
|
procedure uin1(kl:byte;tn,tk:real;
var uin:arraytype);
|
kl, tn, tk - входные
параметры. Используются процедурой при формировании массива входных отсчетов
сигнала. uin - входной
var -
параметр, хранит значения отсчетов входного сигнала.
|
Процедура
формирует массив отсчетов входного сигнала, который в дальнейшем может быть
использован в других подпрограммах.
|
procedure uout1 (kl:byte;uin2,
uin3:real;uin:arraytype; var uout:arraytype);
|
kl, uin2, uin3, uin- входные
параметры. Используются процедурой при формировании массива выходных отсчетов
сигнала. uout -
выходной var - параметр,
хранит значения отсчетов выходного сигнала.
|
Процедура
формирует массив отсчетов выходного сигнала, который в дальнейшем может быть
использован в других подпрограммах.
|
function maxi (uout:arraytype):
real;
|
uout - входной параметр, с его
помощью функция рассчитывает своё единственное значение - максимальное
значение выходного сигнала.
|
Функция
находит максимальное значение выходного сигнала и возвращает его в точку
вызова.
|
procedure
writeinfo(uin,uout:arraytype);
|
uin, uout - входные
параметры, которые процедура использует для проведения операции записи
массивов входных и выходных сигналов в файлы на диск.
|
Процедура
записывает отсчеты входного и выходного сигналов в нужном формате в файлы f1.prn и f2.prn
соответственно.
|
procedure rezult (kl:byte;
uin,uout:arraytype);
|
kl, uin, uout - входные
параметры, используемые процедурой для вывода результатов на экран монитора.
|
выводит
результат работы программы на экран монитора, если пользователь ввел с
помощью процедуры data нужное значении признака kl=1.
|
6. КОНТРОЛЬНЫЙ РАСЧЕТ
Назначение
набора данных
|
Набор
данных
|
Ручные
вычисления
|
Вычисления
на ЭВМ
|
|
k
|
tn
|
tk
|
ii
|
|
|
|
|
|
|
|
|
|
Контрольный
|
4
|
10
|
20
|
10
|
15
|
1
2 3 4
|
0 4,33 4,33 4,33
|
5 7,165 7,165 7,165
|
7,165
|
|
|
|
|
Контрольный
|
4
|
10
|
20
|
1
|
8
|
1
2 3 4
|
0 4,33 4,33 4,33
|
5 29,029 29,029 29,029
|
29,029
|
|
|
|
|
Контрольный
|
4
|
10
|
20
|
1
|
3
|
1 2 3 4
|
0 4,33 4,33 4,33
|
5 50 50 50
|
50
|
|
|
|
|
Рабочий
|
4
|
|
|
10
|
40
|
1
2 3 4
|
|
|
|
|
|
|
|
. ПОСТРОЕНИЕ ГРАФИКОВ ПО ПОЛУЧЕННЫМ МАССИВАМ
ВХОДНОГО И ВЫХОДНОГО СИГНАЛОВ В MATHCAD
. График по первому контрольному расчету:
График входного сигнала.
График выходного сигнала
. График по второму контрольному расчету:
График входного сигнала.
График выходного сигнала.
3. График по
третьему контрольному расчету:
График входного сигнала.
График выходного сигнала.