Расчет на ЭВМ характеристик выходных сигналов электрический цепей

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Санкт - Петербургский Государственный Университет Телекоммуникаций

им. проф. М. А. Бонч-Бруевича

 

 

 

 

 

 

 

 

 

 

Курсовая работа по дисциплине

Программирование на языке высшего уровня

Расчет на ЭВМ характеристик выходных сигналов электрический цепей

 

 

выполнила Севастьянова Елена,

студентка группы Р-01

 

 

 

 

 

 

Санкт-Петербург

 

 

Оглавление

 

Постановка задачи

Таблица идентификаторов

Список основных функций

Блок - схема программы

Блок - схема U входа

Текст программы

Расчёт на Maxima

Результат вычисление параметра с заданной точностью

Заключение

массив файл программа

 

Постановка задачи

 

Данная курсовая работа посвящена решению задач машинного анализа электрических цепей.

В данной работе сигнал на входе электрической цепи Uвх и сигнал на выходе электрической цепи Uвых заданы функцией, графиком и условиями. Так же дан рабочий набор, с помощью которого необходимо для заданной электрической цепи вывести формулы зависимости входного сигнала Uвхот времени и выходного сигнала Uвых от времени. Затем нужно рассчитать значение параметров Uвх и Uвых. Вычислить точность, провести запись в файл и построить графики.

 

Создание входного сигнала:

 

Входной сигнал

 

Uвх(t)=

 

Рабочий набор

U = 6B

tn = 0 сек

tк = 2? сек

Передаточная характеристика.

 

 

 

 

 

 

 

 

 

Рабочий набор

U1 = 3 В

U2 = 15 В

Передаточная характеристика

 

вых (t)

 

Таблица идентификаторов

Обозначение в задачеидентификаторназначениеtнtnначальный момент времени наблюдения входного напряжения.tкtkконечный момент времени наблюдения входного напряженияNNколичество точек разбиенияtt[n]массив времениUвхUin[n]массив входного напряженияUвыхUout[n]массив выходного напряжения-dtшаг между точками разбиенияt1t1константа времениUUконстанта входного сигналаU1U1константа выходногосигналаU2U2константа выходногосигналаU3U3константа выходногосигналаddдостигнутая погрешность-pвычисленный параметр

Список основных функций

 

1.void time (int n, float *t) - функции формирования массива времени

2.void vhod (int n, float *t, float *Uin) - функции формирования массива входного напряжения

3.void vihod (int n, float *t, float *Uin, float *Uout) - функции формирования массива выходного напряжения

4.void tabl (int n, float *t, float *Uin, float *Uout) - функция вывода таблицы

5.float par (int n, float *t, float *Uout) - функция расчета параметра

6.float spend (int n, float *t, float *Uin, float *Uout) - функция расчёта заданной точности

7.char vivod_titylnik (char *str, int n) - функция вывода титульного листа

8.void zapis_time(float n, float *t) - запись в файл массива времени

9.void zapis_mas_Uin(float n, float *t, float *Uin) - запись в файл массива входного напряжения

10.void zapis_mas_Uout(float n,float *t, float *Uin, float *Uout) - запись в файл массива выходного напряжения

 

Блок - схема программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок - схема U входа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст программы

 

#include

#include

#include

#define N 1000*fp1;*fp2;*fp3;*fp4;vivod_titylnik(char*str, int n);time(int n, float *t);vhod(int n, float *t, float *Uin);vihod(int n, float *Uin, float *Uout);tabl(int n, float *t, float *Uin, float *Uout);par(int n, float *t, float *Uout);spend(int n, float *t, float *Uin, float *Uout);zapis_time(float n, float *t);zapis_mas_Uin(float n, float *t, float *Uin);zapis_mas_Uout(float n, float *t, float *Uin, float *Uout);main() {n;cc;str[80];_titylnik(str, 80);("\nn-chislo tochek \n");("Vvedite n \n");("%d%c", &n, &cc);t[N], Uin[N], Uout[N];end = 1, command;(end) {("\nMenu \n");("1-titylniy list \n");("2-tablica \n");("3-parametr \n");("4-zapis_v_fail \n");("5-tochnost \n");("0-vihod iz programmi \n");("Vvedite komandy \n");("%d", &command);(command) {1:("TITYLNIY LIST \n");_titylnik(str, 81);;2:("\nTABLISA \n");(n, t);(n, t, Uin);(n, Uin, Uout);(n, t, Uin, Uout);;3:("\nPARAMETR \n");(n, t);(n, t, Uin);(n, Uin, Uout);p;= par(n, t, Uout);("p=%5.2f \n", p);;4:(n, t);(n, t, Uin);(n, Uin, Uout);_time(n, t);_mas_Uin(n, t, Uin);_mas_Uout(n, t, Uin, Uout);("zapis_v_fail_sovershena \n");;5:("\nTOCHNOST \n");(n, t, Uin, Uout);;0:= 0;

}

}0;

}time(int n, float *t) {i;dt, tn = 0, tk = 2*3.14;= (tk - tn) / (n - 1);(i = 0; i < n; i++) {[i] = tn + i*dt;

}

}vhod(int n, float *t, float *Uin) {i, U=6;(i = 0; i = 0) && (t[i] < 3.14 / 2))[i] = U * (1 - cos(t[i]));if (t[i] < 3.14)[i] = U * (1 + cos(t[i]));if (t[i] < (3 * 3.14 / 2))[i] = U * (1 - cos(3.14 - t[i]));[i] = U * (1 + cos(3.14 - t[i]));

}

}vihod(int n, float *Uin, float *Uout) {U1 = 3, U2 = 15;i;(i = 0; i < n; i++) {(Uin[i] < U1)[i] = U2 / U1 * Uin[i];[i] = U2;

}

}tabl(int n, float *t, float *Uin, float *Uout) {i;("%3s %6s %5s \n", "t", "Uin", "Uout");(i = 0; i < n; i++) {("%5.2f %5.2f %5.2f \n", *(t + i), *(Uin + i), *(Uout + i));

}

}par(int n, float *t, float *Uout) {Um =10;p, t1 = 0,t2;(int i = 0; i Um) && (Uout[i + 1] < Um)) t2 = t[i];p = 2*(t2 - t1);

}p;

}spend(int n, float *t, float *Uin, float *Uout) {p1, p2, d;(n, t);(n, t, Uin);(n, Uin, Uout);= par(n, t, Uout);(;;) {= 2 * n;(n > N) {("Neverno n>N \n");;

} else {(n, t);(n, t, Uin);(n, Uin, Uout);= par(n, t, Uout);= fabs((p2 - p1) / p2);

}(d < 0.01) {("\nn-kollichestvo tochek, neobhodimih dlya vichisleniy \n");("p2-parametr s tochnostuy \n");("d-dostignytaya pogreshnost \n");("n=%d p2=%5.2f d=%f \n", n, p2, d);;

} else p1 = p2;

}

}zapis_time(float n, float *t) {i;(n, t);= fopen("t[i].txt", "w");(i = 0; i < n; i++)(fp1, "\n %f", t[i]);(fp1);

}zapis_mas_Uin(float n, float *t, float *Uin) {i;(n, t);(n, t, Uin);= fopen("Uin[i].txt", "w");(i = 0; i < n; i++)(fp2, "\n %f", Uin[i]);(fp2);

}zapis_mas_Uout(float n, float *t, float *Uin, float *Uout) {i;(n, t);(n, t, Uin);(n, Uin, Uout);= fopen("Uout[i].txt", "w");(i = 0; i < n; i++