Численное интегрирование и дифференцирование

Компьютерная программа, реализующая полиномиальную аппроксимацию подынтегральной функции для вычисления точного значения интеграла. Язык программирования Visual Basic. Описание средств программного интерфейса. Интерактивная форма для ввода данных.

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 27.04.2011
Размер файла 476,5 K

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

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

Размещено на http://www.allbest.ru/

Государственное образовательное учреждение

Высшего профессионального образования

Нижегородский государственный

архитектурно-строительный университет

(ННГАСУ)

Кафедра информационных систем и технологий

Курсовая работа

По дисциплине «Вычислительная математика»

Тема: Численное интегрирование и дифференцирование

Студента 3 курса ИС-

Маралин А.А.

Преподаватель Громов Юрий Алексеевич

Громов Ю.А.

Н. Новгород

1. Задание на курсовую работу

1.1 Тема: «Численное интегрирование и дифференцирование»

Метод: «Полиномиальной аппроксимации подынтегральной функции»

1.2 Задание

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

§ Работоспособность программного комплекса проверить на контрольном примере

§ Язык программирования Visual Basic

§ Исходные данные:

ь интерактивная форма для ввода данных

ь А - свободный коэффициент подынтегрального полинома

1.3 Контрольный пример

Известны следующие значения функции

Найти точную величину интеграла

1.4 Порядок выполнения задания

а. Блок - схема алгоритма

б. Описание средств программного интерфейса: экранные формы для ввода данных и управление программным комплексом

в. Тексты модулей программного комплекса, выполненные на языке Visual Basic.

2. Метод решения поставленной задачи

2.1 Аппроксимация

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

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

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

Значения функции мы можем рассматривать как координаты некоторого вектора в n- мерном евклидовом пространстве. Аналогично и для значений функции . Тем самым в соответствии с представлением метрики в евклидовом пространстве (2) расстояние между векторами и или, что то же самое, между функциями и на точечном множестве может быть определено с помощью формулы.

(1)

При (2)

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

(3)

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

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

, (4)

Различающихся величинами своих коэффициентов . Тогда в соответствии с методом наименьших квадратов (3), следует найти такие значения коэффициентов , при которых величина

(5)

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

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

Получим систему линейных уравнений (6) в следующем виде

Определитель этой системы, называемый определителем Грамма, при будет отличен от нуля, поэтому система (7) будет иметь единственной решение. Отсюда следует и единственность многочлена (4) степени m , имеющего наименьшую сумму квадратов (5) отклонений от функции на заданной системе точек.

2.2 Интерполяция

Пусть в точках заданы значения интерполируемой функции поставим задачу найти алгебраический многочлен

(1)

Возможно низшей степени

при (2)

При этом многочлен обычно называют интерполяционным. Положим, что Тогда для определения коэффициентов многочлена получим из соотношений (2) следующую систему линейных уравнений:

(3)

Определитель указанной системы носит название определителя Вандермонда.

Из алгебры известно, что если при (указанное условие для узлов интерполяции выполняется), то . Поэтому система линейных уравнений(3), в соответствии с теоремой Крамера, имеет единственное решение. Тем самым, для всяких функций существует единственный набор коэффициентов , а следовательно, и единственный интерполяционный многочлен для функции , заданной таблично.

2.3 Метод Симпсона.

Формула Симпсона для вычисления определенного интеграла имеет вид:

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

2.4 Выбор метода

Для решения поставленной задачи я решил выбрать метод Симпсона и метод интерполяции и сравнить полученные результаты.

3. Алгоритм решения

Для вычисления данного интеграла, потребуется определить коэффициенты b, c, d полинома подынтегральной функции коэффициент а, будет задаваться пользователем.

, (1)

Для определения коэффициентов b, c, d воспользуемся методом Гаусса. Метод Гаусса -- классический метод решения системы линейных алгебраических уравнений (СЛАУ). Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе ступенчатого (или треугольного) вида, из которого последовательно, начиная с последних (по номеру) переменных, находятся все остальные переменные.

Составим систему линейных уравнений, подставив в (1) данные значения функции в точках:

В качестве коэффициента a возьмем значение введенное пользователем, предположим a=1 получим систему:

Метод Гаусса состоит из двух этапов:

· Прямой ход осуществляется путём элементарных преобразований над строками, т.о. систему приводят к ступенчатой или треугольной форме.

· Обратный ход заключается в том что мы берем последнее уравнение системы и подставляем его в предыдущее, и т.д.

Сделав прямой ход, получим систему

От куда можно выразить коэффициенты b, c, d , и посчитать интеграл, предварительно подставив в него полученные значения

Блок - схема метода итераций

Размещено на http://www.allbest.ru/

Блок - схема метода Симпсона

Размещено на http://www.allbest.ru/

4. Программа. Экранные формы.

4.1 Программа Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim a As Integer

a = TextBox1.Text

TextBox2.Text = CStr(Res(a))

End Sub

Private Function Res(ByVal k As Integer) As Double

Dim m1, m2, m3, s As Double

Dim A As Double(,) = New Double(,) {{1, 1, 1}, {4, 16, 64}, {7, 49, 343}}

