Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

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

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Решение задачи спектрального анализа аналогового и дискретного периодического сигнала fs(t) и задачи интегрирования дифференциального уравнения (задача Коши) средствами математического пакета Maple. Создание соответствующего проекта в среде Delphi.
Краткое сожержание материала:

Размещено на

Екатеринбург 2012г.

Федеральное агентство связи

ФГОБУ ВПО «Сибирский государственный университет

телекоммуникаций и информатики»

Уральский технический институт связи и информатики (филиал)

КУРСОВАЯ РАБОТА

по дисциплине

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

210406.65 «Сети связи и системы коммутации»

Выполнил: Романцев С.А.

Проверил: Кондратьев В.П.

СОДЕРЖАНИЕ

Задание для курсовой работы

1. Проект в Delphi

1.1 Вид и работа программы

1.2 Код программы

2. Проект в Maple

2.1 Интегрирование дифференциального уравнения. Сравнение с расчетами, выполненными в Delphi

2.2 Спектральная анализ сигнала в Maple

Список используемой литературы

Задание для курсовой работы

Написать программу на языке программирования Паскаль для решения следующей задачи (вариант задания индивидуальный). Результаты расчетов должны выводиться на экран и в файл. Оформление графиков и таблиц выполнять средствами математических пакетов (Maple, MathCad). Демонстрационный вариант программы подготовить в среде визуального программирования Delphi.

Проверить решение промежуточных задач средствами математических пакетов. Построить блок-схемы задачи и вспомогательных частей алгоритма. Оценить погрешность выполненных расчетов.

Напряжение U=U(t) на входе транзистора как функция времени описывается дифференциальным уравнением

с начальными условиями (1), где n - последняя цифра номера зачетной книжки, k - коэффициент усиления (см. ниже), fs(t) - периодический сигнал (рис. 1), m - коэффициент обратной связи.

Указания и пояснения.

1. Дифференциальное уравнение с заданными начальными условиями (задача Коши) решается методом Рунге-Кутта второго порядка с коррекцией (3) на отрезке [0;5] с шагом h=0.01.(в узлах tj =jh, j=0,1,2…). Функция fs(t) в правой части представляет собой регулирующий периодический (период Т) сигнал единичной амплитуды (рис 1, номер варианта n - последняя цифра номера зачетной книжки,). Результаты расчетов--таблица (tj,Uj) и график функции U(t) (на экран и в файл).

2. Значение коэффициента усиления k в правой части дифференциального уравнения есть наименьший положительный корень полинома (2), который вычисляется одним из методов нахождения корней уравнения (метод касательных, метод Вегстейна).

3. Построить спектральные характеристики периодического сигнала fs(t), заданного в аналоговой форме и в виде дискретного сигнала. Длительность сигнала равна 1, период T=k.

4. Период функции U(t) определить с помощью функции автокорреляции.

Курсовая работа выполняется в ЧЕТЫРЕ этапа.

1. Средствами математического пакета Maple решается задача спектрального анализа аналогового и дискретного периодического сигнала fs(t). Сравниваются спектры амплитуд аналогового и дискретного представлений сигнала. (образец выполнения задания - файл вариант11.mws).

2. Создается проект в визуальной среде Delphi, решающий эту же задачу для дискретного сигнала, а результаты выполнения сравниваются визуально.

3. С помощью языка программирования системы Maple решается задача интегрирования дифференциального уравнения (задача Коши) методом (по варианту задания). Окончательные вычисления в программе зависят от результатов расчета программы в Delphi (следующий пункт). Образец выполнения задания - файл RUTTA.mws.

4. Создается проект в визуальной среде Delphi, решающий ту же задачу Коши, результаты расчета которой записываются в файл, который используется в предыдущем пункте. Выводятся графики результатов вычислений в Maple и Delphi и сравниваются между собой. Явные несовпадения свидетельствуют об ошибке в программе на Delphi.

Оформление:

v Формат А4.

v Титул

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

v Алгоритмы решения вспомогательных задач

v Блок-схемы

v Результаты расчетов, графики

v Литература

Индивидуальное задание № 14

1. Начальные условия: U(0)=0.2

2. полином: x^5-7x-10

3. коррекция:в средней точке

4. метод поиска корня Метод Вегстейна

Сигнал:

1. Проект в Delphi

1.1 Вид и работа программы

Рис. 1 - Форма программы

Рис. 2 - Работа программы (построение графика сигнала)

Рис. 3 - Работа программы (Спектр амплитуд)

1.2 Код программы

unit Romanzew;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, Buttons;

type

TForm1 = class(TForm)

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

Label1: TLabel;

Label2: TLabel;

ListBox1: TListBox;

SaveDialog1: TSaveDialog;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

Image1: TImage;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

Npoint=50;

U0=0.2;

h=5/Npoint;

Nzach=8;

KOC=0.5;

N=40;

m=20;

{------------}

a=0;b=2; epsilon=0.000001;

type

dann=array[0..Npoint]of real;

koef=array[0..m] of real;

var

U:dann;

root:real;

t:real;

kolit:integer;

fn:string;

ft:text;

Y:dann;

v,e:koef;

function f(t:real):real;

begin

f:=t*t*t*t*t-7*t-10;

{ f:=t*sqr(sqr(t))-8*t-1; }

end;

function phi(x:real):real;

begin

phi:=x+f(x);

end;

procedure Iter(a,b:real;var x2,y2:real; var flag:Boolean);

var

x0,x1,y0,y1:real;

begin

kolit:=kolit+1;

x0:=a;y0:=phi(x0);

x1:=b;y1:=phi(x1);

x2:=(x1*y0-y1*x0)/((x1-x0)-(y1-y0));

{writeln(a,b,x2);}

y2:=phi(x2);

flag:=(y0-x0)*(y2-x2)>0;

end;

procedure Vegstein(a,b,eps:real; var x:real);

var

xz,yz:real;

prizn:Boolean;

begin

repeat

Iter(a,b,xz,yz,prizn);

if prizn then a:=xz else b:=xz;

until abs(xz-yz)<eps;

{ writeln('корень===',xz); }

x:=xz;

end;

{=======================================================}

function signal(t:real):real;

var

z:real;

begin

if t<0 then z:=0

else if t<1 then z:=1-sin(Pi*t)

else z:=0;

signal:=z;

end;

function Period(x,T:real):real;

var

z:real;

begin

z:=x-trunc(x/T)*T;

Period:=signal(z);

end;

{==================================================}

procedure graf;

var

x:r...

Другие файлы:

Методические указания к лабораторным работам по дисциплине «Программирование на языке высокого уровня»

Основы программирования на языке Turbo Pascal
Предназначено для студентов вуза, начинающих изучать программирование на языке Turbo Pascal и уже знакомых с основными конструкциями языка (развилки,...

Методические рекомендации по выполнению курсовой работы по дисциплине “Программирование на языке высокого уровня”

Программирование на языке высокого уровня
Исследование классификации компьютерных игр, двигателей прогресса индустрии для персональных компьютеров. Характеристика общей структуры, протокола и...

Программирование на языке высокого уровня С/С++
Учебное пособие написано на основе одноименного учебного курса и посвящено технологии программирования на языках высокого уровня. Рассматриваются элем...