Приближенное вычисление двойных интегралов по формуле Макария. Алгоритм стандартной подпрограммы

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

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 26.01.2019
Размер файла 553,0 K

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

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

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

Руководство программиста

Приближенное вычисление двойных интегралов по формуле Макария. Алгоритм стандартной подпрограммы

Разработчик: Гончаров В.И.

Самара 2011

Содержание

Введение

1. Исходная формулировка задачи

2. Математическая модель процесса приближенного интегрирования

3. Алгоритмическое описание процесса приближенного интегрирования

4. Область определения подынтегральной функции

5. Область применения алгоритма

6. Повышение эффективности вычислений при использовании подпрограммы

7. Тестирование стандартной подпрограммы

8. Текст стандартной подпрограммы

Литература

Введение

алгоритм двойной интеграл приближенный

Руководство содержит данные, необходимые для составления стандартной подпрограммы на языке программирования высокого уровня.

Руководство предназначено для системных программистов.

1. Исходная формулировка задачи

Разработать алгоритм приближенного вычисления двойных интегралов

с заданной степенью точности.

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

на плоскости .

В качестве теоретической базы применить установленное в теореме ([1], С.244) свойство двойных интегралов, выражаемое равенством

где функция интегрируема в области

при ;

.

Здесь обозначает среднее значение, которое рассматривается в качестве числовой характеристики подынтегральной функции в области интегрирования. Для некоторых функций среднее значение может не принадлежать множеству принимаемых ею значений. Когда функция непрерывна, то суть наименьшее и наибольшее значения функции в области интегрирования, факт существования которых установлен в теореме Вейерштрасса ([2], С.240). В этом случае промежуточное значение по теореме Больцано - Коши ([2], С.238) принимается функцией в некоторой точке области т. е.

.

Следует отметить, что в теореме о среднем значении ([1], С.244) устанавливается только факт существования среднего значения , но не дано никаких правил для его вычисления. Выполним построение математической модели процесса приближенного интегрирования.

2. Математическая модель процесса приближенного интегрирования

На основе теоремы ([1], С.244) построим формулу Макария. Для вывода формулы выполним регулярное разбиение области интегрирования на частичных областей

координатными линиями семейства , которые отвечают абсциссам

,

и координатными линиями семейства , которые отвечают ординатам

.

Каждая частичная область представляет собой прямоугольник

В выбранном разбиении области интегрирования разности

принимаются в качестве измерений каждой частичной области .

Для приближенного представления функции регулярно выберем в области интегрирования узлов интерполяции

,

где

обозначает шаг между соседними узлами по оси

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

т. е. .

В каждой частичной области

в качестве приближающей функции используем алгебраический многочлен нулевой степени

,

где константа. Узлом интерполяции выбираем точку . Требуется, чтобы значение функции в этом узле совпадало со значением функции :

.

Составим уравнение, из которого однозначно определяется коэффициент

.

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

.

В каждой частичной области

:

- значения функции в точках примем равными значениям приближающей функции

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

Составим сумму по всем частичным областям

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

Формулу (1) используем для построения модели приближенного вычисления интеграла.

Выполним тождественное преобразование формулы (1). Для геометрической интерпретации алгоритма приближенных вычислений суммирование по множеству заменим суммированием по множеству (основание: ):

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

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

. (3)

Если точное значение интеграла неизвестно, то для оценки погрешности

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

В выбранном разбиении области интегрирования формула Макария содержит параметров:

,

которые не зависят от функции Указанные параметры надо выбрать так, чтобы погрешность формулы Макария не превышала заданную погрешность. Среди перечисленных параметров только параметр является свободным, остальные параметры зависят от параметра . Таким образом, для обеспечения требуемой точности вычисления интеграла необходимо изменять значение параметра . С этой целью выполним последовательное разбиение области интегрирования на 4, 9, 16, 25, … частичных областей и для каждого разбиения вычислим по формуле (2) суммы . Составим числовую последовательность (первый член последовательности условно принят равным нулю, т. е. ). Члены этой последовательности рассматриваются как приближения интеграла.

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