Dim B As Double() = New Double() {2 - k, 1 - k, -1 - k}

Dim X As Double() = New Double() {0, 0, 0}

s = A(0, 0)

m1 = A(1, 0) / s

m2 = A(2, 0) / s

For n = 0 To 2

A(1, n) = A(1, n) - m1 * A(0, n)

A(2, n) = A(2, n) - m2 * A(0, n)

Next

s = A(1, 1)

m3 = A(2, 1) / s

For n = 1 To 2

A(2, n) = A(2, n) - m3 * A(1, n)

Next

B(1) = B(1) - B(0) * m1

B(2) = B(2) - B(0) * m2

B(2) = B(2) - B(1) * m3

X(2) = B(2) / A(2, 2)

X(1) = (B(1) - A(1, 2) * X(2)) / A(1, 1)

X(0) = (B(0) - (A(0, 2) * X(2) + A(0, 1) * X(1))) / A(0, 0)

Res = k * 7 + X(0) * 49 / 2 + X(1) * 343 / 3 + X(2) * 2401 / 4 - (k + X(0) / 2 + X(1) / 3 + X(2) / 4)

End Function

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim I, H, Yi, Yi1, Yi2 As Double

H = 3

Yi = 2

Yi1 = 1

Yi2 = -1

I = (H / 3) * (Yi + 4 * Yi1 + Yi2)

TextBox3.Text = CStr(I)

End Sub

End Class

4.2 Экранные формы

5. Руководство пользователю

Для работы с данной программой Вам потребуется запустить файл Integral_solve.exe, двойным щелчком левой кнопки мыши. На экране появится форма

В поле рядом с надписью «Введите А» Вы должны ввести коэффициент для составления матрицы. После ввода нажмите на кнопку «Итерация», и вы получите результат вычисления заданного интеграла, так же мы можете сравнить результаты двух методов, нажав кнопку «Метод Симпсона».

интеграл полиномиальный аппроксимация интерфейс

6. Примеры решения

Допустим, необходимо решить следующий пример:

Известны следующие значения функции

Найти точную величину интеграла

При некоторых , вводимых пользователем, программа выдаст решение

Заключение

В процессе создания курсовой работы разработан алгоритм решения поставленной задачи. По этому алгоритму на языке Visual Basic составлена и отлажена программа. Она имеет удобный и понятный пользовательский интерфейс.

В данной работе я рассмотрел два метода решения: метод итераций и метод Симпсона. Также был проведен контрольный пример, доказывающий о правильности решения данного нам интеграла двумя различными способами.

ЛИТЕРАТУРА

1. Супрун А.Н, Найденко В.В Вычислительная математика для инженеров экологов (Методическое пособие): -М.: Издательство Ассоциации строительных вузов, 1996.-1996

2. Бахвалов Н.С. Численные методы. -М.: Наука, 1975

3. Березин И.С., Жидков Н.П. Методы вычислений. Т.1.-М.: Наука, 1966

4. Дьяконов В.П. Справочник по алгоритмам и программам на языке БЕЙСИК для персональных ЭВМ. -М.: Наука, 1988

5. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров: Определения, теоремы, формулы. -М: Наука, 1984

6. Марчук Г.И. Методы вычислительной математики. -М.: Наука, 1989

Размещено на Allbest.ru


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

  • Первообразная и неопределённый интеграл. Описание вычисления неопределенного интеграла в системе Mathcad, его свойства. Примеры вычисления функций в системе Mathcad. Вычисление значения результирующей функции. Подведение функций под знак дифференциала.

    курсовая работа [454,6 K], добавлен 24.12.2012

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

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

  • Методы численного дифференцирования. Вычисление производной, простейшими формулами. Численное дифференцирование, основанное на интерполяции алгебраическими многочленами. Аппроксимация многочленом Лагранжа. Дифференцирование, с использованием интерполяции.

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

  • Выбор точных методов численного интегрирования при наибольшем количестве разбиений. Вычисление интеграла аналитически, методом средних прямоугольников, трапеций, методом Симпсона. Вычисление интеграла методом Гаусса: двухточечная и трехточечная схема.

    курсовая работа [366,2 K], добавлен 25.12.2012

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

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

  • Методы хорд и итераций, правило Ньютона. Интерполяционные формулы Лагранжа, Ньютона и Эрмита. Точечное квадратичное аппроксимирование функции. Численное дифференцирование и интегрирование. Численное решение обыкновенных дифференциальных уравнений.

    курс лекций [871,5 K], добавлен 11.02.2012

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

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

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

    контрольная работа [459,6 K], добавлен 16.04.2010

  • Вычисление пределов гиперболических функций. Дифференцирование сложной функции. Разложение гиперболических функций по формуле Тейлора. Свойства неопределенного интеграла, интегрирование функций. Гиперболические функции комплексного переменного.

    дипломная работа [2,8 M], добавлен 11.01.2011

  • Особенности вычисления объемов тел, ограниченных поверхностями, с применением геометрического смысла двойного интеграла. Определение площадей плоских фигур, ограниченных линиями, с использованием метода интегрирования в курсе математического анализа.

    презентация [67,9 K], добавлен 17.09.2013

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