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

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

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 14.04.2009
Размер файла 3,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

На рисунке 4.1 представлена схема алгоритма решения задачи №4.

На рисунке 4.2 представлена схема алгоритма ввода исходных данных (подпрограмма-процедура vvod).

На рисунке 4.3 представлена схема алгоритма вычисления значения функции (подпрограмма-функция func).

На рисунке 4.4 представлена схема алгоритма вычисления интеграла (подпрограмма-функция integral).

Рисунок 4.1 - Блок-схема алгоритма решения задачи №4

Рисунок 4.2 - Блок-схема алгоритма ввода данных

Рисунок 4.3 - Блок-схема алгоритма вычисления значения функции

Рисунок 4.4 - Блок-схема алгоритма вычисления интеграла

4.6 Текст программы

Далее приведен текст программы вычисления интеграла с помощью составной формулы трапеций.

program trapetsii;

uses crt,graph;

Var a,b,e:real;

n:integer;

Procedure vvod(var lev,prav,tochnostb:real;var kolvo_razbieniy:integer);

var s:string; code:integer;

begin

repeat

writeln('введите нижний предел интегрирования');

readln(s);

val(s,lev,code);

until code=0;

repeat

writeln('введите верхний предел интегрирования, больший, чем нижний');

readln(s);

val(s,prav,code);

until (code=0) and (prav>lev);

repeat

writeln('введите количество разбиений интервала интегрирования');

readln(s);

val(s,kolvo_razbieniy,code);

until (code=0) and (kolvo_razbieniy>0);

repeat

writeln('введите точность вычисления');

readln(s);

val(s,tochnostb,code);

until (code=0) and (tochnostb>0);

end;

function func(x:real):real;

{Вычисление значения функции в узле интегрирования}

begin

func:=sin(x)/(1+sqr(x));

end;

function integral(lev,prav:real;kolvo_razbieniy:integer):real;

{Вычисление интеграла для данного количества разбиений}

var h,s:real;

i:integer;

begin

h:=(lev-prav)/kolvo_razbieniy;

s:=func(lev)*h/2;

for i:=1 to kolvo_razbieniy-1 do

begin

S:=S+func(lev+i*h)*h;

end;

s:=s+func(prav)*h/2;

integral:=s;

end;

procedure grafik(l,p:real);

{Построение графика функции f(x)=sin(x)/(1+x^2)}

var driver,mode,Err,c,d,z,i:integer; s:string; x,y: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,500);

line(0,250,640,250);

settextstyle(smallfont,horizdir,3);

setcolor(10);

outtextxy(320,255,'0');

c:=0;

d:=500;

z:=-5;

for i:=0 to 10 do

begin

if z<>0 then

begin

str(z,s);

setcolor(10);

outtextxy(c,255,s);

outtextxy(325,d,s);

setcolor(8);

line(0,d,640,d);

line(c,0,c,500);

end;

c:=c+64;

d:=d-50;

z:=succ(z);

end;

end;

x:=-5;

y:=sin(x)/(1+sqr(x));

while x<=5 do

begin

moveto(round(320+x*64),round(250-y*50));

setcolor(5);

x:=x+0.01;

y:=sin(x)/(1+sqr(x));

lineto(round(320+x*64),round(250-y*50));

end;

setcolor(11);

line(320,250,320,250);

line(round(320+l*64),round(250-(sin(l)/(1+sqr(l)))*50),round(320+l*64),250);

line(round(320+p*64),round(250-(sin(p)/(1+sqr(p)))*50),round(320+p*64),250);

readln;

closegraph;

end; end;

{Основная часть}

begin

clrscr;

writeln('ПРОГРАММА ВЫЧИСЛЯЕТ ИНТЕГРАЛ МЕТОДОМ ТРАПЕЦИЙ');

writeln(' -------------------------------------------------------');

writeln('ДЛЯ ФУНКЦИИ F=SIN(X)/(1+X^2)');

