Ортогональные полиномы Чебышева

Автор работы: Пользователь скрыл имя, 19 Мая 2015 в 21:37, курсовая работа

Описание работы

Данный курсовой проект посвящен программному моделированию реакции одномассовой системы на прямоугольный импульс. В результате импульса, в том числе и прямоугольного, система начинает колебаться. Различного рода колебания – одно из самых распространенных физических явлений. Ничто в окружающей нас среде не остается в стороне от колебаний, будь то математический маятник или лист дерева на ветру. На основе колебаний работает огромное количество приборов и механизмов, широко используемых человеком.

Файлы: 1 файл

Курсовая.doc

— 967.00 Кб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

                                         

Факультет информационных технологий и робототехники (ФИТР)

                                         

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

                                         

                                         

                                         

                                         

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

                                         

по дисциплине: «Разработка приложений в визуальных средах»

                                         

на тему: «Ортогональные полиномы Чебышева»

                                         

                                         

Выполнил: ст. гр. 307211 Кожекин М.М.

Принял: доц. Гурский Н.Н. 

                                         

                                         

 

 

Минск 2014 
Белорусский национальный технический университет

 

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

                                         

                                         

                                         

                                         

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

                                         

к курсовой работе

                                         

по дисциплине «Разработка приложений в визуальных средах»

                                         

Тема: «Ортогональные полиномы Чебышева»

                                         

                                         

Исполнитель:                 Кожекин М.М.

Студент 3 курса 307211 группы

Руководитель :                 Гурский Н.Н.

                                         

                                         

                           

             

Минск 2014


 

 
Содержание

 

 
Введение

Данный курсовой проект посвящен программному моделированию реакции одномассовой системы на прямоугольный импульс. В результате импульса, в том числе и прямоугольного, система начинает колебаться.       Различного рода колебания – одно из самых распространенных  физических явлений. Ничто в окружающей нас среде не остается в стороне от колебаний, будь то математический маятник или лист дерева на ветру. На основе колебаний работает огромное количество приборов и механизмов, широко используемых человеком. 

Все колебания, имеющие самые различную природу и характеристики (амплитуды, фазы колебаний, скорость колебаний и другое), в большинстве случаев описываются схожими законами – тригонометрическими функциями, дифференциальными, показательными уравнениями и их комбинациями. Хотя в данном проекте изучается вполне конкретное физическое явление, аналогичные методы можно использовать и при моделировании других явлений и процессов.

Среда разработки Delphi 7 обладает широким набором средств для реализации сложных вычислительных процессов; для получения результатов, как в виде таблиц, так и графиков; для визуальной реализации моделирования. Одновременно Delphi 7 позволяет создавать пользовательские интерфейсы со всеми необходимыми элементами без затраты особых усилий. На выбор именно этой среды разработки повлияло,  в - первую очередь, то, что Delphi 7 соответствует всем современным стандартам языков программирования высокого уровня и поддерживает наиболее передовые разработки ( например, позволяет работать с динамическими библиотеками(dll), серверами автоматизации(технология com) , позволяет использовать для разработки проектов возможности других приложений ). 

 

1. Математическая формулировка задачи

В случае аппроксимации экспериментальных данных параболой к – го порядка для нахождения только нового дополнительного коэффициента (остальные коэффициенты остаются без изменения) удобно использовать замену системы одночленов: 1, х, х2…., хк ортогональными полиномами: Р0(х), Р1(х), Р2(х), …….. Рк(х).

Тогда получим:

  - Полином Чебышева.

Система полиномов Рi(х) образует ортогональную систему функций на множестве точек х1,х2, …хN, т.е. в этом случае:

 

 

Получаем диагональную матрицу, следовательно коэффициенты bi можно найти не решая систему уравнений, а рассчитать по следующим формулам:

,         i = 0,k¯

Ортогональные полиномы Чебышева зависят от выбора узлов xU и определяются с точностью до коэффициента.

Если принять коэффициент наивысшей степени равным единице, то полиномы можно посчитать так:

Р0(х) = 1,

Остальные полиномы находятся из рекуррентного соотношения:

, где

 

   -    квадрат нормы.

 

После получения коэффициентов регрессии и расчета полиномов Чебышева необходимо провести статистический анализ уравнения – определить оценки дисперсии и проверить адекватность уравнения.

Дисперсия опыта рассчитывается по формуле:

Дисперсия адекватности рассчитывается по формуле:

Проверка адекватности модели рассчитывается по формуле:

Коэффициент парной корреляции вычисляется по формуле:

,       

Для оценки значимости коэффициента  корреляции используется критерий Стьюдента:

Дисперсия регрессии рассчитывается следующим образом:

. Причем:

 

 

2. Описание программы

2.1. Структурная схема  программы

 

Структурная программа состоит из главного модуля, модулей описания вспомогательных форм, динамических библиотек, файлов помощи и обращений к другим программам. Связь модулей приведена на рисунке 2.1.


 

 







 



 

 

 

Рисунок 2.1.1 – Структурная схема связей модулей программы

 

2.2. Описание разработанного  класса

В результате анализа предметной области для её описания и моделирования был разработан класс TCPoly, инкапсулирующий поля, методы и свойства, применимые к рассматриваемому объекту.

type

  TCPoly = class(TObject)

  private

    n: integer;

    rod: integer;

    v_str: string;

    matr: array of Extended;

    matr_for_table: array of Extended;

    count: integer;

 

  public

    procedure PolyCheb(_n, _rod: integer);

    function  idx(i,j:integer):integer;

    procedure ClearMatr;

    function st(gr:integer):string;

    function xst(gr:integer):string;

    function koef(gr:integer):string;

    function get_str(): string;

    function get_count(): integer;

    procedure ShowPolynomial;

    function get_el_array(i_row:integer): Extended;

    procedure whithout_zero();

    procedure Get_Table(SG : TStringGrid);

    procedure Get_Chart(Ch : TChart);

    function stepX(X: Extended; stepen: integer): Extended;

    procedure Import_To_Excel(rod, por:integer);

    procedure Import_To_Word(rod, por:integer);

end;

Описание и реализация класса структурно оформлено в отдельном Unit – UPoly. Используемые секции public и private определяют области видимости элементов класса.

 

2.3. Описание реализации  технологии COM

В соответствии с требованиями на разработку данной курсовой работы была также реализована возможность экспорта методов созданного класса с помощью технологии COM. Для этого был создан сервер в виде DLL – программный модуль Project1.

library Project1;

uses

  ComServ,

  Project1_TLB in 'Project1_TLB.pas',

  Unit1 in 'Unit1.pas' {MyClass: CoClass},

  Unit2 in 'Unit2.pas';

exports

  DllGetClassObject,

  DllCanUnloadNow,

  DllRegisterServer,

  DllUnregisterServer,

  DllInstall;

{$R *.TLB}

{$R *.RES}

begin

end.

Этот сервер позволяет создать COM-объект, описание класса которого находится в модуле Unit1. Следует заметить, что данный класс полностью соответствует, приведенному в п.2.2 классу TCPoly, т.е. он является его копией. Непосредственный доступ к открытым элементам COM-класса осуществляется с помощью интерфейса IMyClass, описанного в модуде Unit2.

 

2.4. Описание динамических библиотек

При разработке приложения были реализованы 2 динамические библиотеки.

Динамическая библиотека DllFormpr.dll содержит форму о программе.

Библиотека содержит 1 экспортируемую процедуру ShowDllFormModal, служащую для отображения формы.

unit DllForm;

 

interface

 

uses

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

  Dialogs, StdCtrls;

 

type

  TfrmDllForm = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  frmDllForm: TfrmDllForm;

 

implementation

 

{$R *.dfm}

 

function ShowDllFormModal: integer; stdcall;

begin

  frmDllForm:= TfrmDllForm.Create(nil);

  Result:= frmDllForm.ShowModal;

end;

 

procedure TfrmDllForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

  Action := caFree;

end;

 

Exports

    ShowDllFormModal;

procedure TfrmDllForm.Button1Click(Sender: TObject);

begin

  frmDllForm.Close;

end;

 

end.

Библиотека содержит экспортируемую функцию ShowDllFormModal для отображения формы.

 

2.5. Средства использования сервисов, предоставляемых Microsoft Office

Кроме процедур и функций, описанных в классах, программа обеспечивает взаимодействие с серверами автоматизации приложений Microsoft Office. Так, следующие процедуры головного модуля программы позволяют автоматически производить запуск MS Word, MS Excel и передавать информацию с целью создания отчетов или использование ее для дальнейшей обработки. Реализация данных серверов автоматизации находится в классе TCPoly:

1. метод TCPoly.Import_To_Excel(rod, por:integer) обеспечивает передачу данных в Excel.

2. метод TCPoly.Import_To_Word(rod, por:integer) обеспечивает передачу данных в Excel.

 

2.6. Основные возможности программы

Программа начинается с отображения оригинальной заставки, а затем на экране появляется главное окно программы (модуль UnitMain). Главный модуль управляет работой всех других модулей в соответствии с запросами пользователя.

Он содержит:

    • Вызов окна «О программе»;
    • Сохранение данных;
    • Передача данных в MS Word и MSExcel;
    • Сохранение данных в Ini-файлах;
    • Возможность послать письмо разработчику;
    • Изменение внешнего интерфейса;
    • Вывод полиномов Чебышева I и II порядка;
    • Вывод графика поли номов Чебышева I и II порядка;

Диалог с пользователем поддерживается с помощью главного и выпадающего меню, кнопок и других интерфейсных элементов.

Окно «О программе» содержит краткую информацию о приложении.

Процесс логического взаимодействия пользователя c программой, назначение элементов главного окна описаны в «Руководстве пользователя».

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

 

3. Руководство пользователя

Для активизации программы необходимо вызвать файл Polynomials.exe.

появится заставка (см. рисунок 3.1).

Информация о работе Ортогональные полиномы Чебышева