рефераты рефераты
Главная страница > Курсовая работа: Численные методы решения типовых математических задач  
Курсовая работа: Численные методы решения типовых математических задач
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Численные методы решения типовых математических задач

 line(0,b1,640,b1);

 line(a1,0,a1,480);

 end;

outtextxy(325,b1,s);

 setcolor(8);

 line(0,b1,640,b1);

 line(a1,0,a1,480);

 end;

 a1:=a1+32;

 b1:=b1-24;

 z:=succ(z);

 end;

 setcolor(5);

 for i:=0 to kolvo do

 begin

 xt:=uzlbl[i];

 yt:=funktsiya[i];

 putpixel(round(320+xt*32),round(240-yt*24),5);

 end;

 moveto(round(320+uzlbl[0]*32),round(240-funktsiya[0]*24));

 setcolor(11);

 for i:=0 to kolvo do

 begin

 xt:=uzlbl[i];

 yt:=0;

 for j:=0 to kolvo do yt:=yt+c[j]*vozvedenie_v_stepenb(uzlbl[i],j);

 lineto(round(320+xt*32),round(240-yt*24));

 moveto(round(320+xt*32),round(240-yt*24));

 end;

 readln;

 closegraph;

 end;

 end;

{Основная часть программы}

 BEGIN

 CLRSCR;

Writeln('Программа осуществляет интерполирование функции, заданной в узлах');

 Vvod(N,X,Y);

 writeln(‘введите значение промежуточной точки’);

 readln(d1);

2.7 Тестовый пример

 writeln('Нажмите Enter');

 readln;

 newt(N,d1,X,Y,koef_polinoma);

 zapisb(koef_polinoma,x,y,n,fail);

 vblvod(fail,fail1);

 writeln('Нажмите Enter для просмотра графика функции, затем еще раз для выхода из программы');

 readln;

 grafik(N,X,Y,koef_polinoma);

 END.

readln(d1);

 writeln('Нажмите Enter');

 readln;

 newt(N,d1,X,Y,koef_polinoma);

 zapisb(koef_polinoma,x,y,n,fail);

 vblvod(fail,fail1);

 writeln('Нажмите Enter для просмотра графика функции, затем еще раз для выхода из программы');

 readln;

 grafik(N,X,Y,koef_polinoma);

 END.

Дана табличная функция:

Вычислить разделенные разности 1-го, 2-го, 3-го порядков (n=3) и занести их в диагональную таблицу.

Разделенные разности первого порядка:

f(x_0;x_1) = \frac{f(x_1) – f(x_0)}{x_1 – x_0}= \frac{1,098613 – 0,693147}{3 - 2} = 0,405466.\\f(x_1;x_2) = \frac{f(x_2) – f(x_1)}{x_2 – x_1}= \frac{1,386295 – 1,098613}{4 - 3} = 0,287682.\\f(x_2;x_3) = \frac{f(x_3) – f(x_2)}{x_3 – x_2}= \frac{1,609438 – 1,386295}{5 - 4} = 0,223143.

Разделенные разности второго порядка:

f(x_0;x_1;x_2) = \frac{f(x_1;x_2) – f(x_0;x_1)}{x_2 – x_0}= \frac {0,287682 – 0,405466}{4 - 2} = -0,058892.\\f(x_1;x_2;x_3) = \frac{f(x_2;x_3) – f(x_0;x_2)}{x_3 – x_1}= \frac {0,223143 – 0,287682}{5 - 3} = - 0,0322695.

Разделенная разность третьего порядка:

f(x_0;x_1;x_2;x_3) = \frac{f(x_1;x_3) – f(x_0;x_2)}{x_3 – x_0}= \frac {- 0,0322695 – (- 0,058892)}{5 - 2} = 0,00887416

Интерполяционный многочлен Ньютона для заданной табличной функции имеет вид:

L_3(x) = f(x_0) + (x – x_0) \cdot f(x_0;x_1) + (x-x_0)(x  - x_1) \cdot f(x_0;x_1;x) +\\+ (x – x_0)(x – x_1)(x – x_2) \cdot f(x_0;x_1;x_2;x_3) = 0,693147 + (x - 2) \cdot 0,405466+\\ + (x-2)(x-3) \cdot (-0,058892) + (x-2)(x-3)(x-4) \cdot 0,0887416.

