Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Математика

Численные методы решения математических задач

Тип: курсовая работа
Категория: Математика
Скачать
Купить
Метод Гаусса, метод прогонки, нелинейное уравнение. Метод вращения Якоби. Интерполяционный многочлен Лагранжа и Ньютона. Метод наименьших квадратов, интерполяция сплайнами. Дифференцирование многочленами, метод Монте-Карло и Рунге-Кутты, краевая задача.
Краткое сожержание материала:

Размещено на

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(национальный исследовательский университет)

Факультет №8 «Прикладная математика и физика»

Кафедра 806 «Вычислительная математика и программирование»

ОТЧЕТ

по

расчетно-графической работе

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

«Вычислительная математика»

Выполнил:

Студент группы 03-325

Игнатенко А.В.

Преподаватель:

Кринецкий О.Е.

Москва 2012

ОГЛАВЛЕНИЕ

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

2. Формулировка заданий РГР

3. Выполнение расчетно-графической работы

3.1 Метод Гаусса

3.1.1 Листинг

3.2 Метод прогонки

3.2.1 Листинг

3.3 Нелинейное уравнение

3.3.1 Листинг

3.4 Метод вращения Якоби

3.4.1 Листинг

3.5 Интерполяционный многочлен

3.5.1 Интерполяционный многочлен Лагранжа

3.5.2 Интерполяционный многочлен Ньютона

3.6 Интерполяция сплайнами

3.6.1 Листинг

3.7 Метод наименьших квадратов

3.7.1 Листинг

3.8 Дифференцирование многочленами

3.8.1 Листинг

3.9 Метод Монте-Карло

3.9.1 Листинг

3.10 Метод Рунге-Кутты

3.10.1 Листинг

3.11 Краевая задача

3.11.1 Листинг

4. Заключение

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

Выполнить задания 1-11 расчетно-графической работы в соответствии с вариантом. При выполнении заданий разрешается пользоваться различным программным обеспечением, учитывая следующие требования:

1) Алгоритм работы и листинг используемого программного обеспечения должен быть понятен студенту. Студент должен предоставить необходимые разъяснения по требованию преподавателя, либо усовершенствовать/дополнить программу, если это необходимо;

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

3) При предоставлении собственноручно написанного ПО, студенту следует разместить на носителе, содержащем ПО, дистрибутив той среды программирования, в которой было написано ПО.

2. Формулировка заданий РГР

нелинейный уравнение интерполяционный многочлен

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

Формулировка всех заданий приведена ниже.

1) Методом Гаусса с точностью е=0,01 решить СЛАУ;

2) Методом прогонки решить СЛАУ, е=0,01;

3) Методом простой итерации (или любым другим) с е=0,01 уточнить один из корней уравнения;

4) Методом вращения с е=0,01 вычислить собственные значения и собственные вектора симметрической матрицы А;

5) Выписать интерполяционные многочлены Лагранжа и Ньютона для узловых значений {xi, yi}, заданных функцией y=f(x);

6) Для таблицы задания 5 выписать кубические сплайны дефекта 1 на каждом отрезке x?[xi-1, xi], i=1..4;

7) Методом наименьших квадратов аппроксимировать линейным и квадратичным многочленом заданную таблицу.

8) Используя таблицу задания 5 найти значение 1-й и 2-й производной в заданной точке.

9) Методом Рунге-Кутты с шагом h=0,1 и е=0,01 решить задачу Коши.

10) Методом прогонки с шагом h=0,1 и 0(h2) решить краевую задачу для ОДУ.

3. Выполнение расчетно-графической работы

Все задания, представленные в РГР, были выполнены с использованием собственноручно разработанного ПО и в соответствии с требуемым вариантом. Описание метода, описание алгоритма, скриншоты работы и листинг прилагаются.

3.1 Метод Гаусса

В ходе работы программы были подсчитаны корни СЛАУ:

Определитель введенной матрицы:

3.1.1 Листинг

unit Gauss;

interface

uses

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

Dialogs, StdCtrls, Grids, ExtCtrls, jpeg;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Edit1: TEdit;

Label3: TLabel;

Button2: TButton;

mmo1: TMemo;

Label8: TLabel;

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

lbl5: TLabel;

lbl6: TLabel;

lbl7: TLabel;

bvl1: TBevel;

bvl2: TBevel;

Label1: TStaticText;

Button3: TButton;

StringGrid2: TStringGrid;

Edit2: TEdit;

Button4: TButton;

lbl8: TLabel;

Edit3: TEdit;

Image1: TImage;

lbl9: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

MAT=array [1..20,1..20] of extended;

Vec=array [1..20] of extended;

Tmass=array of Real;

Tmatrix=array of Tmass;

var

f: TextFile;

Form1: TForm1;

k,m,n,i,j,p,l: integer;

lol, znak: integer;

Mas1: Mat;

st: string;

a:Mat;

x,b:Vec;

S:real;

tempstr: string;

tempint: Integer;

tempfloat: Real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

n:=StrToInt(Edit1.text);

if n>8 then begin showmessage('Слишком большой размер'); Exit; end;

StringGrid2.ColCount:=n;

StringGrid2.RowCount:=n;

st:='';

for i:=1 to n do

for j:=1 to n+1 do

StringGrid1.Cells[j-1,i-1]:='';

st:='';

StringGrid1.ColCount:=n+1;

StringGrid1.RowCount:=n;

StringGrid1.Height:=n*26+1;

StringGrid1.Width:=(n+1)*66+1;

StringGrid1.Visible:=true;

Button2.Enabled:=true;

mmo1.Enabled:=True;

end;

procedure TForm1.Button2Click(Sender: TObject);

Var i,j,k,l,k1,n1,prov: integer;

st:string;

a:Mat;

x,b:vec;

S,R:real;

f:TextFile;

Begin

n:=StrToInt(Edit1.text);

for i:=1 to n do

for j:=1 to n+1 do

if StringGrid1.Cells[j-1,i-1]='' then

begin

ShowMessage('Заполните все поля матрицы');

exit;

end;

for i:=0 to StringGrid2.RowCount do

for j:=0 to StringGrid2.ColCount do begin

StringGrid2.Cells[i,j]:=StringGrid1.Cells[i,j];

end;

for i:=1 to n do

for j:=1 to n+1 do

a[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]);

n1:=n+1;

for k:=1 to n do

Begin

k1:=k+1;

s:=A[k,k];

j:=k;

for i:=k1 to n do

begin

R:=a[i,k];

if abs(R)>abs(S)then

Begin

S:=R;

j:=I

end;

end;

if s=0.0 then

begin

ShowMessage('Определитель равен нулю!');

Exit;

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

Численные методы
Серия: Учебная литература для вузов. Численные методы: учеб. пособие. — 2-е изд., исправленное.Излагаются основные численные методы решения широкого к...

Численные методы решения типовых математических задач
Математическая формулировка задачи, существующие численные методы и схемы алгоритмов. Интерполирование функции, заданной в узлах, методом Вандермонда....

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

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

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