Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Расчеты в математическом пакете Mat lab



 

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

 

 

На следующем рисунке представлен график функции:

 


Для записи команд использован m-файл:

 

 

В командном окне были получены следующие результаты:

tochnoe = 0.56226

levpr = 0.5555

pravpr = 0.5691

trapezii = 0.5623

Sympson = 0.5623
Отчет о результатах вычисления приближенного значения корня уравнения в MS Excel.

 

В MS Excel был проведен расчет приближенного значения корня уравнения.

Интерфейс программы:

График уравнения:

Корни, полученные в excel:


Описание приложения созданного в среде Delphi.

 

При создании приложения в среде Delphi в интерфейсе был предусмотрен вывод вида функции и графика. Нахождение корня уравнения интеграла было реализовано с использование трех методов: метода правых и левых прямоугольников, метода трапеций и метода Симпсона. В отличии от расчета в Excel, где корни находились, в программе предусмотрен ввод точности вычисления пользователем. Результаты расчета выводятся, как в окно приложения, так и в текстовый файл.

 


Блок – схемы, реализующие численные методы

 

Блок-схема для метода правых прямоугольников:


Блок-схема для метода левых прямоугольников:


Блок-схема для метода трапеций:


 

Блок-схема метода Симпсона:

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

unit Unit1;

Interface

Uses

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

Dialogs, StdCtrls, Math, AxCtrls, OleCtrls, VCF1, ExtCtrls, TeeProcs,

TeEngine, Chart, Menus, Series, OleCtnrs;

Type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Button3: TButton;

Edit2: TEdit;

F1Book1: TF1Book;

Edit3: TEdit;

Button5: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Chart1: TChart;

Edit4: TEdit;

Button4: TButton;

Series2: TLineSeries;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

Label4: TLabel;

OleContainer1: TOleContainer;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

Private

{ Private declarations }

Public

{ Public declarations }

end;

Var

Form1: TForm1;

a, b, h, s, x, e: real;

i, j, n: integer;

f: text;

str: string;

Implementation

{$R *.dfm}

function integral(x: real): real;

Begin

integral: =1/sqrt(power(x, 2)+2*x+2);

end;

procedure methlev;

Begin

h: =(b-a)/(n-1);

x: =0;

s: =0;

while abs(s)< e do

for i: =2 to n do

Begin

x: =x+h;

s: =s+integral(x)*h;

end;

end;

procedure methpr;

Begin

h: =(b-a)/n;

x: =0;

s: =0;

while abs(s)< e do

for i: =1 to n do

Begin

s: =s+integral(x)*h;

x: =x+h;

end;

end;

procedure methtr;

Var

sa, sb: real;

Begin

h: =(b-a)/n;

x: =0;

s: =0;

while abs(s)< e do

for i: =1 to n do

Begin

sa: =integral(x);

sb: =integral(x+h);

s: =s+h*(sa+sb)/2;

x: =x+h;

end;

end;

procedure meths;

Var

sa, sb, sh: real;

Begin

h: =(b-a)/n;

x: =0;

s: =0;

while abs(s)< e do

for i: =1 to n do

Begin

sa: =integral(x);

sb: =integral(x+h);

s: =s+(2*sa+sb)*h/3;

x: =x+h;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

Begin

n: =StrToInt(Form1.Edit1.Text);

a: =StrToFloat(Form1.Edit2.Text);

b: =StrToFloat(Form1.Edit3.Text);

e: =StrToFloat(Edit4.Text);

methlev;

F1Book1.textRC[1, 1]: = 'Method';

F1Book1.textRC[1, 2]: ='levix';

F1Book1.textRC[2, 1]: = 'S=';

F1Book1.numberRC[2, 2]: =s;

end;

procedure TForm1.Button2Click(Sender: TObject);

Begin

n: =StrToInt(Edit1.Text);

a: =StrToFloat(Edit2.Text);

b: =StrToFloat(Edit3.Text);

e: =StrToFloat(Edit4.Text);

methpr;

F1Book1.textRC[1, 3]: ='pravix';

F1Book1.numberRC[2, 3]: =s;

end;

procedure TForm1.Button3Click(Sender: TObject);

Begin

n: =StrToInt(Edit1.Text);

a: =StrToFloat(Edit2.Text);

b: =StrToFloat(Edit3.Text);

e: =StrToFloat(Edit4.Text);

methtr;

F1Book1.textRC[1, 4]: ='trapezii';

F1Book1.numberRC[2, 4]: =s;

end;

procedure TForm1.Button5Click(Sender: TObject);

Begin

n: =StrToInt(Edit1.Text);

a: =StrToFloat(Edit2.Text);

b: =StrToFloat(Edit3.Text);

e: =StrToFloat(Edit4.Text);

meths;

F1Book1.textRC[1, 5]: ='sumpsona';

F1Book1.numberRC[2, 5]: =s;

end;

procedure TForm1.Button4Click(Sender: TObject);

var y: real;

Begin

form1.Chart1.Series[0].Clear;

n: =StrToInt(Edit1.Text);

a: =StrToFloat(Edit2.Text);

b: =StrToFloat(Edit3.Text);

e: =StrToFloat(Edit4.Text);

h: = (b-a)/n;

x: =a;

Chart1.Series[0].AddXY(x, y, '', clRed);

for i: =1 to n do begin

x: =x+h;

y: =integral(x);

Chart1.Series[0].AddXY(x, y, '', clRed);

end;

end;

procedure TForm1.N1Click(Sender: TObject);

Begin

close;

end;

procedure TForm1.N2Click(Sender: TObject);

Begin

AssignFile(f, 'Корни');

rewrite(f);

for i: =1 to n do begin

str: ='';

for j: =1 to n do str: =str+F1Book1.TextRC[i, j]+' ';

writeln(f, str);

end;

closeFile(f);

end;

End.

 

 

Изображение окна приложения

 

Первоначальный интерфейс имеет следующий вид:

 

 

После выполнения расчетов при E< = 0, 0001:

 

 

 

В качестве отчета был сформирован файл «Корни.txt»:


Анализ полученных результатов

 

 

В соответствии с заданием на курсовую работу в математическом пакете мною было найдено решение определенного интеграла и построен график.

В электронных таблицах был найден корень уравнения. Результаты практически совпали с результатами в Matlab.

Для поиска корня в среде Delphi пользователь имеет возможность ввести точность вычисления с клавиатуры.

Таким образом, расчеты показали, что можно найти решение определенного интеграла в разных средах. Наиболее трудоемким расчет оказался в среде Delphi.


Литература.

1.Фаронов В.В. Delphi. Программирование на языке высокого уровня

2.Уокенбах Д. Microsoft Office Excel 2007

3.Матющенко М.А. Matlab. Первые шаги.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 484; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.045 с.)
Главная | Случайная страница | Обратная связь