График интерполяционного многочлена будет таким:

procedure zapisb(koef:mas; uzel,fun:mas; kolvo:integer; var f:text);

{В данной процедуре осуществляется запись в файл данных и результата}

var i:integer;

begin

 assign(f,'interpol.txt');

 rewrite(f);

 for i:=0 to kolvo do writeln(f,'x= ',uzel[i]:8:4,' f(x)=',fun[i]:8:4);

 writeln(f,'Интерполяционный полином');

 write(f,'p(x)=',koef[0]:8:4);

 for i:=1 to kolvo do if i>1 then write (f,'+(',koef[i]:8:4,')*x^',i)

else write (f,'+(',koef[i]:8:4,')*x');

 close(f);

end;

procedure vblvod(var f1,f2:text);

{Вывод содержимого записанного файла на экран}

var s1:string;

begin

 clrscr;

 assign(f1,'interpol.txt');

 reset(f1);

 assigncrt(f2);

 rewrite(f2);

 while not eof(f1) do

 begin

 Readln(f1,s1);

 writeln(f2,s1);

 end;

 close(f2);

 close(f1);

end;

procedure grafik(kolvo:integer; uzlbl,funktsiya:mas; c:mas);

{Построение графика полученной функции}

var driver,mode,Err,a1,b1,z,i,j:integer; s:string; xt,yt:real;

begin

 driver:=detect;

 InitGraph(driver,mode,'d:\tp7\bp\bgi');

 err:=graphresult;

 if err<>grok then writeln('Ошибка при инициализации графического режима')

 else

 begin

 Setcolor(9);

 line(320,0,320,480);

 line(0,240,640,240);

 settextstyle(smallfont,horizdir,3);

 setcolor(10);

 outtextxy(320,245,'0');

 a1:=0;

 b1:=480;

 z:=-10;

for i:=0 to 20 do

 begin

 if z<>0 then


3. Среднеквадратическое приближение функции

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

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

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

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

 , (3.1)

где  - весовая функция.

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

3.3 Обзор существующих численных методов решения задачи

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

Когда уровень неопределенности в задании приближаемой функции f(xi), i=1..m, достаточно велик, что характерно для обработки экспериментальных данных, бессмысленно требовать выполнения условий интерполирования; кроме того, число точек задания функции f(xi) часто весьма велико. Все это делает применение интерполирования мало перспективным по причинам плохой обусловленности задачи высокой размерности и проблем сходимости процесса интерполяции

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

Метод среднеквадратичного приближения обеспечивает построение полинома Pn(x), исходя из минимизации величины

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

в пространстве параметров a0 , a1 ,...,an. Существуют различные подходы к решению задачи минимизации функции D(a). Простейший из них приводит к необходимости решения нормальной системы линейных алгебраических уравнений

Однако, уже при n > 5 матрица такой системы оказывается настолько плохо обусловленной, что полученные из (3.4) значения aj оказываются мало пригодными для вычисления Pn(x). Поэтому, при необходимости построения полиномов наилучшего среднеквадратичного приближения более высоких степеней применяют другие алгоритмы, например, метод сингулярного разложения.

 

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

Можно рассмотреть две задачи:

1 - подобрать функцию  так, чтобы выполнялось неравенство

 ; (3.5)

2 - найти наилучшее приближение, т.е. такую функцию  , чтобы было справедливым соотношение

  . (3.6)

Далее займемся отысканием наилучшего приближения.

Разложим функцию  по системе линейно независимых функций :

 . (3.7)

В дальнейшем для сокращения записи будем пользоваться определением скалярного произведения в пространстве функций :

 .

Подставляя (3.7) в условие (3.6), получим

 .

Дифференцируя это выражение по  и приравнивая производные нулю, получим

 . (3.8)

Определитель этой системы есть определитель Грама функций . В силу их линейной независимости этот определитель не равен нулю. Следовательно, из системы (3.8) можно найти коэффициенты , определяющие функцию  согласно (3.6) и минимизирующие интеграл от погрешности  . Таким образом, наилучшее среднеквадратичное приближение существует и оно единственно.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9

рефераты
Новости