1) Последовательность для интегрируемой функции имеет своим конечным пределом ([1], С.237)

С помощью сумм значение двойного интеграла для каждой интегрируемой функции может быть вычислено с любой степенью точностью: при возрастании n до бесконечности абсолютная погрешность формулы Макария безгранично убывает. 2) Последовательность имеющая конечный предел , удовлетворяет критерию Коши ([2], С.107): для любого числа существует такой номер что для всех номеров и выполняется неравенство .

3) Извлечем из последовательности частичную последовательность, используя суперпозицию функций . Функция представляет собой возрастающую функцию от , принимающую натуральные значения и стремящуюся к бесконечности при возрастании . Суперпозиция функций дает сложную функцию , которая через посредство и сама является функцией от . В дальнейшем используется сокращенное обозначение функции

Установлено ([2], С.105), если последовательность имеет определенный предел , то тот же предел имеет и частичная последовательность

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

.

Последняя соответствует

последовательному разбиению области интегрирования на k = 0,1,2,…частичных конгруэнтных областей. Члены числовой последовательности примем в качестве приближений интеграла

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

Следует отметить, что выражение определяет число шагов между узлами по оси (или по оси ).

Эти параметры составляют пять числовых последовательностей.

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

Начальное приближение выберем в виде (для k = 0)

Формулы для определения последовательностей

имеют вид

где множество узлов интерполяции, выбранных на -ой итерации.

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

и семейства

,

,

,

,

,

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

множество координатных линий семейства , выбранных на текущей итерации;

множество координатных линий семейства , выбранных на предыдущих итерациях и на текущей итерации;

множество координатных линий семейства , выбранных на текущей итерации.

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

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

Таким образом, после выполнения -ой итерации: общее число выбранных узлов интерполяции функции выражается формулой

;

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

где заданная погрешность (основание: второе свойство последовательности).

Тогда в качестве приближенного значения интеграла полагают т. е.

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

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

частных значений подынтегральной функции.

Приведем алгоритм процесса приближенного интегрирования.

3. Алгоритмическое описание процесса приближенного интегрирования

Форма реализации алгоритмического процесса: стандартная подпрограмма. Имя подпрограммы устанавливается разработчиком. Определены следующие формальные параметры подпрограммы: нижний предел интеграла по оси ; верхний предел интеграла по оси; нижний предел интеграла по оси ; верхний предел интеграла по оси; абсолютная погрешность приближенного значения интеграла; символьная переменная, содержащая полное имя подпрограммы, предназначенной для вычисления значений подынтегральной функции. Форма выполнения алгоритмического процесса: вызов стандартной подпрограммы из основной программы. Вызов осуществляется по имени стандартной подпрограммы; после имени должны следовать аргументы, заключенные в круглые скобки. Из основной программы в стандартную подпрограмму передаются шесть аргументов, которые соответствуют формальным параметрам стандартной подпрограммы. Стандартная подпрограмма возвращает в основную программу приближенное значение интеграла. В соответствии с описанием шестого формального параметра основная программа должна содержать подпрограмму для вычисления частных значений подынтегральной функции . Эта подпрограмма должна иметь в качестве формальных параметров аргументы подынтегральной функции . Совокупность возможных исходных данных для алгоритма (стандартной подпрограммы) определяется шестью аргументами, которые передаются в стандартную подпрограмму из основной программы. Совокупность возможных результатов алгоритма определяется приближенным значением интеграла которое при выполнении стандартная подпрограмма возвращает в основную программу. Совокупность промежуточных результатов алгоритма определяется пятью числовыми последовательностями , которые заданы формулами и начальными условиями.

Для вычисления новых членов каждой из последовательностей используется итерационный метод. В состав промежуточных результатов также включены: - параметры предыдущей итерации В качестве этих параметров предварительно регистрируются параметры текущей итерации до перехода к следующей итерации.

Выполнение алгоритма начинается с вычисления начального приближения интеграла (для )

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

- вычислить число узлов интерполяции по оси (или по оси ) по формуле

- вычислить шаг между соседними узлами по оси по формуле

- вычислить шаг между соседними узлами по оси по формуле

