Санкт-Петербургский
государственный университет телекоммуникаций
им. Проф. М.А.Бонч-Бруевича
Курсовая работа по информатике
Расчет на ЭВМ характеристик выходных сигналов электрических цепей
Выполнила студентка группы ИКТ-104
Гаврилова Анастасия Владимировна
Принял ст. преподаватель кафедры
Цифровой и Вычислительной техники
и информатики
Груздева Людмила Авенировна
Санкт-Петербург
2012г.
Оглавление:
Постановка задач …………………………………………………………………………………………………………………… 3
Задание курсовой работы……………………………………………………………………………………………………….4
Анализ передаточной характеристики…………………………………………………………………………………...4
Контрольный расчет Uvx(t) и Uvix(t) в wxMaxima………………………………………………………………..…5
Расчет Uvx(t) и Uvix(t) в NetBeans………………………………………………………………………………………….…5
Таблица используемых переменных и указателей………………………………………………………………..9
Графический алгоритм головного модуля……………………………………………………………………………11
Текст программы……………………………………………………………………………………………………………………12
Контрольный расчет длительности импульса выходного сигнала в wxMaxima…………………16
Расчет длительности импульса выходного сигнала в NetBeans……………………………………….…16
Расчет длительности импульса выходного сигнала в NetBeans с заданной точностью E…16
Вывод……………………………………………………………………………………………………………………………………..17
Список литературы…………………………………………………………………………………………………………………18
Постановка задач
Данная курсовая работа посвящена решению задач машинного анализа электрических цепей. В курсовой работе необходимо:
Для заданной электрической цепи по известному выходному сигналу Uvx(t) построить выходной сигнал Uvix(t);
Определить длительности импульса выходного сигнала;
Определить длительности импульса выходного сигнала с заданной точностью;
Оформить полученные результаты в виде таблиц;
Записать полученные результаты в файлы;
Оформить проект;
Контрольный расчетUvx(t) и Uvix(t) в wxMaxima:
№ |
t |
Uvx(t) |
Uvix(t) |
1 |
3.14 |
-0.0383 |
35.0
|
2 |
3.454 |
8.6423 |
35.0 |
3 |
3.768 |
19.287 |
58.216 |
4 |
4.082 |
31.093 |
85.0 |
5 |
4.396 |
42.8 |
85.0 |
6 |
4.71 |
52.69 |
85.0 |
7 |
5.024 |
58.679 |
85.0 |
8 |
5.338 |
58.467 |
85.0 |
9 |
5.652 |
49.798 |
85.0 |
10 |
5.966 |
30.795 |
85.0 |
11 |
6.28 |
0.368 |
35.0 |
Расчет Uvx(t) и Uvix(t) в NetBeans:
№ |
t |
Uvx(t) |
Uvix(t) |
1 |
3.140 |
-0.038 |
35.000 |
2 |
3.589 |
13.000 |
42.500 |
3 |
4.037 |
29.378 |
83.446 |
4 |
4.486 |
45.896 |
85.000 |
5 |
4.934 |
57.498 |
85.000 |
6 |
5.383 |
57.796 |
85.000 |
7 |
5.831 |
40.298 |
85.000 |
8 |
6.280 |
0.368 |
35.000 |
fpprintprec:5;
(%o110) 5
N:11; tn:3.14;
tk:6.28;
dt:(tk-tn)/(N-1),numer;
(%o111) 11
(%o112) 3.14
(%o113) 6.28
(%o114) 0.314
for t:tn thru tk step dt do display(t),numer;
t=3.14
t=3.454
t=3.768
t=4.082
t=4.396
t=4.71
t=5.024
t=5.338
t=5.652
t=5.966
t=6.28
(%o115) done
B:5; l:0.5;
(%o116) 5
(%o117) 0.5
Uvx(t):=-B*exp(l*t)*sin(t);
(%o118) Uvx(t):=(-B)*exp(l*t)*sin(t)6.
for t: tn thru tk step dt do display (Uvx(t)),numer;
Uvx(3.14)=-0.0383
Uvx(3.454)=8.6423
Uvx(3.768)=19.287
Uvx(4.082)=31.093
Uvx(4.396)=42.8
Uvx(4.71)=52.69
Uvx(5.024)=58.679
Uvx(5.338)=58.467
Uvx(5.652)=49.798
Uvx(5.966)=30.795
Uvx(6.28)=0.368
(%o119) done
wxplot2d([Uvx(t)],[t,tn,tk]);
a:2.5; b:10; U1:10; U2:30;
(%o121) 2.5
(%o122) 10
(%o123) 10
(%o124) 30
Uvix(t):=if( Uvx(t)<=U1) then a*U1+b else if (Uvx(t)>U1 and Uvx(t)<=U2) then a*Uvx(t)+b else if (Uvx(t)>U2) then a*U2+b ;
for t: tn thru tk step dt do display (Uvix(t)),numer;
Uvix(3.14)=35.0
Uvix(3.454)=35.0
Uvix(3.768)=58.216
Uvix(4.082)=85.0
Uvix(4.396)=85.0
Uvix(4.71)=85.0
Uvix(5.024)=85.0
Uvix(5.338)=85.0
Uvix(5.652)=85.0
Uvix(5.966)=85.0
Uvix(6.28)=35.0
(%o108) done
wxplot2d([Uvix(t)],[t,tn,tk]);
UvixMax:0;
for t: tn thru tk step dt do (if Uvix(t)> UvixMax then UvixMax:Uvix(t));
(%o20) done
UvixMax;
(%o21) 85.0
t1:UvixMax*0.1;
t2:UvixMax*0.9;
W:t2-t1;
(%o22) 8.5
(%o23) 76.5
(%o24) 68.0
Таблица используемых переменных и указателей:
Обозначения в задаче |
Переменные и указатели |
Назначение переменных и указателей |
tn |
tn |
Начальный момент времени наблюдения входного напряжения (рабочий набор) |
tk |
tk |
Начальный момент времени наблюдения входного напряжения (рабочий набор) |
B |
B |
Параметр входного сигнала (рабочий набор) |
l |
l |
Параметр входного сигнала (рабочий набор) |
a |
a |
Параметр выходного сигнала (рабочий набор) |
b |
b |
Параметр выходного сигнала (рабочий набор) |
U1 |
U1 |
Заданное значение напряжения (рабочий набор) |
U2 |
U2 |
Заданное значение напряжения (рабочий набор) |
|
h |
Шаг для расчета массива времени |
t |
t[i] |
Массив для хранения отсчетов времени |
Uвх(t) |
Uvx[i] |
Массив для хранения отсчетов входного сигнала |
Uвых(t) |
Uvix[i] |
Массив для хранения отсчетов выходного сигнала |
ε |
E0 |
Относительная погрешность |
M |
max_iters |
Допустимое значение числа удвоения количества отсчетов входного сигнала |
|
UvixMax |
Максимальное значение выходного сигнала |
|
T1 |
Вспомогательная переменная для вычисления длительности импульса выходного сигнала |
|
T2 |
Вспомогательная переменная для вычисления длительности импульса выходного сигнала |
|
*timeF |
Указатель на запись массива времени в файл |
|
*UvxF |
Указатель на запись массива входного сигнала в файл |
|
*UvixF |
Указатель на запись массива выходного сигнала в файл |
|
flag |
Вспомогательная переменная хранящая информацию о том, продолжать ил выводить меню на экран |
|
|
Целочисленные переменные используемые в программе для счетчиков в циклах программы |
|
N |
Количество точек |
|
SIZE |
Размерность массивов |
|
V |
Переменная для вычисления заданной точности |
|
E |
Получаемая погрешность при вычислении |
|
otvet |
Выражение для функции switch |
|
|
Подпрограммы |
|
podschet_T |
Подпрограмма массива времени |
|
podschet_Uvx |
Подпрограммавычисления массива входного сигнала |
|
podschet_Uvix |
Подпрограмма вычисления массива выходного сигнала |
|
podschet_W |
Подпрограмма для вычисления длительности импульса выходного сигнала |
|
printParam |
Подпрограмма вывода параметров на экран |
|
printMasT |
Подпрограмма вывода массива t[i] на экран |
|
printMasUvx |
Подпрограмма вывода массива Uvx[i] на экран |
|
printMasUvix |
Подпрограмма вывода массива Uvix[i] на экран |
|
file |
Подпрограмма записи массивов t[i], Uvx[i], Uvix[i] в файл |
|
menu |
Подпрограмма вывода меню на экран |
Начало
Инициализация исходных
данных
N=Nнач;
V=1000000
нет
i < max_iters
да
E<E0
нет
Обращение к подпрограмме
для формирования массива t
(подпрограмма 1)
Требуемая точность не
достигнута
Обращение к подпрограмме
для формирования массива Uvx
(подпрограмма 2)
Требуемая точность достигнута
E=|W-V|
Обращение к подпрограмме
для формирования массива Uvix
(подпрограмма 3)
Обращение к подпрограмме для
вычисления длительности
импульса выходного сигнала
N=2*N; V=W
Обращение к подпрограмме
вывода меню (подпрограмма 6)
Останов
Вывод результата