您的位置首页生活百科

MATLAB学习与使用:求不定积分(int)

MATLAB学习与使用:求不定积分(int)

的有关信息介绍如下:

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时)图像。