一、quad函数求积分 单变量数值积分求解
syms x;
f=inline('1./(sin(x)+exp(-x.^2))') %内联函数
y=quad(f,0,1.1) %积分求解
y1=quad(f,0,1.1) %函数句柄
y2=quad(f,0,1.1,1.e-10) %精度
如果使用外联函数,先定义myfun.m
myfun.m
function y=myfun1(x)
y=1./(sin(x)+exp(-x.^2));
再运行y3=quad(@myfun,0,1.1)
二、quadl精度更高,速度更快
syms x;
f=inline('1./(sin(x)+exp(-x.^2))','x');
y=quadl(f,0,1.1)
y1=quadl(f,0,1.1,1.e-20)
三、双重积分求解
syms x;
f=inline('x*cos(y)+y*sin(x)','x','y');
y=dblquad(f,pi,2*pi,0,pi)
y1=dblquad(@integrnd,pi,2*pi,0,pi)
y2=dblquad(@(x,y) x*cos(y)+y*sin(x),pi,2*pi,0,pi)
定义integrnd.m
function z= integrnd(x,y)
z=y*sin(x)+x*cos(y);
四、三重积分的求解
f=inline('z*cos(x)+y*sin(x)','x','y','z');
q=triplequad(f,0,pi,0,1,-1,1)
q1=triplequad(@(x,y,z) (y*sin(x)+z*cos(x)),0,pi,0,1,-1,1)
q2=triplequad(@(x,y,z) (y*sin(x)+z*cos(x)),0,pi,0,1,-1,1,1.e-10)
q3=triplequad(@(x,y,z) (y*sin(x)+z*cos(x)),0,pi,0,1,-1,1,1.e-10,@quad)