声明:本文章中数据来自清风老师数学建模课程
MATLAB进行不定积分和定积分的求解
1、不定积分的求解
使用int(积分英文的前缀)命令进行不定积分的求解
注意:
- MATLAB进行不定积分求解时不会加上常数C
- 计算类似1/x形式的不定积分时不会加上绝对值
- 进行不定积分求解的结果可能与手算结果形式不同,但是可以将其进行求导验证。
下面列举几个不定积分的MATLAB求解:
(1)
syms x
y = x^2
int(y,x) % integral
% x^3/3 注意,Matlab计算时不会给我们加上常数C
(2)
syms x
y = 1/x
int(y,x)
% log(x) 注意,Matlab计算1/x形式的不定积分时不会给我们加上绝对值~
(3)
syms x
y = x^2 / (1+x^2)
int(y,x)
% x - atan(x)
(4)
syms x
y = 1/(exp(x)+1)
int(y,x)
% x - log(exp(x) + 1)
(5)
syms x a
y = 1/sqrt(x^2-a^2)
int(y,x)
% log(x + (x^2 - a^2)^(1/2))
2、定积分的求解
(1)
syms x
y = sin(x)
int(y,x,0,pi/2)
% 1
(2)
syms x a b
y = exp(x)
int(y,x,a,b)
% exp(b) - exp(a)
(3)
syms x
y = (sin(x))^2 / x^2
b=int(y,x,0,+inf)
% pi/2
注意:不是所有的函数都可以使用int进行求得定积分结果的,有些函数我们需要使用数值积分的方法才能求解。
如下面的这个函数
syms x
y = 1 / exp(x) * log(x+2*x^2+sin(x))
int(y,x,0,4)
% int(exp(-x)*log(x + sin(x) + 2*x^2), x, 0, 4)
在使用int函数进行求解后,并得不到我们想到的结果我们可以使用integral来进行数值积分的求解
在使用该命令是需要注意,应写成函数句柄的形式,并且注意点乘和点除
y = @(x) 1 ./ exp(x) .* log(x+2.*x.^2+sin(x)) % 注意,写成函数句柄时,要用点乘或者点除
integral(y,0,4)
% 0.6014