Численные методы решения типовых математических задач
Математическая формулировка задачи, существующие численные методы и схемы алгоритмов. Интерполирование функции, заданной в узлах, методом Вандермонда. Среднеквадратичное приближение функции. Вычисление интеграла функций по составной формуле трапеций.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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