Модуль-3-210700 / 2Дисциплина ВВЕДЕНИЕ В МАТЕМАТИЧЕСКИЕ ППП-210700 / Раздел-05-ППП-MatLab / Учебное пособие / Тема-05-04-MatLab
int(S)– возвращает символьное значение неопределенного интеграла от символьного выражения или массива символьных выражений S по переменной, которая автоматически определяется функцией findsym. Если S– скаляр или матрица, то вычисляется интеграл по переменной ‘х’.
int(S, v)– возвращает неопределенный интеграл от S по переменной v.
int(S, a, b)– возвращает определенный интеграл от S с пределами интегрирования от а до b, причем пределы интегрирования могут быть как символьными, так и числовыми.
int(S, v, a, b)– возвращает определенный интеграл от S по переменной v с пределами от а до b.
Пример 4.4-1.
» int(sin(x)^3, x)
» int(log(2*x), x)
— 2/3*1og(2) + 2/3*1og(31) + 2/3*3^(l/2)*atan(11/3*3^(l/2)) -.
» int([x^3 sin(x) exp(x)], x)
[ l/4*x^4, -cos(x), exp(x)]
» int(log(sin(x)),x,0,pi/2)
С помощью функции int() можно вычислять имеющие аналитическое решение сложных интегралов, например с бесконечными пределами (или одним из пределов), а также кратные интегралы.
Пример 4.4-2.
Пример 4.4-2.
» int(log(1+exp(-x),x,0,inf)
» syms x a b
» int(int(int(x^2 + y^2)*z, x, 0, a), y, 0, a), z, 0, a)
В системе MatLab вычисление интегралов реализовано численными методами трапеции, Симпсона, Ньютона-Котеса. Рассмотрим технологию использования этих методов.
Для вычисления интеграла по формуле трапеции в MatLab используется функция trapz(x,y ). Эта функция возвращает значение интеграла от функции y=f(x) –
При этом y может быть вектором или матрицей. Длины векторов x и y должны быть одинаковы. Если f(x) – матрица, то функция возвращает вектор значений интеграла каждого столбца матрицы. Если вектор узлов не задан — trapz(y), то в качестве ординат x используются их индексы (x=1:length(y)). Узлы по оси x могут быть и не равноотстоящими.
Пример 4.4-3. Вычислить значение интеграла методом трапеции.
Пример 4.4-3
>>% Точное значение интеграла от функции y=log(x),
>>% которое берется аналитически, равно 0.3863
Пример 4.4-4. Вычислить значение интеграла методом трапеции, если функция f(x) задана вектором y=[1 3 57 9].
Пример 4.4-4
>>y=[1 3 5 7 9];
>>trapz(x,)
>>% Точное значение интеграла от функции y=log(x),
>>% которое берется аналитически, равно 0.3863
Пример 4.4-5. Вычислить значения интегралов методом трапеции, если функции fi(x) (i=1:5) заданы матрицей y=[1 3 5 ; 3 5 7 ; 4 6 8; 4 7 9; 5 7 10].
Пример 4.4-5
>>y=[1 3 5 ; 3 5 7 ; 4 6 8; 4 7 9; 5 7 10];
Пример 4.4-6. Вычислить значение интеграла методом трапеции, для функции yn=log(xn) с неравномерным шагом по оси x.
Пример 4.4-6
0.3859
Пример 4.4-7. Вычислить значение интеграла методом трапеции, если аргумент x и функция f(x) заданы векторами x=[1 3 7 9 10], y=[1 3 5 7 9].
Пример 4.4-7
Пример 4.4-8. Вычислить значение интеграла методом трапеции, если аргумент xзадан вектором x=[1 3 7 9 10], а функция f(x) задана матрицей y=[1 3 5; 3 5 7; 4 6 8; 4 7 9; 5 7 10].
Пример 4.4-8
>>y=[1 3 5; 3 5 7; 4 6 8; 4 7 9; 5 7 10];
Накопительное суммирование по формуле трапеции в MatLab осуществляется с помощью функции cumtrapz(x,y). Она возвращает вектор, i—й компонент которого представляет сумму первых i слагаемых формулы трапеции. Значение функции cumtrapz(x,y) можно рассматривать как дискретный аналог интеграла с переменным верхним пределом.
Для вычисления интеграла по формуле Симпсона в MatLab применяется функция quad(). При обращении к ней шаг интегрирования не задается, используется требуемая точность вычисления интеграла. Основную часть вычислений в этой функции выполняет рекурсивная подфункция quadstep( ), в которой используется формула Симпсона (yi=f(xi),i=0,1,…,n=2m) с небольшим числом узлов: 3 (m=1) и 5 (m=2). Найденные по этим формулам значения сравниваются. Если разница между ними больше допустимой погрешности, отрезок интегрирования разбивается на две равные части, функция quadstep() рекурсивно применяется к каждой половине, и результаты складываются.
Из описания способа вычислений функции quad() вытекает, что невозможно ограничиться заданием значений интегрируемой функции в каких-то заранее известных узлах (как для trapz()), а необходимо уметь вычислять ее значения в любой точке интервала интегрирования. Невозможно также использовать остаточный член для оценки точности, достигнутой функцией quad(), поскольку неизвестен окончательный шаг h, необходимый при интегрировании. К тому же он не обязательно одинаков на всем отрезке интегрирования.
Минимальная форма обращения к функции – q=quad(f,a,b). В качестве первого аргумента задается указатель на подынтегральную функцию, второй и третий аргументы определяют пределы интегрирования, а указатель f может быть задан одним из способов:
именем m—функции, заключенным в одинарные кавычки;
указателем @f, где f имя функции;
строкой, содержащей любую формулу с одной независимой переменной.
Функция quad() допускает задания четвертого входного параметра – абсолютной погрешности eps: q=quad(f, a, b, eps). По умолчанию эта погрешность принимается равной1.0Е10 -6 . Если задать ее более высокой, (например, 1.0e-16), интеграл будет вычисляться точнее, зато существенно медленнее. О степени замедления можно судить по количеству обращений к вычислению значений подынтегральной функции (f(х)).
Вычисление интеграла аналитическими методами осуществляется в системе MatLab с помощью функции int(f(x), a, b), где f(x) – подынтегральная функция; a, b – пределы интегрирования.
Эта функция может вычислить:
неопределенный интеграл с символьными переменными ;
определенный интеграл с символьными значениями пределов интегрирования;
определенный интеграл от алгебраической функции;
Технология аналитического вычисления интегралов заключается в следующем:
Определение символьных переменных с помощью оператора syms.
Ввод подынтегрального выражения с присвоением ему имени: y=f(x).
Ввод функции int(y), если вычисляется неопределенный интеграл, или функции int(y,a,b), если вычисляется определенный интеграл в пределах [a;b].
Пример 4.4-9. Вычислить неопределенный интеграл .
Пример 4.4-9
Пример 4.4-10. Вычислить определенный интеграл .
Пример 4.4-10
1/2*log(1+b^2) – 1/2*log(1+a^2)
Пример 4.4-11. Вычислить определенный интеграл.
Пример 4.4-11
1/2*log(13)
Для получения численного значения интеграла необходимо активизировать строку ответа и нажать <ENTER>:
Пример 4.4-12. Вычислить двойной неопределенный интеграл .
Пример 4.4-12
-1/2*log(x-1) – 1/2*log(x+1)
Пример 4.4-12
MATLAB – Интеграция
Интеграция имеет дело с двумя принципиально разными типами проблем.
В первом типе дается производная функции, и мы хотим найти функцию. Поэтому мы в основном обращаем вспять процесс дифференциации. Этот обратный процесс известен как антидифференцирование, или нахождение примитивной функции, или нахождение неопределенного интеграла .
Второй тип проблем включает сложение очень большого количества очень маленьких величин, а затем определение предела, когда размер величин приближается к нулю, а число членов стремится к бесконечности. Этот процесс приводит к определению определенного интеграла .
В первом типе дается производная функции, и мы хотим найти функцию. Поэтому мы в основном обращаем вспять процесс дифференциации. Этот обратный процесс известен как антидифференцирование, или нахождение примитивной функции, или нахождение неопределенного интеграла .
Второй тип проблем включает сложение очень большого количества очень маленьких величин, а затем определение предела, когда размер величин приближается к нулю, а число членов стремится к бесконечности. Этот процесс приводит к определению определенного интеграла .
Определенные интегралы используются для определения площади, объема, центра тяжести, момента инерции, работы, выполняемой силой, и во многих других приложениях.
Поиск неопределенного интеграла с помощью MATLAB
По определению, если производная функции f (x) есть f ‘(x), то мы говорим, что неопределенный интеграл от f’ (x) по x равен f (x). Например, поскольку производная (по x) x 2 равна 2x, мы можем сказать, что неопределенный интеграл от 2x равен x 2 .
f ‘(x 2 ) = 2x , следовательно,
∫ 2xdx = x 2 .
Неопределенный интеграл не является уникальным, потому что производная x 2 + c для любого значения константы c также будет 2x.
Это выражается в символах как –
∫ 2xdx = x 2 + c .
Где c называется «произвольной константой».
MATLAB предоставляет команду int для вычисления интеграла выражения. Чтобы вывести выражение для неопределенного интеграла функции, мы пишем –
Например, из нашего предыдущего примера –
MATLAB выполняет приведенный выше оператор и возвращает следующий результат –
Пример 1
В этом примере давайте найдем интеграл некоторых часто используемых выражений. Создайте файл сценария и введите в нем следующий код –
Когда вы запускаете файл, он показывает следующий результат –
Пример 2
Создайте файл сценария и введите в нем следующий код –
Обратите внимание, что функция pretty возвращает выражение в более читаемом формате.
Когда вы запускаете файл, он показывает следующий результат –
Нахождение определенного интеграла с помощью MATLAB
По определению, определенный интеграл в основном является пределом суммы. Мы используем определенные интегралы, чтобы найти области, такие как область между кривой и осью x и область между двумя кривыми. Определенные интегралы могут также использоваться в других ситуациях, где требуемое количество может быть выражено как предел суммы.
Функция int может использоваться для определенной интеграции, передавая пределы, по которым вы хотите вычислить интеграл.
Например, для расчета стоимости мы пишем –
MATLAB выполняет приведенный выше оператор и возвращает следующий результат –
Ниже приведен октавный эквивалент приведенного выше расчета –
Octave выполняет код и возвращает следующий результат –
Альтернативное решение может быть дано с помощью функции quad (), предоставляемой Octave следующим образом:
Octave выполняет код и возвращает следующий результат –
Пример 1
Вычислим площадь, заключенную между осью x и кривой y = x 3 -2x + 5 и ординатами x = 1 и x = 2.
Требуемая площадь определяется как –
Создайте файл сценария и введите следующий код –
Когда вы запускаете файл, он показывает следующий результат –
Ниже приведен октавный эквивалент приведенного выше расчета –
Octave выполняет код и возвращает следующий результат –
Альтернативное решение может быть дано с помощью функции quad (), предоставляемой Octave следующим образом:
Matlab Integral
By Priya Pedamkar
Introduction to Matlab Integral
Matlab Integral is useful in finding areas under the curves. It is the reverse of differentiation in calculus and hence the functions are integrated by finding their anti-derivatives.
Integrals are of 2 types:
Hadoop, Data Science, Statistics & others
1. Indefinite integrals (Integrals without limits)
2. Definite integrals (Integrals with limits)
Syntax
Let us now understand the syntax of ‘integral function’ in MATLAB:
A = integral (Fx, Xminimum, Xmaximum)
Explanation:
1. ‘integral function’ will calculate the numeric integration of input function ‘Fx’
2. ‘Xminimum’ and ‘Xmaximum’ will be used as a minimum and maximum limits for integration respectively
3. If we want to use more specific options for integral, we can use the syntax:
A = integral (Fx, Xminimum, Xmaximum, Name, Value)
Examples to Implement Matlab Integral
Let us now understand how the code for ‘integral function’ looks like in MATLAB with the help of various examples:
Example #1
In this example, we will use a simple polynomial function of degree 2 and will integrate it between the limits 0 to 4. We will follow the following 2 steps:
Step 1: Create the function of degree 2 in MATLAB
Step 2: Use the integral function to calculate the integration
Code:
syms x
[Initializing the variable ‘x’] Fx = @(x) 4*x.^2
[Creating the polynomial function of degree 2] A = integral (Fx, 0, 4)
[Passing input function ‘Fx’ and the required limits to the ‘integral function’] [Mathematically, the integral of 4*x ^ 2, between the limits 0 to 4 is 85.3333]
Output:
Explanation: As we can see in the output, we have obtained integral of our input function ‘Fx’ as 85.3333 using ‘integral function’, which is the same as expected by us.
Example #2
In this example, we will use a polynomial function of degree 4 and will integrate it between the limits 0 to 2. We will follow the following 2 steps:
Step 1: Create the function of degree 4 in MATLAB
Step 2: Use the integral function to calculate the integration
Code:
syms x
[Initializing the variable ‘x’] Fx = @ (x) (4 * x.^4 + x.^3 -2 * x.^2 +1)
[Creating the polynomial function of degree 4] A = integral (Fx, 0, 2)
[Passing input function ‘Fx’ and the required limits to the ‘integral function’] [Mathematically, the integral of 4 * x. ^ 4 + x. ^ 3 -2 * x. ^ 2 +1, between the limits 0 to 2 is 26.2667]
Output:
Explanation: As we can see in the output, we have obtained integral of our input function ‘Fx’ as 26.2667 using ‘integral function’, which is the same as expected by us.
Example #3
In this example, we will learn how to integrate a function between the limits 0 and infinity. For this example, we will use a function which is a combination of logarithmic and exponential functions. The code will comprise of the following 2 steps:
Step 1: Create a function containing logarithmic and exponential functions
Step 2: Use the integral function to calculate the integration
Code:
syms x
[Initializing the variable ‘x’] Fx = @(x) exp(-x. ^3). * log(2 * x). ^3;
[Creating the function containing the exponential and logarithmic functions] A = integral (Fx, 0, inf)
[Passing input function ‘Fx’ and the required limits to the ‘integral function’. Note that we have passed ‘inf’ which signifies infinity, as the upper limit] [Mathematically, the integral of exp (-x. ^3). * log (2 * x). ^3, between the limits 0 to infinity is -2.9160]
Output:
Explanation: As we can see in the output, we have obtained integral of our input function ‘Fx’ as -2.9160 using ‘integral function’, which is the same as expected by us.
Example #4
In this example, we will learn how to use the syntax A = integral (Fx, Xminimum, Xmaximum, Name, Value)
For this example, we will use a vector function which is of the form [log(x) log(2x) log (3x) log (4x)]. The code will comprise of the following 2 steps:
Step 1: Create a function containing vector values
Step 2: Use the integral function to calculate the integration and add a ‘name-value pair’ argument
Code:
syms x
[Initializing the variable ‘x’] Fx = @(x) log((1 : 4) * x);
[Creating the function containing vector values] A = integral(Fx, 0, 2, ‘ArrayValued’, true)
[Passing input function ‘Fx’ and the required limits to the ‘integral function’. Note that we have passed ‘ArrayValued’, ‘true’, as the name value pair; which is used to calculate the integral of vector values]
Output:
Explanation: As we can see in the output, we have obtained integral of all the vector values in our array using integral function and ‘name-value pair’ argument.
Conclusion
‘integral function’ can be used in MATLAB to calculate the integration of any function. We can set the desired limits on the integration using the arguments of the integral function. It is also possible to apply specific conditions using ‘name-value pair’ arguments.
Recommended Articles
This is a guide to Matlab Integral. Here we discuss an introduction to Matlab Integral, syntax with explanation, examples with code, and output. You can also go through our other related articles to learn more –
ВВЕДЕНИЕ
Невозможно представить себе современную науку без широкого применения математического моделирования. Сущность этого метода состоит в замене реального объекта его «образом» — математической моделью. Этот метод позволяет быстро и «безболезненно» изменить объект, изучить его свойства и поведение в различных средах и т.д. Неудивительно, что математическое моделирование бурно развивается и проникает во все сферы знаний.
Создание модели проходит в 3 этапа: модель — алгоритм — программа.
На первом этапе строится модель, наиболее полно отображающая свойства объекта. Модель исследуется теоретическими методами, что позволяет получить важные предварительные знания об объекте. Второй этап включает в себя разработку алгоритма, для реализации модели на компьютере. Модель представляется в форме, удобной для применения численных методов, определяется последовательность вычислительных и логических операций, которые необходимо провести для нахождения искомых величин с заданной точностью. На третьем этапе создаются программы, переводящие модель и алгоритм на доступный компьютеру язык. К ним предъявляются требования экономичности и адаптивности к особенностям решаемых задач и используемых компьютеров. Их можно назвать электронным эквивалентом изучаемого объекта, уже пригодным для непосредственного испытания на компьютере.
Целью данной курсовой работы является изучение приёмов численного и символьного интегрирования на базе математического пакета прикладных программ, а также реализация математической модели, основанной на методе интегрирования.
ИНТЕГРИРОВАНИЕ ФУНКЦИЙ В MATLAB
Возможны два различных подхода к определению определённого интеграла.
ОПРЕДЕЛЕНИЕ 1: приращение F(b)-F(a) любой из преобразованных функций F(x)+c при изменении аргумента от x=a до x=b называют определённым интегралом от a до b функции F и обозначается .
Причём функция F является первообразной для функции f на некотором промежутке D, а числа а и b принадлежат этому промежутку. Это можно записать следующим образом: , это формула Ньютона-Лейбница.
ОПРЕДЕЛЕНИЕ 2: Если при любой последовательности разбиений отрезка [a;b] таких, что д=maxДxi>0 (n>?) и при любом выборе точек интегральная сумма уk=f(еi) Дxi стремится к одному и тому же конечному пределу А, то это число А и есть определённый интеграл, т.е Дxi=A(2). Где Дхi=xi-xi-1 (i=1,2,…,n) е=maxДxi — начало разбиения произвольная точка из отрезка [xi-1;xi]сумма всех произведений f(еi)Дxi, (i=1,…,n). Простыми словами, определенный интеграл есть предел интегральной суммы, число членов которой неограниченно возрастает, а каждое слагаемое стремится к нулю.
Всякая непрерывная на отрезке [a,b] функция f интегрируема на отрезке [a,b], функция f неотрицательна, но определённый интеграл численно равен S криволинейной трапеции, ограниченной графиком функции f, осью абсцисс и прямыми x=a и x=b, .
Рассмотрим основные методы интегрирования: метод трапеций, метод прямоугольников и метод Симпсона.
Теперь рассмотрим первый вид приближённого вычисления:требуется вычислить определённый интеграл: .
Пусть на отрезке [a,b] задана непрерывная функция y=f(x). Разделим отрезок [a,b], аналогично как в формуле трапеций: точками a=x0, x1, x2,…, xn=b на n равных частей длины Дх, где Дх=(b-a)/n.
Обозначим через y0, y1 ,y2,…, yn-1, yn значение функции f(x) в точках x0, x1, x2…, xn, то есть, если записать в наглядной формуле:
Y0=f(x0), y1=f(x1), y2=f(x2)…yn,=f(xn).
В данном способе подынтегральную функцию заменяем функцией, которая имеет ступенчатый вид.
Составим суммы: y0Дx+ y1Дx1+ y2Дx2…+yn-1Дx; Y1Дx+ y2Дx+…+ynДx.
В результате вычислений получаем конечную формулу прямоугольников:
Возьмём определённый интеграл , где — непрерывная подынтегральная функция, которую мы для наглядности будем предполагать положительной. При вычислении интеграла с помощью формулы трапеций подынтегральная функция f заменяется функцией, график которой представляет собой ломанную линию звенья которой соединяют концы ординат yi-1 и yi (i=1,2,…,n).
Тогда площадь криволинейной трапеции, ограниченной линиями x=a, x=b, y=0, y=f(x), а значит (следуя из геометрического смысла), и значение нужного нам интеграла, приблизительно равна сумме площадей обычных трапеций с основаниями yi-1 и yi и высотой h=(b-a)/n, так как (если более привычно выражать для нас) h это Дx,a Дx=(b-a)/n при делении отрезка на n равных отрезков при помощи точек x0=a<x1<…<xn=b. Прямые x=xk разбивают криволинейную трапецию на n полосок. Принимая каждую из этих полосок за обыкновенную трапецию, получаем, что площадь криволинейной трапеции приблизительно равна сумме обыкновенных трапеций.
Площадь крайней полоски слева равна произведению полусуммы основания на высоту
Итак, запишем сказанное выше в математическом виде:
— это и есть формула трапеций.
Формула Симпсона (формула парабол).
Разделим отрезок [a;b] на чётное число равных частей n=2m. Площадь криволинейной трапеции, соответствующей первым двум отрезкам [x0,x1], [x1,x2] и ограниченной заданной кривой y=f(x), заменим площадью криволинейной трапеции, которая ограничена параболой второй степени, проходящей через три точки M0[x0,y0], M1[x1,y1], M2[x2,y2] и имеющей ось, параллельную оси Oy (рис). Такую криволинейную трапецию будем называть параболической трапецией.
Уравнение параболы с осью, параллельной оси Oy, имеет вид: . Коэффициенты A, B и C однозначно определяются из условия, что парабола проходит через три заданные точки. Аналогичные параболы строятся и для других пар отрезков. Сумма параболических трапеций и даст приближённое значение интеграла. Сначала вычислим площадь одной параболической трапеции. И продолжая вычисления, получаем формулу Симпсона: