Реферат: Применение дифференциального и интегрального исчисления к решению физических и геометрических задач в MATLab
end
end
hFigure=gcf;
set(hFigure,'Color',[1 1 1]);
hP=polar(phi,r);
set(hP,'LineWidth',2);
Результат (рис. 17):
Задача 6. Используя численные и символьные вычисления в MATLAB найти: а) определённый интеграл; б) двойной интеграл; в) поверхностный интеграл (1-го рода).
а) Классической задачей численного анализа является задача о вычислении определённых интегралов. Из всех методов вычисления определённых интегралов самым простым, но в то же время довольно успешно применяемым является метод трапеции. В MATLAB для этого метода предусмотрена функция: trapz(x,y) (команда edit trapz позволяет вывести текст этой функции). Одномерный массив х (вектор) содержит дискретные значения аргументов подынтегральной функции. Значения подынтегральной функции в этих точках сосредоточены в одномерном массиве y. Чаще всего для интегрирования выбирают равномерную сетку, то есть значения элементов массива х отстоят друг от друга на одну и ту же величину – шаг интегрирования. Точность вычисления интеграла зависит от величины шага интегрирования: чем меньше этот шаг, тем больше точность.
Задача 7. Вычислить интеграл методом трапеции с различными шагами интегрирования (для наблюдения 14 десятичных цифр после запятой нужно предварительно ввести и исполнить команду formatlong).
Программа: Результат:
functiont=trap(dx)
x=0:dx:5;
y=sin(x).*exp(-x);
t=trapz(x,y); >> format long
>> trap(1)
ans = 0.42255394026468
>> trap(0.1)
ans = 0.50144886299125
>> trap(0.01)
ans = 0.50226667654901
>> trap(0.001)
ans = 0.50227485744814
Метод трапеций является очень универсальным методом и хорошо подходит интегрирования не слишком гладких функций. Если же функция под знаком интеграла является гладкой (существуют и непрерывны несколько первых производных), то лучше применять методы интегрирования более высоких порядков точности. При одном и том же шаге интегрирования методы более высоких порядков точности достигают более точных результатов.
В системе МАТLАВ методы интегрирования более высоких порядков точноcти реализуются функциями quad (метод Симпсона) и quad8 (метод Ньютона-Котеса 8-го порядка точности). Оба этих метода являются к тому же адаптивными . Последнее означает, что пользователю нет необходимости контролировать достигнутую точность результата путем сравнения последовательных значении, соответствующих разным шагам интегрирования. Все это указанные данные функции выполняют самостоятельно.
У функции quad8 более высокий порядок точности по сравнению с функцией quad, что очень хорошо для гладких функций, так как обеспечивается более высокая точность результата при большем шаге интегрирования (меньшем объеме отчислений). Однако функция quad может иметь не меньшее, а даже большее быстродействие для не слишком гладких функций (разрывны или велики по абсолютной величине вторая или третья производные). В любом случае обе эти функции по умолчанию обеспечивают одинаковую относительную точность результата, равную 0.001.
Как и многие другие функции системы МАТLАВ, функции quad и quad8 могут принимать различное количество параметров. Минимальный формат вызова этих функций включает в себя три параметра: имя подынтегральной функции, нижний предел интегрирования и верхний предел интегрирования. Если применяется четвертый параметр, то он является требуемой относительной точностью результата вычислений. Кстати, если обе эти адаптивные функции не могут обеспечить получение необходимой точности (расходящийся или близкий к этому интеграл), то они возвращают символическую бесконечность Inf.
Для вычисления определённых интегралов символьными методами можно использовать два варианта решения: напрямую или по этапам (с подстановкой символьных чисел).