- присвоить начальное значение

,

где

сумма частных значений функции в узлах интерполяции, выбранных на текущей итерации; множество узлов интерполяции, выбранных на текущей итерации.

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

- присвоить начальное значение признаку текущей координатной линии семейства

;

- для вычисления суммы использовать цикл со счетчиком (начальное значение счетчика равно 1, конечное значение равно , в котором в состав суммы включаются частные значения функции в узлах интерполяции, вновь выбранных на текущей итерации. В цикле последовательно выбирается каждая координатная линия семейства . Общее число координатных линий семейства равно [в том числе, прежде выбранных координатных линий и вновь выбранных координатных линий]. В теле цикла последовательно выполнить следующие операции: - инвертировать значение признака . Если значение признака равно "истина", то признаку присвоить значение "ложь", иначе признаку присвоить значение "истина". Условно принято присваивать признаку значение "истина" для вновь выбранной координатной линии семейства и значение "ложь" - для прежде выбранной координатной линии семейства ; - в зависимости от значения признака , соответствующего текущей координатной линии семейства , присвоить: начальное значение параметру , определяющему текущую координатную линию семейства ; значение параметру , определяющему число выбранных координатных линий семейства ; значение параметру , определяющему шаг между выбранными координатными линиями семейства . Для этого использовать условный оператор блочной структуры: если признак равен "истине", то

иначе

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

.

Здесь интерпретируется как вызов подпрограммы для вычисления значения подынтегральной функции; из стандартной подпрограммы в эту подпрограмму передаются в качестве аргументов: (абсцисса, определяющая текущую координатную линию семейства ), (ордината, определяющая текущую координатную линию семейства ); - вычислить ординату, определяющую следующую координатную линию семейства

и передать управление в начало цикла ;

- после выполнения цикла вычислить абсциссу, определяющую следующую координатную линию семейства

и передать управление в начало цикла ;

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

;

- вычислить приближенное значение двойного интеграла на текущей итерации

- проверить неравенство

.

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

4. Область определения подынтегральной функции

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

где

разность множеств ( содержит все пары , относящиеся к множеству, но не относящиеся к множеству). Учитывая, что функция принадлежит классу интегрируемых функций, тогда, в силу свойства интегрируемых функций ([1], С.253), функция интегрируема во всем прямоугольнике и

В частном случае, когда условно принимают

,

то двойной интеграл выражает площадь области определения . Для существования двойного интеграла и, как следствие, результативности алгоритма необходимо, чтобы область определения подынтегральной функции была ограниченной, замкнутой, квадрируемой и односвязной (или многосвязной) областью. Для квадрируемости области необходимо и достаточно, чтобы ее граница ( границы многосвязной области) имела площадь, равную нулю ([2], С.355). Этим свойством обладает широкий класс кривых, из которых может быть составлена граница области: непрерывные кривые, выражаемые явными уравнениями; кривые, составленные из нескольких непрерывных кривых; гладкие кривые; кусочно-гладкие кривые ([1], С.237).

5. Область применения алгоритма

Стандартная программа, реализующая приведенный алгоритм, может быть использована для приближенного вычисления двойных интегралов в тех случаях, когда для вычисления двойного интеграла его нельзя свести к повторному интегралу ([1], С.247) или нельзя свести к интегралу меньшей размерности по формуле Грина ([1], С.260). При этом подынтегральная функция двух действительных переменных должна принадлежать к одному из следующих классов интегрируемых функций: функций непрерывных в области определения; ограниченных функций, имеющих в области определения конечное число линий разрыва с нулевой площадью ([1], С.240). Следовательно, линии разрыва могут быть составлены: из непрерывных кривых, выражаемых явными уравнениями; из кривых, составленных из нескольких непрерывных кривых; из гладких кривых; из кусочно-гладких кривых.

6. Повышение эффективности вычислений при использовании подпрограммы

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

при сохранении других приведенных условий.

Если площадь области интегрирования превышает 100, то для повышения эффективности вычислений обычно разбивают область на конечное число прямоугольных областей . Тогда двойной интеграл по области представляется суммой двойных интегралов, распространенных в отдельности на эти частичные области ([1], С.243)

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

7. Тестирование стандартной подпрограммы

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

8. Текст стандартной подпрограммы

Для иллюстрации в качестве примера приведем текст стандартной подпрограммы SPVM977.PRG. Среда программирования и выполнения подпрограммы: операционная система MS DOS, система программирования CLIPPER 5.0.

// --------

// ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ ДВОЙНЫХ ИНТЕГРАЛОВ

// ПО ФОРМУЛЕ МАКАРИЯ. СТАНДАРТНАЯ ПОДПРОГРАММА

FUNCTION SPVM977 (pg1, pg2, pg3, pg4, pg5, pg6)

// pg1 - нижний предел интеграла по оси

// pg2 - верхний предел интеграла по оси

// pg3 - нижний предел интеграла по оси

// pg4 - верхний предел интеграла по оси

// pg5 - абсолютная погрешность приближенного значения интеграла

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

LOCAL is, js, pc1, pc2, pc3, pc4, pc5, pc6, pc7, pc8:= 0, pc9, pc10,;

pc11, pc12, pc13

// pc1 - измерение области интегрирования по оси ; шаг между соседними узлами по оси на текущей итерации

// pc2 - измерение области интегрирования по оси; шаг между соседними узлами по оси на текущей итерации

// pc3 - площадь области интегрирования

// pc4 - число узлов по оси (или по оси ) на предыдущей итерации

// pc5 - число узлов по оси (или по оси ) на текущей итерации

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

// pc7 - приближенное значение интеграла на предыдущей итерации

// pc8 - приближенное значение интеграла на текущей итерации

// pc9 - абсцисса, определяющая текущую координатную линию семейства

// pc10 - ордината, определяющая текущую координатную линию семейства

// pc11 - признак текущей координатной линии семейства

(pc11=.T. - вновь выбранная координатная линия; pc11=.F. - прежде выбранная координатная линия)

// pc12 - число выбранных координатных линий семейства

// pc13 - шаг между выбранными координатными линиями семейства

IF pg1 # pg2 .AND. pg3 # pg4

pc1 pg2 - pg1

pc2 pg4 - pg3

pc3 pc1 * pc2

pc4 2

pc6 &pg6.(pg1, pg3) + &pg6.(pg1, pg4) + &pg6.(pg2, pg3) + &pg6.(pg2, pg4)

pc7 pc3 * (pc6 / pc4 ** 2)

DO WHILE .T.

pc5 2 * pc4 - 1

pc1 pc1 / 2

pc2 pc2 / 2

pc9 pg1

pc11 .T.

FOR is 1 TO pc5

pc11 .NOT. pc11

IF pc11

pc10 pg3

pc12 pc5

pc13 pc2

ELSE

pc10 pg3 + pc2

pc12 pc5 - pc4

pc13 pc2 * 2

ENDIF

FOR js 1 TO pc12

pc6 pc6 + &pg6.(pc9, pc10)

pc10 pc10 + pc13

NEXT

pc9 pc9 + pc1

NEXT

pc8 pc3 * (pc6 / pc5 ** 2)

IF ABS (pc7 - pc8) < pg5 .AND. pc5 > 5

EXIT

ENDIF

pc4 pc5

pc7 pc8

ENDDO

ENDIF

RETURN pc8

// -------------

Примечания: 1. В приведенном примере вызов подпрограммы для вычисления значения подынтегральной функции из стандартной подпрограммы производится с использованием макропеременной &pg6.(pg1, pg3), где & - операция макроподстановки, pg6 - макропеременная, точка (.) является макроразделителем и используется для маркировки конца макропеременной и отделения ее от примыкающего текста в выражении, pg1 и pg3 - аргументы, которые передаются из стандартной подпрограммы в подпрограмму для вычисления значения подынтегральной функции. В процессе выполнения стандартной подпрограммы содержимое макропеременной компилируется макрокомпилятором и выполняется. При этом скомпилированный код не сохраняется. 2. В приведенном примере вызов подпрограммы для вычисления значения подынтегральной функции может быть заменен исполнением блока кода. Например, в основной программе переменной bBlock присвоен блок кода bBlock := { | x, y | MyFunc(x, y) }, где MyFunc - имя подпрограммы для вычисления значения подынтегральной функции, x и y - формальные параметры блока кода. При вызове стандартной подпрограммы SPVM977 из основной программы в качестве шестого аргумента указывается переменная bBlock. В этом случае в стандартной подпрограмме вместо макропеременной &pg6.(pg1, pg3) используется функция EVAL() для выполнения блока кода.

В частности, оператор

pc6 &pg6.(pg1, pg3) + &pg6.(pg1, pg4) + &pg6.(pg2, pg3) + &pg6.(pg2, pg4)

заменяется оператором

pc6 EVAL(pg6, pg1, pg3) + EVAL(pg6, pg1, pg4) + EVAL(pg6, pg2, pg3) +; EVAL(pg6, pg2, pg4),

оператор

pc6 pc6 + &pg6.(pc9, pc10)

заменяется оператором

pc6 pc6 + EVAL(pg6, pc9, pc10),

где параметр pg6 содержит блок кода, параметры pc9 и pc10 содержат аргументы, которые передаются при выполнении блока кода подпрограмме MyFunc.

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

Литература

1. Фихтенгольц Г.М. Основы математического анализа, т.2. 4-е изд. -М.: Наука, 1964. - С.464

2. Фихтенгольц Г.М. Основы математического анализа, т.1. 5-е изд. -М.: Наука, 1964. - С.440

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

...

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

  • Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона.

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

  • Средства Delphi для разработки Windows приложений. Математическая формулировка задачи, описание программы вычисления определенного интеграла по формуле левых прямоугольников. Руководство пользователя, методика испытаний продукта. Листинг программы.

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

  • Разработка программного обеспечения решения задач численного вычисления определенных интегралов. Анализ задачи, методы, инструменты: требования к аппаратным ресурсам и программным средствам. Руководство пользователя, тестирование приложения, применение.

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

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

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

  • Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.

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

  • Разработка MatLab-программы для анализа вычислительной и методической погрешностей целочисленного алгоритма. Теоретические основы таблично-алгоритмического метода. Проектирование подпрограммы вычисления элементарной функции на языке Ассемблер IBM PC.

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

  • Формулирование и создание программы по вычислению определенного интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. Выбор Delphi как программного средства разработки программы. Создание алгоритма и листинг программы.

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

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

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

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

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

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

  • MPI - библиотека передачи сообщений на языке программирования C/C++, ее переносимость, стандартизация, эффективная работа, функциональность. Форматы фактических вызовов MPI. Метод прямоугольников для приближенного вычисления определенного интеграла.

    курсовая работа [286,0 K], добавлен 20.06.2012

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

    курсовая работа [180,4 K], добавлен 15.06.2013

  • Методы вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол). Примеры применения, блок-схемы методов трапеций и Симпсона. Разработка программы в объектно-ориентированной среде программирования Lazarus, конструирование интерфейса.

    реферат [2,1 M], добавлен 18.04.2011

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

    курсовая работа [359,3 K], добавлен 08.06.2011

  • Область видимости переменных. Хранение локальных данных в памяти компьютера. Использование опережающего описания для развязки закольцованных вызовов подпрограммы. Условия работоспособности рекурсивных подпрограмм. Параметры-функции и параметры-процедуры.

    презентация [36,8 K], добавлен 13.10.2013

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

    курсовая работа [41,3 K], добавлен 15.12.2012

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

    лабораторная работа [50,4 K], добавлен 28.12.2011

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

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

  • Вычисление определенных интегралов методом Симпсона. Функциональная схема программного комплекса. Реализация функции разбора произвольно заданных математических функций. Методика сохранения графика в графический файл. Интерфейс программного комплекса.

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

  • Реализация решения нелинейного уравнения с заданными параметрами в виде процедуры-подпрограммы. Графический метод отделения корней уравнения. Основные методы уточнения корней уравнения. Описание процедур и функций, общий алгоритм и текст программы.

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

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