matlab 积分_MATLAB编程入门 学会求积分

一、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)      %精度  

ca4ac0537dd17a3952b2e9b6d7d443a4.png

如果使用外联函数,先定义myfun.m

myfun.m

function y=myfun1(x)

y=1./(sin(x)+exp(-x.^2));

再运行y3=quad(@myfun,0,1.1)   

b0953895bde79f5fc3be3ab44ba1a714.png

二、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)

9c03cc2fc708cba395e5568de157700e.png

三、双重积分求解

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);

011a3777130d867006a5bc780cbdc62e.png

四、三重积分的求解

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)

685cca4d192163b205f7acc762fea2ab.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值