Формула Симпсона (формула парабол).
Разделим отрезок [a;b] на чётное число равных частей n=2m. Площадь криволинейной трапеции, соответствующей первым двум отрезкам [x0,x1], [x1,x2] и ограниченной заданной кривой y=f(x), заменим площадью криволинейной трапеции, которая ограничена параболой второй степени, проходящей через три точки M0[x0,y0], M1[x1,y1], M2[x2,y2] и имеющей ось, параллельную оси Oy (рис). Такую криволинейную трапецию будем называть параболической трапецией.
. Коэффициенты A, B и C однозначно определяются из условия, что парабола проходит через три заданные точки. Аналогичные параболы строятся и для других пар отрезков. Сумма параболических трапеций и даст приближённое значение интеграла. Сначала вычислим площадь одной параболической трапеции. И продолжая вычисления, получаем формулу Симпсона:
Теперь рассмотрим методы решения интегралов с помощью программы Matlab.
1.1 Численный метод
Вычисление определенных интегралов.
Рассмотрим пример:
.
В первую очередь необходимо создать функцию, вычисляющую подынтегральное выражение.
Для вычисления интеграла вызовем функцию quad, задав первым аргументом ссылку на функцию fint, а вторым и третьим — нижний и верхний пределы интегрирования.
По умолчанию функция quad вычисляет приближенное значение интеграла с точностью 10-6. [1, C.266] Для изменения точности вычислений следует задать дополнительный четвертый аргумент:
Вычисление двойных интегралов.
В MATLAB определена функция dblquad для приближенного вычисления двойных интегралов. Как и в случае вычисления определенных интегралов, следует написать файл-функцию для вычисления подынтегрального выражения. Вычислим интеграл:
Следовательно, функция должна содержать два аргумента x и y:
Функция dblquad имеет пять входных аргументов. При ее вызове необходимо учесть, что первыми задаются пределы внутреннего интеграла по х, а вторыми — внешнего по у:
Интегралы, зависящие от параметра.
Функции quad и quadl позволяют находить значения интегралов, зависящих от параметров. Аргументами функции, вычисляющей подынтегральное выражение, должна быть не только переменная интегрирования, но и все параметры. Значения параметров указываются через запятую, начиная с шестого аргумента quad или quadl. [1, C.270]
Решим интеграл:
Зададим функцию
Используя quad, вычислим интеграл:
1.2 Символьный метод
Символьные переменные и функции являются объектами класса sym object, в отличие от числовых переменных, которые содержатся в массивах double array. Символьный объект создается при помощи функции syms. Команда
>> syms х a b
создает три символьные переменные х, а и b. Конструирование символьных функций от переменных класса sym object производится с использованием обычных арифметических операций и обозначений для встроенных математических функций, например:
>>f = (sin(x)+a)^2 * (cos(x)+b)^2/sqrt (abs(a+b))
f =
( sin(x)+a)2*(cos(x)+b)^2/abs(a+b)^(1/2)
Запись формулы для выражения в одну строку не всегда удобна, более естественный вид выражения выводит в командное окно функция pretty:
>>pretty(f)
2 2
(sin(x)+a) (cos(x)+b)
-------------------------------
1/2
| a + b |
Символьную функцию можно создать без предварительного объявления переменных при помощи sym, входным аргументом которой является строка с выражением, заключенная в апострофы:
Symbolic Math Toolbox позволяет работать как с неопределенными интегралами, так и с определенными. Неопределенные интегралы от символьных функций вычисляются при помощи int, в качестве входных аргументов указываются символьная функция и переменная, по которой происходит интегрирование, например:
Разумеется, функция int не всегда может выполнить интегрирование. В некоторых случаях int возвращает выражение для первообразной через специальные функции, например, посчитаем интеграл:
Ответ содержит так называемую функцию ошибки, которая определяется интегралом с переменным верхним пределом:
Кроме того, в полученное выражение входит комплексная единица, хотя подынтегральная функция вещественна. Требуются дополнительные преобразования для достижения окончательного результата.
Для нахождения определенного интеграла в символьном виде следует задать нижний и верхний пределы интегрирования, соответственно, в третьем и четвертом аргументах int:
Двойные интегралы вычисляются повторным применением функции int. [1, C.780]
Например:
Определим символьные переменные а, b, с, d, x, у, подынтегральную функцию f от х и у и проинтегрируем сначала по х, а затем по у:
Аналогичным образом в символьном виде вычисляются любые кратные интегралы.
2.
MATLAB – СРЕДА МОДЕЛИРОВАНИЯ
MATLAB (Matrix Laboratory – матричная лаборатория) это наиболее развитая система программирования для научно-техническом расчетов, дополненная к настоящему времени несколькими десятками более частных приложений, относящихся к вычислительной математике, обработке информации, экономике и ряду других разделов прикладной науки.
MATLAB предназначен для выполнения научных и инженерных расчетов на ПЭВМ. Эти расчеты могут иметь отношение к области аналитической геометрии, математической статистике, а также к таким научно – техническим приложениям, как спектральный и корреляционный анализ, расчет фильтров и прочее. В MATLAB реализованы классические численные алгоритмы решения уравнений, задач линейной алгебры, нахождения значений определенных интегралов, аппроксимации, решения систем или отдельных дифференциальных уравнений. Для применения базовых вычислительных возможностей достаточно знания основных численных методов в рамках программы технических вузов. Решение специальных задач, разумеется, невозможно без соответствующей теоретической подготовки; впрочем, сведения, изложенные в справочной системе, оказываются неоценимым подспорьем для желающих самостоятельно разобраться в обширных возможностях пакета. Подводя итог вышесказанному, можно сделать вывод, что начинающий пользователь MATLAB может в процессе работы совершенствовать свои знания как в области моделирования и численных методов, так и программирования, и визуализации данных. Огромным преимуществом MATLAB является открытость кода, что дает возможность опытным пользователям разбираться в запрограммированных алгоритмах и, при необходимости, изменять их. Впрочем, разнообразие набора функций MATLAB и Toolbox допускает решение большинства задач без каких-либо предварительных модификаций [6, С.5].
3. РЕАЛИЗАЦИЯ ЭКОНОМИЧЕСКОЙ МОДЕЛИ ВЗАИМОРАСЧЁТОВ ПРЕДПРИЯТИЙ В СРЕДЕ
MATLAB
Рассмотрим модель математической оценки с использованием рублей и долларового эквивалента, с помощью двух определенных интегралов, для вычисления которых используется формула трапеций.
В данном случае объектом исследования являются взаиморасчеты, в которых используются доллары и рубли. Договор заключен между тремя сторонами: заказчиком, генеральным подрядчиком и субподрядчиком.
Для анализа доходности сделок генерального подрядчика нас будут интересовать следующие характеристики экономической ситуации:
1) курс доллара в момент времени t;
2) уровень инфляции, характеризующийся коэффициентом инфляции dK;
3) уровень цен, характеризующийся индексом цен I(t);
4) коэффициент индекса цен dI, характеризующий рост цен в период действия договора;
5) непрерывная ставка дисконтирования непрерывных денежных потоков δ;
6) срок действия договоров T;
7) курс доллара и уровень цен в момент вступления договора в силу K(0), I(0).
Используя данные характеристики, зададим уровень инфляции в момент времени t:
.
Если принять за базу уровень цен в момент вступления договора в силу, т.е. I(0)=1, то уровень цен в момент времени t можно выразить так:
Запишем формулу современной стоимости непрерывного потока выплат подрядчику в рублях по текущему курсу доллара K(t) с учетом индекса I(t).
Запишем теперь формулу современной стоимости непрерывного потока платежей субподрядчикам в рублях с учетом инфляции и индекса цен на момент времени t.
Разность между Y1 и Y2 даст современную стоимость потока наличности подрядчика в момент времени t.
Если величина АР>0, значит, можно говорить и доходности сделок между заказчиком, генеральным подрядчиком и субподрядчиком.
Определим все параметры модели.
>>N=10000;
>>M=50000;
>>T=1;
>>δ=0.1;
>>dI=0.1763;
>>dK=0.85;
>>Io=1;
>>Ko=27.8;
Вычислим K(t) и I(t):
>> K(t) = 57.3
>> I(t) = 2.3526
Для удобства вычисления введём следующие обозначения:
Перепишем интегралы Y1 и Y2:
А их подынтегральные функции обозначим через S1(t) и S1(t) соответственно:
Вычислим S1(t) и S1(t):
>>S1= 2.2038
>>S2= 1.1019
Определим подынтегральную функцию интегрального сальдо наличности генерального подрядчика как функцию S(t).
>>S(t)=1.1019
Последним шагом вычислим интеграл по формуле трапеций:
, где
– шаг интегрирования
>>А=1.65285
Так как интеграл А больше 0, то можно сделать вывод о том, что договор между заказчиком, генеральным подрядчиком и субподрядчиком, является экономически выгодным.
ЗАКЛЮЧЕНИЕ
Из данной работы видно, насколько проста и удобна в использовании система Matlab. Для работы с ней необходимо иметь самые элементарные навыки работы на ПК.
Говоря о математических аспектах MATLAB, нужно отметить, что его обозначения очень близки к тем, которые давно используются в математике, и это заметно упрощает освоение многочисленных математических команд.
Этот пакет может использоваться во всех сферах вычислений начиная с самых простых, заканчивая самыми сложными.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Ануфриев, И. Е. MATLAB 7: Самоучитель / Ануфриев, И. Е. Смирнов, А.Б. Смирнова, Е. Н. – СПб.: БХВ-Петербург, 2005. – 1104 с.
2. Выгодский, М. Я. Справочник по высшей математике / Выгодский, М. Я. – М.: АСТ: Астрель, 2005. – 991с.
3. Демидович, Б. П.Основы вычислительной математики / Демидович, Б. П. Марон, И. А. – М.: Наука, 1970. – 402с.
4. Масловская, А.Г. Основные принципы работы и конструирование интерфейса в Matlab : Практикум / Масловская, А. Г. – Благовещенск.: Амурский гос. ун-т, 2008. – 55с.
5. Масловская, А. Г. Численные методы. Моделирование на базе Matlab : Практикум / Масловская, А. Г. Черпак, Л. В. – Благовещенск.: Амурский гос. ун-т, 2006. – 120с.
6. Самарский, А. А. Математическое моделирование: Идеи. Методы. Примеры / Самарский, А. А. Михайлов, А.П. – М.: Наука. Физматлит. 1997 – 320с.
7. Тарасевич, Ю.Ю. Математическое и компьютерное моделирование / Тарасевич, Ю.Ю. – М.: Едиториал УРСС, 2004. – 152с.
Приложение 1
Определение параметров экономической модели.
Приложение 2
Вычисление курса доллара и уровня цен, в момент времени
t
.
Приложение 3
Вычисление подынтегральных функций
S
1 и
S
2.
Приложение 4
Вычисление интеграла по формуле трапеций.