Численное интегрирование и дифференцирование функций
Задачи численного интегрирования. Вычисление производной заданной функции, интерполяционного многочлена Ньютона. Решение дифференциальных уравнений. Вычисление приближенных значений интеграла методом треугольников, методом трапеций и методом Симпсона.
Рубрика | Математика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 23.12.2017 |
Размер файла | 442,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
интегрирование функция дифференциальный уравнение
Применение компьютеров приобрело сейчас массовый характер. Они используются не только при научных и инженерных расчётах, но и для хранения и обработки информации, при решении ряда других задач и даже в быту. Тем не менее, использование компьютера для проведения математических расчётов не потеряло своей актуальности. Возникла многочисленная категория специалистов, использующих их в качестве вычислительного инструмента.
Вычислительная математика изучает методы построения и исследования численных методов решения математических задач, которые моделируют различные процессы. Для решения математических задач используются следующие основные группы методов: аналитические, графические, численные. При использование аналитических методов решение задачи удается выразить с помощью формул. Графические методы позволяют в ряде случаев оценить порядок искомой величины, решение находится путем геометрических построений. Графические методы могут применяться для получения начального приближения к решению, которое затем уточняется с помощью численных методов.
Основным инструментом для решения сложных математических задач являются численные методы, позволяющие свести решение задачи к выполнению конечного числа арифметических действий над числами. При этом результаты получаются в виде числовых значений.
Выделим важные отличия численных методов от аналитических. Во-первых, они позволяют получить лишь приближенное решение задачи. Во-вторых, численные методы обычно позволяют получить лишь решение задачи с конкретными значениями параметров и исходных данных. Несмотря на эти недостатки, данные методы незаменимы в сложных задачах, которые не допускают аналитического решения.
С появлением компьютеров начался период бурного развития численных методов и их внедрения в практику. Только вычислительной машине под силу выполнить за короткое время объем вычислений в миллиарды, триллионы и более операций, необходимых для решения многих современных задач.
В данной курсовой работе показаны несколько распространенных методов расчетов математических задач.
Глава 1. Теоретический анализ
1.1 Задачи численного интегрирования
Метод прямоугольника
Идея численного интегрирования предельно проста и вытекает из геометрического смысла определенного интеграла - значение определенного интеграла численно равно площади криволинейной трапеции, ограниченной графиком функции y=f(x), осью абсцисс и прямыми х=а, х=b.
Находя приближенно площадь криволинейной трапеции, мы получаем значение интеграла. Формально процесс численного интегрирования заключается в том, что отрезок [а, b] разбивается на n частичных отрезков, а затем подынтегральная функция заменяется на нем легко интегрируемой функцией, по определенной зависимости интерполирующей значения подынтегральной функции в точках разбиения.
Итак, функция у=f(x) интегрируема на сегменте [a,b] и требуется вычислить ее интеграл
Составим интегральную сумму для f(x) на сегменте [a,b] . Для этого разобьем сегмент [a,b] на n равных между собой частей с помощью точек:
Если длину каждой части мы обозначим через х, так что , то для каждой точки xk будем иметь: (k=0,1,2,…, n).
Обозначим теперь через значение подынтегральной функцииf(x) при
то есть положим (k=0,1,…, n).
Тогда суммы
будут интегральными для функции f(x) на отрезке [a,b]. При составлении первой суммы мы рассматриваем значения функции y=f(x) в точках, являющихся левыми концами частичных сегментов, а при составлении второй суммы - в точках, являющихся правыми концами этих сегментов.
По определению интеграла имеем:
Поэтому в качестве приближенного значения естественно взять интегральную сумму:то есть положить:
А также
(1)
(1')
Эти приближенные равенства называются формулами прямоугольников.
В том случае, когда f(x)0, формулы (1) и (1') с геометрической точки зрения означают, что площадь криволинейной трапецииaABb, ограниченной дугой кривой y=f(x), осью Ох и прямыми х=а и х=b, принимается приближенно равной площади ступенчатой фигуры, образованной из n прямоугольников с основаниями и высотами: ,,, …,- в случае формулы (1) (рис. 1) и,,, …,- в случае формулы (1')(рис. 2)
Рис. 1 рис. 2
Исходя из приведенного выше геометрического смысла формул (1) и (1') способ приближенного вычисления определенного интеграла по этим формулам принято называть методом прямоугольников.
Всякое приближенное вычисление имеет определенную ценность лишь тогда, когда оно сопровождается оценкой допущенной при этом погрешности. Поэтому формулы прямоугольников будут практически пригодны для приближенного вычисления интегралов лишь в том случае, если будет существовать удобный способ оценки получающейся при этом погрешности (при заданном n), позволяющий к тому же находить и число частей n разбиения сегмента, гарантирующее требуемую степень точности приближенного вычисления. Будем предполагать, что функция f(x) имеет ограниченную производную на сегменте [a, b], так что существует такое число М>0, что для всех значений х из [a, b] выполняется неравенство |f'(x)|M. Качественный смысл этого неравенства заключается в том, что скорость изменения значения функции ограничена. В реальных природных системах это требование практически всегда выполнено. В этих условиях абсолютная величина погрешности, которую мы допускаем, вычисляя интеграл по формуле прямоугольников может быть оценена по формуле
(2)
При неограниченном возрастании n выражение , а следовательно, и абсолютная величина погрешностибудет стремиться к нулю, т.е. точность приближения будет тем больше, чем на большее число равных частей будет разделен сегмент [a, b]. Абсолютная погрешность результата будет заведомо меньше заданного числа, если взять
Следовательно, для вычисления интеграла с указанной степенью точности достаточно сегмент [a, b] разбить на число частей, большее числа.
Метод прямоугольников - это наиболее простой и вместе с тем наиболее грубый метод приближенного интегрирования. Заметно меньшую погрешность дает другой метод - метод трапеций.
Метод трапеции
Пусть функция непрерывна на отрезке [a,b], заменим её многочленом Лагранжа первой степени с узлами. Это соответствует замене кривой на секущую. Искомый интеграл, равный площади криволинейной фигуры, заменяется на площадь трапеции (рис. 3).
Рис. 3
Из геометрических соображений нетрудно написать для него формулу трапеций
(3)
Это одна из простейших квадратурных формул. Найдем её погрешность. Для этого разложим по формуле Тейлора, выбирая середину отрезка за центр разложения и предполагая наличие у функции требуемых непрерывных производных:
(4)
Погрешность есть разность точного и приближенного значений интеграла. Подставляя в (3) разложение (4), получим главный член погрешности
(5)
где члены, отброшенные при замене точного равенства приближенным, содержат старшие производные и более высокие степени длины отрезка интегрирования. Заметим, что содержащие ичлены разложения (4) уничтожились и не дали вклада в погрешность; это нетрудно было предвидеть, ибо формула трапеций по самому выводу точна для многочлена первой степени.
Вообще говоря, длина отрезка b-a не мала, поэтому остаточный член (5) может быть велик. Для повышения точности на отрезке [a,b] вводят достаточно густую сетку Интеграл разбивают на сумму интегралов по шагам сетки и к каждому шагу применяют формулу (3). Получают обобщенную формулу трапеций
(6)
На равномерной сетке она упрощается:
(7)
Поскольку в оценке (5) были отброшены члены, содержащие более высокие степени длины интервала, то выражение остаточного члена (7) является асимптотическим, т.е. выполняющимся при с точностью до членов более высокого порядка малости. Но для справедливости этой оценки необходимо существование непрерывной; есликусочно-непрерывна, то удается сделать лишь мажорантную оценку
(8)
Таким образом, обобщенная формула трапеций имеет второй порядок точности относительно шага сетки. На равномерной сетке это видно непосредственно, а на квазиравномерной сетке, порожденной преобразованием , остаточный член (6) можно привести к виду
(9)
если используемые в этой формуле производные непрерывны. Для произвольной неравномерной сетке асимптотическая оценка в виде суммы (6) справедлива, но неудобна для использования; можно пользоваться мажорантной оценкой (8), подразумевая под шагом
Метод Симпсона
Разобьем отрезок интегрирования [a,b] на четное число n равных частей с шагом h. На каждом отрезке подынтегральную функцию заменим интерполяционным многочленом второй степени:
Коэффициенты этих квадратных трехчленов могут быть найдены из условий равенства многочлена в точках соответствующим табличным данным В качествеможно принять интерполяционный многочлен Лагранжа второй степени, проходящий через точки
Рис. 4
Сумма элементарных площадей и(рис. 4) может быть вычислена с помощью определенного интеграла. Учитывая равенстваполучаем
Проведя такие вычисления для каждого элементарного отрезка просуммируем полученные выражения:
Данное выражение для S принимается в качестве значения определенного интеграла:
(10)
Полученное соотношение называется формулой Симпсона или формулой парабол.
Эту формулу можно получить и другими способами, например двукратным применением метода трапеций при разбиениях отрезка [a,b] на части с шагами h и 2h или комбинированием формул прямоугольников и трапеций.
Иногда формулу Симпсона записывают с применением полуцелых индексов. В этом случае число отрезков разбиения n произвольно (не обязательно четно), и формула Симпсона имеет вид:
(11)
Видно, что формула (11) совпадает с (10), если формулу (10) применить для числа отрезков разбиения 2n и шага h/2.
Как и для формулы трапеций, погрешность формул Симпсона вычисляется подстановкой разложения (4), в котором теперь надо удержать большее число членов и для каждой пары интервалов иза центр разложения взять узел. Главный вклад в погрешность дает только пятый член разложения. Подставляя его в выражение суммарной погрешности двух соседних интервалов, найдем
После суммирования по парам соседних интервалов получим
т.е. формула Симпсона имеет четвертый порядок точности, а численный коэффициент в остаточном члене очень мал. Благодаря этим обстоятельствам формула Симпсона обычно дает хорошую точность при сравнительно небольшом числе узлов(если четвертая производная функции не слишком велика).
1.2 Вычисление производной заданной функции
Интерполяционный многочлен Ньютона
Для нахождения первой и второй производных функции функцию у, заданную в равноотстоящих точках (i = 0, 1, 2, …, n) отрезка [a, b] значениями , приближенно заменяют интерполяционным многочленом Ньютона, построенным для системы узлов [1]:
(5)
Раскрывая скобки и учитывая, что
получим:
. (6)
Аналогично, учитывая
получим:
. (7)
Таким же образом можно при необходимости вычислить производную функции любого порядка. Заметим, что при вычислении производных в фиксированной точке х в качестве следует брать ближайшее табличное значение аргумента. Можно также вывести формулы численного дифференцирования, основанные на второй интерполяционной формуле Ньютона [1].
1.3 Решение дифференциальных уравнений
Метод Эйлера
Рассмотрим дифференциальное уравнение
(1)
с начальным условием
Подставив в уравнение (1), получим значение производной в точке :
При малом имеет место:
Обозначив , перепишем последнее равенство в виде:
(2)
Принимая теперь за новую исходную точку, точно также получим:
В общем случае будем иметь:
(3)
Это и есть метод Эйлера. Величина называется шагом интегрирования. Пользуясь этим методом, мы получаем приближенные значения у , так как производная на самом деле не остается постоянной на промежутке длиной . Поэтому мы получаем ошибку в определении значения функции у , тем большую, чем больше . Метод Эйлера является простейшим методом численного интегрирования дифференциальных уравнений и систем. Его недостатки - малая точность и систематическое накопление ошибок.
Более точным является модифицированный метод Эйлера с пересчетом. Его суть в том, что сначала по формуле (3) находят так называемое «грубое приближение» (прогноз):
а затем пересчетом получают тоже приближенное, но более точное значение (коррекция):
(4)
Фактически пересчет позволяет учесть, хоть и приблизительно, изменение производной на шаге интегрирования , так как учитываются ее значения в начале и в конце шага (рис. 1), а затем берется их среднее. Метод Эйлера с пересчетом (4) является по существу методом Рунге-Кутта 2-го порядка [2], что станет очевидным из дальнейшего.
Рис. 1. Геометрическое представление метода Эйлера с пересчетом.
Метод Рунге-Кутта
Вновь рассмотрим дифференциальное уравнение
(1)
с начальным условием
Классический метод Рунге-Кутта 4-го порядка описывается следующей системой пяти равенств:
(5)
где
Строго говоря, существует не один, а группа методов Рунге-Кутта, отличающихся друг от друга порядком, т.е. количеством параметров . В данном случае мы имеем метод 4-го порядка, который является одним из наиболее применяемых на практике, так как обеспечивает высокую точность и в то же время отличается сравнительной простотой. Поэтому в большинстве случаев он упоминается в литературе просто как «метод Рунге-Кутта» без указания его порядка.
Глава 2. Практическое решение
2.1 Задачи численного интегрирования
Метод прямоугольника
Вычислить приближенные значения интеграла методом треугольников, методом трапеций и методом Симпсона в соответствии с вариантом. Результаты сравнить с точным значением интеграла и между собой.
,
a=2,
b=3,
n=10,
,
По формуле:
h= (b-a)/n,
Получаем:
h= (3-2)/10,
Определяем значения xi в соответствии с данными
x0=2
x1=2,1
x2=2,2
x3=2,3
x4=2,4
x5=2,5
x6=2,6
x7=2,7
x8=2,8
x9=2,9
x10=3
Используем формулу:
,
Определяем yi подставляя xi в уравнение
Соответственно:
y1=1.077
y2=1.156
y3=1.238
y4=1.323
y5=1.411
y6=1.503
y7=1.598
y8=1.697
y9=1.801
y10=1.909
=1.077*0.1+1.156*0.1+1.238*0.1+1.323*0.1+1.411*0.1+1.598*0.1+1.697*0.1+1.801*0.1+1.909*0.1+1.503*0.1=1.4713
Итого, примерное значение данного интеграла вычисленное методом правого треугольника равно 1,4713
Результаты программного расчета:
Метод трапеции
Вычислить по формуле трапеций интеграл , используя разбиения отрезка на 10 частей.
Из условия задачи известно
a=2,
b=3,
n=10,
,
По формуле:
h= (b-a)/n,
Получаем:
h= (3-2)/10,
Определяем значения xi в соответствии с данными
x0=2
x1=2,1
x2=2,2
x3=2,3
x4=2,4
x5=2,5
x6=2,6
x7=2,7
x8=2,8
x9=2,9
x10=3
Определяем yi подставляя xi в уравнение
Соответственно:
y1=1.077
y2=1.156
y3=1.238
y4=1.323
y5=1.411
y6=1.503
y7=1.598
y8=1.697
y9=1.801
y10=1.909
Используем формулу трапеций
Получаем,
Итого, примерное значение данного интеграла вычисленное методом правого треугольника равно 1,425
Результаты программного расчета:
=1,42587196826935
Метод Симпсона
Вычислить по формуле Симпсона интеграл , используя разбиения отрезка на 10 частей.
Из условия задачи известно
a=2,
b=3,
n=10,
,
По формуле:
h= (b-a)/n,
Получаем:
h= (3-2)/10,
Определяем значения xi в соответствии с данными
x0=2
x1=2,1
x2=2,2
x3=2,3
x4=2,4
x5=2,5
x6=2,6
x7=2,7
x8=2,8
x9=2,9
x10=3
Определяем yi подставляя xi в уравнение
Соответственно:
y1=1.077
y2=1.156
y3=1.238
y4=1.323
y5=1.411
y6=1.503
y7=1.598
y8=1.697
y9=1.801
y10=1.909
Используем формулу Симпсона
Итого, примерное значение данного интеграла вычисленное методом Симпсона 1,425
Результаты программного расчета:
=1,42558109760284
2.2 Вычисление производной заданной функции
Интерполяционный многочлен Ньютона
Необходимо найти производную функции с использованием численных методов. Если нужно найти производную в точках, совпадающих с узлами xi, то можно воспользоваться разностными формулами. Но более универсальным приемом для вычисления производных функции в произвольных точках являются методы с использованием интерполяционных многочленов Лагранжа и Ньютона. Рассмотрим метод Ньютона.
Вычислить приближенно первую и вторую производные функции , в точках х=2,2 и х=2,7 по ее значениям на отрезке [2,3] с шагом n=5
Соответственно по формуле:
h = (b-a)/n,
h=(3-2)/5=0,2
Построить таблицу разностей функции
i |
xi |
yi |
Дyi |
Д2yi |
Д3yi |
Д4yi |
Д4yi |
|
0 |
2 |
1 |
0.156 |
0.011 |
0.002 |
0.001 |
0.002 |
|
1 |
2.2 |
1.156 |
0.167 |
0.013 |
0.001 |
0.003 |
||
2 |
2.4 |
1.323 |
0.18 |
0.014 |
0.004 |
|||
3 |
2.6 |
1.503 |
0.194 |
0.018 |
||||
4 |
2.8 |
1.697 |
0.212 |
|||||
5 |
3 |
1.909 |
Вычислить t для значения x=2.2
t = (x-x0)/h = (2.2-2)/0,2 = 1
Так как точка х=2.2 лежит ближе к левому краю отрезка [2,3], то для вычисления производной используем первый интерполяционный многочлен Ньютона
=0.806
Результаты программного расчета:
y'=0,806153893470764
y''=0,26610916852951
Вычислить t для значения x=2.7
t = (x-x0)/h = (2.7-3)/0,2 = -1.5
Так как точка х=2.7 лежит ближе к левому краю отрезка [2,3], то для вычисления производной используем второй интерполяционный многочлен Ньютона
\
Результаты программного расчета:
y'= 0,972044408321381
y''= 0,398167610168457
2.3 Решение дифференциальных уравнений
Метод Эйлера
Проинтегрировать методом Эйлера дифференциальное уравнение с начальным условием x0=0, y0=1 на отрезке [0;2], приняв h=0,2.
Вычислить значения xi с учетом шага h в пределах отрезка [a,b]
x0=0
x1=0,2
x2=0,4
x3=0,6
x4=0,8
x5=1
x6=1,2
x7=1,4
x8=1,6
x9=1,8
x10=2
Вычислить значение производной в начальной точке
Вычислить значения функции yi для следующего xi
yi+1=yi+h*f(xi,yi)
Вычислить значения функции yi для следующего xi
yi+1=yi+h*f(xi,yi)
В результате вычислений получаем таблицу:
i |
xi |
yi |
yi=sinxy2 |
|
0 |
0 |
1 |
0 |
|
1 |
0.2 |
1 |
0.199 |
|
2 |
0.4 |
1.04 |
0.421 |
|
3 |
0.6 |
1.124 |
0.714 |
|
4 |
0.8 |
1.267 |
1.151 |
|
5 |
1 |
1.497 |
1.886 |
|
6 |
1.2 |
1.874 |
3.274 |
|
7 |
1.4 |
2.529 |
6.302 |
|
8 |
1.6 |
3.789 |
14.353 |
|
9 |
1.8 |
6.66 |
43.19 |
|
10 |
2 |
15.298 |
Общим решением данного обыкновенного дифференциального уравнения является вектор yi
Результаты программного расчета:
2.3 Решение дифференциальных уравнений
Метод Рунге-Кутта
Найти методом Рунге-Кутта решение дифференциального уравнения с начальными условиями x0=0, y0=1 на отрезке [0;2], приняв h=0,2.
Вычислить значения xi с учетом шага h в пределах отрезка [a,b]
x0=0
x1=0,2
x2=0,4
x3=0,6
x4=0,8
x5=1
x6=1,2
x7=1,4
x8=1,6
x9=1,8
x10=2
Рассчитать значения коэффициентов в начальной точке согласно формулам:
Аналогично вычисляем yi для i=2,3,4,5,6.
В итоге вычислений получаем следующие данные, которые являются решением уравнения:
i |
xi |
yi |
|
0 |
0 |
1 |
|
1 |
0.2 |
1,02 |
|
2 |
0.4 |
1,08 |
|
3 |
0.6 |
1,096 |
|
4 |
0.8 |
1,387 |
|
5 |
1 |
1,701 |
|
6 |
1.2 |
2,249 |
|
7 |
1.4 |
3,314 |
|
8 |
1.6 |
5,835 |
|
9 |
1.8 |
14,601 |
|
10 |
2 |
47,323 |
Общим решением данного обыкновенного дифференциального уравнения является вектор yi
Результаты программного расчета:
Заключение
Вычислительная математика -- раздел математики, включающий круг вопросов, связанных с производством разнообразных вычислений. В более узком понимании вычислительная математика -- теория численных методов решения типовых математических задач. Современная вычислительная математика включает в круг своих проблем изучение особенностей вычисления с применением компьютеров. Численные методы - это ответвление вычислительной математики, которая оформилась как наука в начале 20 века.
В вычислительных (численных) методах происходит представление как исходных данных в задаче, так и её решения -- в виде числа или набора чисел. В системе подготовки инженеров технических специальностей является важной составляющей. Основами для вычислительных методов являются: решение систем линейных уравнений, интерполирование и приближённое вычисление функций, численное интегрирование, численное решение системы нелинейных уравнений, численное решение обыкновенных дифференциальных уравнений, численное решение уравнений в частных производных (уравнений математической физики), решение задач оптимизации.
Область применения численных методов весьма обширна, во многих случаях имеет в практическое применение, иногда и теоретическое . Например, в моделировании вихревых потоков в архитектуре просто необходимо использовать вычислительные методы. Большое количество численных методов разработано для решения задач математической физики, к которым, например, относятся задачи тепло- и массопереноса, исследования турбулентного движения.
К инженерным приложениям численных методов можно отнести расчеты магнитных и электростатических линз для заряженных частиц, различного рода радиотехнические расчеты.
Можем применять данные методы для решения систем уравнений (неважно каких: линейных, нелинейных и т.д.)В общем, область применения ограничивается лишь самим человеком, который реализует какие-либо, необходимые ему задачи.
В связи с развитием компьютеризации в современном мире, расчет задач становится максимально точным, что продемонстрировано в данной курсовой работе. Результаты программного расчета намного более точны в отличии от письменного счета. Благодаря этому на сегодняшний день механизмы любого расчета становятся на новый уровень.
Список использованной литературы
1. Волков, Е.А. Численные методы: учеб. пособие / E. A. Волков. - М.: Наука, 2012. - 256 с.
2. Турчак, Л.И. Основы численных методов: учеб. пособие / Л.И. Турчак; под ред.В. В. Щенникова. - М.: Наука, 2007. - 320 с.
3. Поршнев, С.В. Вычислительная математика. Курс лекций: учеб. пособие С.В. Поршнев. - 2-е изд., доп. - СПб.: БХВ-Петербург, 2014. - 320 с.
4. Демидович, Б.П. Основы вычислительной математики: учеб. пособие Б.П. Демидович, И.А. Марон. - 6-е изд., стереотип. - СПб.; М.; Краснодар: Лань, 2014. - 672 с.
Приложения
Листинг программ:
Задачи численного интегрирования:
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a=2, b=3, n=10, h, dx, y;
h=(b-a)/n;
dx=0;
for(int i=1; i<=n; i++)
{
a=a+h;
y=((pow(2,a)-1)*a)/(pow(a,2)+2);
dx=dx+(y*h);
}
Edit1->Text =dx;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float a=2, b=3, n=10, h, fx, y, dx;
h=(b-a)/n;
dx=((pow(2,a)-1)*a)/(pow(a,2)+2)+((pow(2,b)-1)*b)/(pow(b,2)+2);
for(int i=1; i<n; i++)
{
a=a+h;
y=((pow(2,a)-1)*a)/(pow(a,2)+2);
fx=fx+y;
}
dx=h*((dx/2)+fx);
Edit2->Text =dx;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
float a=2, b=3, n=10, h, fx, y, x, dx, yy, fy;
h=(b-a)/n;
x=(a+h)+h;
fx=0;
fy=0;
for(int i=3; i<n; i=i+2)
{
y=((pow(2,x)-1)*x)/(pow(x,2)+2);
fx=fx+y;
x=(x+h)+h;
}
x=a+h;
for(int i=1; i<n; i=i+2)
{
yy=((pow(2,x)-1)*x)/(pow(x,2)+2);
fy=fy+yy;
x=(x+h)+h;
}
x=a;
float yo=((pow(2,a)-1)*a)/(pow(a,2)+2);
float yn=((pow(2,b)-1)*b)/(pow(b,2)+2);
dx=(h/3)*((yo+(4*fy))+((2*fx)+yn));
Edit3->Text =dx;
}
Вычисление производной заданной функции:
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int n;
float x, a, b, h, pr1, pr2, f, t;
float y[10][10];
FormatFloat("0.00",y[10][10]);
x = Edit1->Text.ToDouble();
n = Edit2->Text.ToInt();
a = Edit3->Text.ToDouble();
b = Edit4->Text.ToDouble();
h=(b-a)/n;
f=a;
for(int i=0; i<=n; i++)
{
y[i][0]=((pow(2,f)-1)*f)/(pow(f,2)+2);
f=f+h;
}
for(int j=0; j<=n; j++)
{
for(int i=0; i<=n; i++)
{
y[i][j+1]=y[i+1][j]-y[i][j];
}
}
for(int i=0; i<=n; i++)
{
for(int j=0; j<=n; j++)
{
StringGrid1->Cells[j+1][i+1] = y[i][j];
}
}
t=(x-a)/h;
pr1=(1/h)(y[0][0]+((2*t-1)/2))
}
Решение дифференциальных уравнений:
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
StringGrid1->Cells[1][0] = "i";
StringGrid1->Cells[2][0] = "xi";
StringGrid1->Cells[3][0] = "yi";
StringGrid1->Cells[4][0] = "dy";
StringGrid2->Cells[1][0] = "i";
StringGrid2->Cells[2][0] = "xi";
StringGrid2->Cells[3][0] = "yi";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float y, n, a, b, h, x, yo;
y = Edit1->Text.ToDouble();
n = Edit2->Text.ToInt();
a = Edit3->Text.ToDouble();
b = Edit4->Text.ToDouble();
x=a;
h=(b-a)/n;
for(int i=0; i<n; i++)
{
StringGrid1->Cells[1][i+1] = i;
StringGrid1->Cells[2][i+1] = x;
StringGrid1->Cells[3][i+1] = y;
yo=sin(x)*pow(y,2);
StringGrid1->Cells[4][i+1] = yo;
y=y+h*yo;
x=x+h;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float y, n, a, b, h, x, yo, k1, k2, k3, k4;
y = Edit1->Text.ToDouble();
n = Edit2->Text.ToInt();
a = Edit3->Text.ToDouble();
b = Edit4->Text.ToDouble();
x=a;
h=(b-a)/n;
for(int i=0; i<n; i++)
{
StringGrid2->Cells[1][i+1] = i;
StringGrid2->Cells[2][i+1] = x;
StringGrid2->Cells[3][i+1] = y;
k1=h*(sin(x)*pow(y,2));
k2=h*(sin(x+h/2)*pow(y+k1/2,2));
k3=h*(sin(x+h/2)*pow(y+k2/2,2));
k4=h*(sin(x+h/2)*pow(y+k3/2,2));
y=y+(k1+k2+k3+k4);
x=x+h;
}
Edit5->Text =k1;
}
Размещено на Allbest.ru
...Подобные документы
Выбор точных методов численного интегрирования при наибольшем количестве разбиений. Вычисление интеграла аналитически, методом средних прямоугольников, трапеций, методом Симпсона. Вычисление интеграла методом Гаусса: двухточечная и трехточечная схема.
курсовая работа [366,2 K], добавлен 25.12.2012Решение систем линейных алгебраических уравнений методом простой итерации. Полиномиальная интерполяция функции методом Ньютона с разделенными разностями. Среднеквадратическое приближение функции. Численное интегрирование функций методом Гаусса.
курсовая работа [2,4 M], добавлен 14.04.2009Решение нелинейных уравнений методом касательных (Ньютона), особенности и этапы данного процесса. Механизм интерполирования функции и численное интегрирование. Приближенное решение обыкновенных дифференциальных уравнений первого порядка методом Эйлера.
курсовая работа [508,1 K], добавлен 16.12.2015Решение системы линейных уравнений методом Якоби вручную и на Бейсике. Построение интерполяционного многочлена Ньютона с помощью Excel. Получение аппроксимирующей функции методом наименьших квадратов. Построение кубического сплайна по шести точкам.
курсовая работа [304,9 K], добавлен 07.09.2012Методы хорд и итераций, правило Ньютона. Интерполяционные формулы Лагранжа, Ньютона и Эрмита. Точечное квадратичное аппроксимирование функции. Численное дифференцирование и интегрирование. Численное решение обыкновенных дифференциальных уравнений.
курс лекций [871,5 K], добавлен 11.02.2012Решение систем линейных алгебраических уравнений методом исключения Гаусса. Табулирование и аппроксимация функций. Численное решение обыкновенных дифференциальных уравнений. Приближенное вычисление определенных интегралов. Решение оптимизационных задач.
курсовая работа [1,6 M], добавлен 21.11.2013Проведение численного моделирования системы, описанной системой дифференциальных уравнений первого порядка. Схемы моделирования методом последовательного (непосредственного) интегрирования, вспомогательной переменной и методом канонической формы.
контрольная работа [550,9 K], добавлен 12.12.2013Задача численного интегрирования функций. Вычисление приближенного значения определенного интеграла. Нахождение определенного интеграла методами прямоугольников, средних прямоугольников, трапеций. Погрешность формул и сравнение методов по точности.
методичка [327,4 K], добавлен 01.07.2009Методы численного дифференцирования. Вычисление производной, простейшими формулами. Численное дифференцирование, основанное на интерполяции алгебраическими многочленами. Аппроксимация многочленом Лагранжа. Дифференцирование, с использованием интерполяции.
курсовая работа [1,3 M], добавлен 15.02.2016Методы численного интегрирования, основанные на том, что интеграл представляется в виде предела суммы площадей. Геометрическое представление метода Гаусса с двумя ординатами. Численные примеры и сравнение методов. Решение систем алгебраических уравнений.
курсовая работа [413,4 K], добавлен 11.06.2014Задачи на нахождение неопределенного интеграла с применением метода интегрирования по частям. Вычисление площади, ограниченной заданными параболами. Решение дифференциального уравнения первого порядка. Исследование на сходимость ряда; признаки сходимости.
контрольная работа [136,7 K], добавлен 16.03.2010Вид определенного интеграла от непрерывной на заданном отрезке функции. Сущность квадратурных формул. Нахождение численного значения интеграла с помощью методов левых и правых прямоугольников, трапеций, парабол. Выведение общей формулы Симпсона.
презентация [120,3 K], добавлен 18.04.2013Математическая формулировка задачи, существующие численные методы и схемы алгоритмов. Интерполирование функции, заданной в узлах, методом Вандермонда. Среднеквадратичное приближение функции. Вычисление интеграла функций по составной формуле трапеций.
курсовая работа [3,4 M], добавлен 14.04.2009Вычисление приближенных величин и погрешностей. Решение алгебраических и трансцендентных уравнений, интерполяция функций и методы численного интегрирования. Применение метода наименьших квадратов к построению эмпирических функциональных зависимостей.
курсовая работа [378,5 K], добавлен 08.01.2013Вычисление производной функции и ее критических точек. Определение знака производной на каждом из интервалов методом частных значений. Нахождение промежутков монотонности и экстремумов функции. Разложение подынтегральной функции на простейшие дроби.
контрольная работа [134,7 K], добавлен 09.04.2015Формирование системы их пяти уравнений по заданным параметрам, ее решение методом Гаусса с выбором главного элемента. Интерполяционный многочлен Ньютона. Численное интегрирование. Решение нелинейных уравнений. Метод Рунге-Кутта четвертого порядка.
контрольная работа [115,5 K], добавлен 27.05.2013Характеристика методов численного интегрирования, квадратурные формулы, автоматический выбор шага интегрирования. Сравнительный анализ численных методов интегрирования средствами MathCAD, а также с использованием алгоритмических языков программирования.
контрольная работа [50,8 K], добавлен 06.03.2011Интерполяция с помощью полинома Ньютона исходных данных. Значение интерполяционного полинома в заданной точке. Уточнение значения корня на заданном интервале тремя итерациями и поиск погрешности вычисления. Методы треугольников, трапеций и Симпсона.
контрольная работа [225,2 K], добавлен 06.06.2011Решение системы методом Гаусса. Составление расширенной матрицу системы. Вычисление производной сложной функции, определенного и неопределенного интегралов. Область определения функции. Приведение системы линейных уравнений к треугольному виду.
контрольная работа [68,9 K], добавлен 27.04.2014Решение задачи Коши для дифференциального уравнения. Погрешность приближенных решений. Функция, реализующая явный метод Эйлера. Вычисление погрешности по правилу Рунге. Решение дифференциальных уравнений второго порядка. Условие устойчивости для матрицы.
контрольная работа [177,1 K], добавлен 13.06.2012