Решение задачи спектрального анализа аналогового и дискретного периодического сигнала fs(t) и задачи интегрирования дифференциального уравнения (задача Коши) средствами математического пакета Maple. Создание соответствующего проекта в среде Delphi.
Оформление графиков и таблиц выполнять средствами математических пакетов (Maple, MATHCAD). Напряжение U=U(t) на входе транзистора как функция времени описывается дифференциальным уравнением с начальными условиями (1), где n - последняя цифра номера зачетной книжки, k - коэффициент усиления (см. ниже), fs(t) - периодический сигнал (рис. Дифференциальное уравнение с заданными начальными условиями (задача Коши) решается методом Рунге-Кутта второго порядка с коррекцией (3) на отрезке [0;5] с шагом h=0.01.(в узлах tj =jh, j=0,1,2…). Функция fs(t) в правой части представляет собой регулирующий периодический (период Т) сигнал единичной амплитуды (рис 1, номер варианта n - последняя цифра номера зачетной книжки,). С помощью языка программирования системы Maple решается задача интегрирования дифференциального уравнения (задача Коши) методом (по варианту задания).Рис. 2 - Работа программы (построение графика сигнала)root:real; begin phi:=x f(x); procedure Iter(a,b:real;var x2,y2:real; var flag:Boolean); procedure Vegstein(a,b,eps:real; var x:real); begin with Form1.LISTBOX1.Canvas do begin> restart; with(plots):with(linalg): > pol:=x^5-7*x-10: > T:=fsolve(pol,x=1..3): > plot(pol,x=0..2.1,color=blue,thickness=2): > signal:=proc(t) local z; end: > plot(signal(x),x=-1..3, color=blue,thickness=2,discont=true); z:=x-floor(x/T)*T; signal(z);end: > plot(Period(x),x=0..5,color=brown,thickness=3,discont=true): Error, (in plot) unable to determine the discontinuities > Nzac:=8:Koc:=1:u0:=0.2:Koeff:=T: > ur:=diff(U(t),t): > F:=Nzac/10*(cos((4 Nzac/10)*t U(t)) Koeff*Period(t)-Koc*U(t)): > RK:=dsolve({ur=F,U(0)=u0},U(t),type=numeric,output=listprocedure): > FU:=subs(RK,U(t)): > T0:=5:Nt:=50:h:=T0/Nt: > h := 1/10: > Tx:=array(0..Nt):U:=array(0..Nt):U_map:=array(0..Nt): > for j from 0 to Nt do > fn:=`D:\\Romanzew..txt`: > L:=readdata(fn,2): > Graf:=plot(L,style=point,symbol=cross,color=blue,symbolsize=18): > display(Graf,RU);Коэффициенты Фурье вычисляются в аналитическом виде процедурой Fourier(T,F), где параметрами процедуры являются величина периода T и имя процедуры, вычисляющей значения сигнала на отрезке периодичности. В нашем случае это процедура Period, для использования которой следует согласовать параметры обеих процедур. Процедура Fourier вычисляет коэффициенты Фурье и передает их как глобальные для процедуры объекты. end proc: Вычислими выражения для коэффициентов и выведем их значения: > Fourier(T,signal): > a0;evalf(A,4);evalf(B,4); Ak:=2/T*int(F(x)*cos(k*x*2*Pi/T),x=T0..TN): Bk:=2/T*int(F(x)*sin(k*x*2*Pi/T),x=T0..TN): end proc: Процедура Trig_polynom подстановкой номеров k в формулы коэффициентов вычисляет эти коэффициенты и сохраняет во вновь созданных массивах a,b [0..N].Заодно строится график тригонометрического полинома степени N (структура RISTRIG, которая является глобальной и может быть выведена оператором display после вызова процедуры)..
План
СОДЕРЖАНИЕ
Задание для курсовой работы
1. Проект в Delphi
1.1 Вид и работа программы
1.2 Код программы
2. Проект в Maple
2.1 Интегрирование дифференциального уравнения. Сравнение с расчетами, выполненными в Delphi
2.2 Спектральная анализ сигнала в Maple
Список используемой литературы
Список литературы
maple delphi математический задача
1.Фаронов В.В. DELPHI. Программирование на языке высокого уровня. Учебник для вузов.-СПБ.:Питер, 2005, 640с.
4.Кондратьев В.П. Языки программирования. Система Maple.ч. I. Основы работы в системе. Ч. III/. Язык программирования системы. Учебное пособие. Екатеринбург: УРТИСИ ГОУ ВПО «СИБГУТИ», 2006.
Размещено на
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы