Разработка приложения, реализующего визуализацию и обработку экспериментальных данных

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    865,13 Кб
  • Опубликовано:
    2013-07-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка приложения, реализующего визуализацию и обработку экспериментальных данных

Введение


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

Задачи:

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

.        Сравнить полином, полученный в приложении, с полиномом, построенным в MS Excel по исходным данным.

.        Сравнить график функции, полученный в приложении, графиком функции, построенным в MS Excel по исходным данным.

Средства:

1.       Lazarus 0.9.30.4 для создания приложения.

2.      Электронная таблица MS Excel.

3.      Текстовой редактор MS Word.

1. Описание теории

Аппроксимация, или приближение - научный метод, состоящий в замене одних объектов другими, в том или ином смысле близкими к исходным, но более простыми. Под аппроксимацией в математике обычно подразумевается описание некоторой, чаще не заданной явно, зависимости или совокупности представляющих ее данных с помощью другой, более простой или более единообразной зависимости. Часто данные представляются в виде отдельных точек, координаты которых задаются таблицей данных. Эти точки называются узловыми. В этом случае аппроксимацией является процесс подбора эмпирической формулы, значения которой возможно мало отличались бы от опытных данных. Результат аппроксимации (построенная функция) может не проходить через заданные точки.

Геометрическое представление аппроксимации

2. Блок-схема

Укрупненная блок-схема алгоритма аппроксимации методом наименьших квадратов

. Программирование. Разработка интерфейса приложения

Для создания приложения средствами Lazarus открываем среду разработки, создаем новый проект.

Интерфейс приложения будет состоять из 4 форм.

Форма 2

Форма 2 предварительное окно, на котором отображена тема курсовой. Кнопка Button1 предоставляет нам переход к главному окну. Форма 2 содержит компоненты:

Button1: TButton;: TLabel;: TLabel;3: TLabel;

Форма 1 является основной формой приложения, где пользователь может аппроксимировать экспериментальные данные полиномиальной функции посредством загрузки экспериментальных данных из файла. А также пользователь может сравнить график, полученный в программе, с графиком, построенным в программе в MS Excel.

Форма 1

Форма 1 содержит компоненты:

: TButton;

Button2: TButton;: TButton;: TButton;: TButton;: TButton;: TChart;: TLineSeries;: TLineSeries;: TEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TOpenDialog;: TStringGrid;

Форма 3 позволяет пользователю сравнить полином, полученный в приложении, с полиномом, построенным в MS Excel по исходным данным.

Форма 3

Форма 4 содержит краткую информацию об авторе, т.е. обо мне :)

Форма 4

Компоненты:

Button1: TButton;: TLabel;

После того как мы разработали интерфейс приложения выполняем написание всего необходимого кода и компилируем программу.

Data.txt

Для того чтобы программа работала нужные экспериментальные данные.

Программа будет загружать их из файла. Создадим текстовой файл, назовем его data.txt.

Содержание текстового файла:

.0 3.2965

.2 4.999

.4 5.9161

.6 6.1762

.8 5.2279

.0 4.794

.2 1.9072

.4 0.8723

.6 -0.414

.8 -2.4468

.0 -3.197

.2 -3.9492

.4 -4.1532

.6 -3.1484

.8 -1.5528

.  Результаты работы программы

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


При нажатии кнопки “Далее” будет выполнен переход к окну, где выполняются все вычисления и построения графика.


Выбираем файл с исходными данными и жмем «Открыть».

Программа автоматически заносит данные в таблицу.


Для построения полинома нажмем “График”



Белые квадратики это ряд точек экспериментальных данных.


. Листинг программы

Код Unit1Unit1;

{$mode objfpc}{$H+}, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,, ExtCtrls, Grids, Menus, TAGraph, TASeries, TAFuncSeries,math;

{ TForm1 }= class(TForm): TButton;: TButton;: TButton;: TButton;: TButton;: TButton;: TChart;: TLineSeries;: TLineSeries;: TEdit;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TOpenDialog;: TStringGrid;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);Button7Click(Sender: TObject);FormCreate(Sender: TObject);Image1Click(Sender: TObject);MenuItem1Click(Sender: TObject);MenuItem3Click(Sender: TObject);MenuItem6Click(Sender: TObject);MenuItem9Click(Sender: TObject);

{ private declarations }

{ public declarations }; : TForm1; ,y:array[0..100] of double;:integer;,b:array[1..4] of real;,g:array[1..4,1..4] of real;,k,n,m:integer;:real;

{ TForm1 }unit2,Unit3,Unit4;load(s:string);:text;(inp,s);(inp);:=-1;not eof(inp) do(nn);(inp,x[nn],y[nn]);;(inp);;TForm1.Button2Click(Sender: TObject);:integer;opendialog1.Execute then.Text:=opendialog1.FileName;(opendialog1.FileName);.RowCount:=nn+1;i:=1 to nn do.Cells[0,i]:=floattostr(x[i]);.Cells[1,i]:=floattostr(y[i]);;;;TForm1.Button1Click(Sender: TObject);.Show;;TForm1.Button3Click(Sender: TObject);;;TForm1.Button5Click(Sender: TObject);,j:integer;.clear;.clear;i:=1 to nn do.AddXY(x[i],y[i]);m:=1 to 4 don:=1 to 4 do[m]:=0;[m,n]:=0;i:=1 to nn do[m]:=b[m]+y[i]*exp((m-1)*ln(x[i])) ;[m,n]:=a[m,n]+x[i]*exp((n+m-3)*ln(x[i]));;;;k:=1 to 3 dom:=k+1 to 4 do[m,k]:=a[m,k]/a[k,k];n:=1 to 4 do[m,n]:=a[m,n]-g[m,k]*a[k,n];;[m]:=b[m]-g[m,k]*b[k];;;m:=4 downto 1 do:=4;:=0;n>m do:=s+a[m,n]*c[n];:=n-1;;[m]:=(b[m]-s)/a[m,m];;i:=1 to nn do:=0;m:=1 to 4 do:=s+c[m]*exp((m-1)*ln(x[i]));.AddXY(x[i],s);;;TForm1.Button6Click(Sender: TObject);.Show;;TForm1.Button7Click(Sender: TObject);.Show;;TForm1.FormCreate(Sender: TObject);;TForm1.Image1Click(Sender: TObject);;TForm1.MenuItem1Click(Sender: TObject);;TForm1.MenuItem3Click(Sender: TObject);;TForm1.MenuItem6Click(Sender: TObject);;TForm1.MenuItem9Click(Sender: TObject);;;

{$I Unit1.lrs}.

Код Unit2

unit Unit2;

{$mode objfpc}{$H+}, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,, ExtCtrls;

{ TForm2 }= class(TForm): TButton;: TLabel;: TLabel;: TLabel;Button1Click(Sender: TObject);FormCreate(Sender: TObject);

{ private declarations }

{ public declarations }; : TForm2;

{ TForm2 }unit1;TForm2.Button1Click(Sender: TObject);.Hide;.Show;;TForm2.FormCreate(Sender: TObject);;

{$I unit2.lrs}.

Код Unit3

unit Unit3;

{$mode objfpc}{$H+}, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,, ExtCtrls;

{ TForm3 }= class(TForm): TButton;: TImage;Button1Click(Sender: TObject);Label1Click(Sender: TObject);

{ private declarations }

{ public declarations }; : TForm3;

{ TForm3 }TForm3.Button1Click(Sender: TObject);.Hide;;TForm3.Label1Click(Sender: TObject);;

{$I unit3.lrs}.

Код Unit4

unit Unit4;

{$mode objfpc}, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,;

{ TForm4 }= class(TForm): TButton;: TLabel;Button1Click(Sender: TObject);Label1Click(Sender: TObject);

{ private declarations }

{ public declarations }; : TForm4;

{ TForm4 }TForm4.Label1Click(Sender: TObject);;TForm4.Button1Click(Sender: TObject);.Hide;;

{$I unit4.lrs}

end.

аппроксимация экспериментальный данные полиномиальный

Выводы

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

Список литературы

1.   Основы программирования в среде Lazarus. Мансуров К.Т.

2.      Электронный учебник «Lazarus с нуля» 2004г.

.        Карчевская М.П., Рамбургер О.Л. Лекции по информатике

Похожие работы на - Разработка приложения, реализующего визуализацию и обработку экспериментальных данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!