ПОИСК Статьи Рисунки Таблицы Интегрирование методом Эйлера из "Компьютеры Применение в химии" Пусть функцию, изображенную на рисунке, необходимо проинтегрировать численным методом на отрезке [А, Е]. Разделим отрезок [А, Е] на п интервалов (на рисунке я = 4) и построим две ломаные линии, между которыми лежит график функции/(х-), как это показано на рисунке. Приближенным значением интеграла функции /(V) в пределах от А до Е можно считать полусумму площадей под верхней и нижней ломаной линиями на этом отрезке. [c.76] В результате получается такая же, как и приведенная выше, формула. [c.79] Таким образом, для вычисления интеграла некоторой функции в пределах от А до Е необходимо разделить отрезок [А, Е] на п интервалов и найти сумму плошадей трапеций. Затем нужно увеличить число интервалов, опять вычислить сумму плошадей трапеций и сравнить полученное значение с предыдущим результатом. Это следует повторять до тех пор, пока не будет достигнута заданная точность результата. Выбор критерия, по которому прекращается итерационная процедура, представляет собой наиболее сложную проблему при составлении программы. [c.79] В приведенной ниже программе для интегрирования методом Эйлера с помощью бесконечного цикла число интервалов удваивается после каждой итерации. Каждое из вычисленных приближенных значений интеграла вы можете увидеть на экране и, сравнивая их, решить, удовлетворяет ли вас полученный результат. В соответствии с этим клавишей RUN/STOP можно прервать выполнение программы. [c.79] Блок-схема (схема 4) в своем ядре содержит цикл FOR-NEXT, в котором для N интервалов вычисляется интегральная сумма. Во внешнем бесконечном цикле число интервалов удваивается после каждого прохождения внутреннего цикла и текущее значение суммы (приближенное значение интеграла) выводится на экран. [c.79] Ниже приведена распечатка соответствующей этой блок-схеме программы для вычисления определенных интегралов методом Эйлера. [c.79] Эта функция, имеющая большое значение для статистической обработки данных, обычно приводится в справочниках по статистике в виде таблицы. [c.80] В тексте программы подынтегральная функция записана в трех различных местах (в строках 2100, 3100 и 4000). Ввод пределов интегрирования происходит в строках 50 и 60. Затем число интервалов N приравнивается 20 (число 20 взято произвольно и может быть заменено любым целым числом), и начальное значение суммы 5 приравнивается 0. В строке 1100 делением разности (Е - Н) на число интервалов N вычисляется длина интервала. В строке 2000 независимой переменной X присваивается значение нижнего предела интегрирования А. В следующей строке вычисляется значение функции /(А), которое после деления на 2 присваивается переменной 8. В строках 3000—3300 организован цикл по параметру X с щагом, равным длине интервала Н. Первое и последнее значения X сохраняются, поэтому начальное значение параметра цикла X равно (А -I- Н), а наибольшее — (Е — И). Для каждого значения X в строке 3100 вычисляется значение функции/Ос), которое в следующей строке прибавляется к 8. После окончания цикла в строках 3900—4100 к полученной сумме 8 прибавляется половина значения функции на конце отрезка 1/ (Е)/2]. В строке 4200 эта сумма умножается на длину интервала Н и полученное значение присваивается все той же переменной 8. Значение 8, равное приближенному значению определенного интеграла для N интервалов, выводится на экран в строках 5000 и 6000. Потом число интервалов удваивается и управление передается строке 1000. [c.81] В приведенном примере вычислен интеграл в пределах от О до 3. Видно, что уже при N = 80 приближенное значение интеграла имеет 6 точных значащих цифр. [c.81] Существенный недостаток этой программы заключается в том, что функция/(г) встречается в трех различных строках и поэтому должна быть трижды описана. Для длинных формул это по меньшей мере нежелательно. Устранить этот недостаток можно с помошью нового элемента языка, который позволяет вызьшать функции, ранее описанные в программе. Название нового оператора — определяемая функция. Этот оператор называют еще подпрограммой-функцией. [c.81] В большинстве персональных компьютеров описание функции оператором DEF FN возможно в любом месте программы, но раньше той строки, в которой эта функция вызывается первый раз. Некоторые ЭВМ не имеют этого ограничения. Кроме того, некоторые ЭВМ позволяют без ограничения использовать наряду с переменной X идентификатор другой переменной так, что эти переменные не влияют друг на друга. [c.82] Разумеется, можно определять несколько функций, они должны только иметь различные идентификаторы (т. е. различные буквы после DEF FN). Эти функции можно вызывать потом в любой последовательности. [c.82] Если использовать оператор DEF FN вместе в вызовом функции в программе ЭЙЛЕР , то получится программа ЭЙЛЕР2 , распечатка которой приведена ниже. [c.83] Задание 34. Проинтегрируйте функции, интеграл которых можно вычислить аналитически, и сравните результаты численного и аналитического метода, например/Сг) = 1/л-,/( Г) = Х /Схг) = sin(x). [c.84] Размерность совпадает с размерностью универсальной газовой постоянной. В соответствии с приведенной выше формулой при Г, стремяшейся к бесконечности, приближается к значению 3R. Рассчитайте по этой формуле энтальпию//. Пусть Я = О при Г = 0. [c.84] Составьте таблицу значений Н при разных температурах. При вычислении Н нижний предел интегрирования приравняйте нулю.- Постройте на миллиметровой бумаге графики обеих функций. [c.84] Вернуться к основной статье