writeln(' -------------------------------------------------------');

vvod(a,b,e,n);

writeln(' -------------------------------------------------------');

while abs(integral(a,b,n)-integral(a,b,n*2))>e do n:=2*n;

writeln(' integral raven:=',integral(a,b,n*2):5:7);

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

readln;

grafik(a,b);

end.

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

Вычислить I=? sin(x)/(1+x^2)dx

Решение: Воспользуемся математическим программным пакетом Mathcad13.

На рисунке 4.5 приведен пример работы программы вычисления интеграла данной функции по составной формуле трапеций, на рисунке 4.6 - график данной функции.

Рисунок 4.5 - Тестовый пример работы программы вычисления интегралов функций по составной формуле трапеций

y(x)=sin(x)/(1+x^2)

Рисунок 4.6 - График функции y(x)=sin(x)/(1+x^2)

Заключение

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

Список используемых источников

1.Пирумов У.Г. Численные методы.- М,: Издательство МАИ ,1998.

2.Амоносов А.А. и др. Вычислительные методы для инженеров.- М.,:Высшая школа, 1994.

3.Бахвалов Н.С. ,Жидков Н.П., Кобельков Г.М. Численные методы. -

М.,:Наука, 1983.

4. Фаронов В. В. Turbo Pascal 7.0. Практика программирования. Учебное пособие. - М., «Нолидж», 1999.

5. Петров А. В. Вычислительная техника и программирование. Учебник для технических вузов. - М.: Высшая школа, 1990.


Подобные документы

  • Решение систем линейных алгебраических уравнений методом простой итерации. Полиномиальная интерполяция функции методом Ньютона с разделенными разностями. Среднеквадратическое приближение функции. Численное интегрирование функций методом Гаусса.

    курсовая работа [2,4 M], добавлен 14.04.2009

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

    курс лекций [81,2 K], добавлен 06.03.2009

  • Понятие определенного интеграла, его геометрический смысл. Численные методы вычисления определенных интегралов. Формулы прямоугольников и трапеций. Применение пакета Mathcad для вычисления интегралов, проверка результатов вычислений с помощью Mathcad.

    курсовая работа [1,0 M], добавлен 11.03.2013

  • Численные методы решения систем линейных уравнений: Гаусса, простой итерации, Зейделя. Методы аппроксимации и интерполяции функций: неопределенных коэффициентов, наименьших квадратов. Решения нелинейных уравнений и вычисление определенных интегралов.

    курсовая работа [322,7 K], добавлен 27.04.2011

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

    лабораторная работа [265,6 K], добавлен 14.08.2010

  • Решение нелинейных уравнений методом касательных (Ньютона), особенности и этапы данного процесса. Механизм интерполирования функции и численное интегрирование. Приближенное решение обыкновенных дифференциальных уравнений первого порядка методом Эйлера.

    курсовая работа [508,1 K], добавлен 16.12.2015

  • Численные методы поиска безусловного экстремума. Задачи безусловной минимизации. Расчет минимума функции методом покоординатного спуска. Решение задач линейного программирования графическим и симплексным методом. Работа с программой MathCAD.

    курсовая работа [517,9 K], добавлен 30.04.2011

  • Математическая модель: определение интеграла и его геометрический смысл. Приближённые методы вычисления. Формула прямоугольников, трапеций, парабол. Программа для вычисления значения интеграла методом трапеций в среде пакета Matlab. Цикл if и for.

    контрольная работа [262,8 K], добавлен 05.01.2015

  • Поиск оптимальных значений некоторых параметров в процессе решения задачи оптимизации. Сравнение двух альтернативных решений с помощью целевой функции. Теорема Вейерштрасса. Численные методы поиска экстремальных значений функций. Погрешность решения.

    презентация [80,6 K], добавлен 18.04.2013

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

    реферат [273,3 K], добавлен 29.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.