MATLAB学习与使用:求不定积分(int)
的有关信息介绍如下:MATLAB符号运算工具箱提供了int求不定积分,调用格式为int(f,x),其中f是被积函数的(符号)表达式,x是积分变量。下面以具体例子介绍MATLAB求不定积分。
第一,不定积分的介绍如下图。
函数F(x)的导数为f(x),即F'(x)=f(x)或dF(x)=f(x)dx,则F(x)称为f(x)的原函数。带有任意常数的原函数F(x)+C称为f(x)的不定积分。
第二,MATLAB符号运算工具箱提供了int求不定积分。下面求下图中的不定积分。
第三,启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码:
close all; clear all; clc
syms x a c;
f1=(sin(x))/(1+cos(x));
f2=[sin(x),a^x; x^2,log(2+x)];
I1=int(f1,x)+c
I2=int(f2,x)+c
第四,保存和运行上述脚本,在命令行窗口返回如下结果:
I1 =
c - log(cos(x) + 1)
I2 =
[ c - cos(x), c + a^x/log(a)]
[ x^3/3 + c, c + (log(x + 2) - 1)*(x + 2)]
I1和I2即是第二步中函数的不定积分。
第五,在第四步脚本的基础,以被积函数f1=(sin(x))/(1+cos(x))为例,显示c取1-3时原函数的图形,只需修改脚本如下:
close all; clear all; clc
syms x a c;
f1=sin(x)/(1+cos(x))
f2=[sin(x),a^x; x^2,log(2+x)];
I1=int(f1,x)+c
I2=int(f2,x)+c
ezplot(f1,[-pi,pi]);hold on;
xx=linspace(-pi,pi);
for cc=1:3
I11=subs(I1,c,cc);
plot(xx,subs(I11,x,xx),'--r','LineWidth',2);hold on;
ylim([-10,10])
end
legend('sin(x)/(1+cos(x))',char(int(f1,x)+c))
第五,保存和运行上述修改后的脚本,得到被积函数f1=(sin(x))/(1+cos(x))和它的原函数(c取1-3时)图像。