yhkn.net
当前位置:首页 >> MAtlAB中如何计算二重积分 >>

MAtlAB中如何计算二重积分

两个方法:1. 使用两次符号积分函数int()2. 直接使用二重数值积分函数dblquad()

syms x y; %定义两个符号变量 a=int(int(x^y,x,0,1),y,1,2) %积分 b=simple(a) %化简 c=vpa(b,4) %得到4位近似解,也可以任意N位解

<p>%假设x,y的积分限均为(-0.1,0.1)</p> <p>clc</p> <p>clear</p> <p>s=linspace(0,sqrt(3));</p> <p>k=zeros(size(s));</p> <p>for i=1:length(s)</p> <p> rhom=2*pi/3/sqrt(3)/s(i);</p> <p> rho1=@(x,y)abs(1-sqrt(x.^2+y.^2)-rhom);</p> <p> rho2=@(x,

使用matlab的int函数可以方便的计算积分,以及多重积分.设二重积分还是表达式为 z=z(x,y),积分域为下限 y1(x) 上限 y2(x),从 x1 到 x2,则二重积分代码为:int(int(z,y,y1,y2),x,x1,x2) 需要先定义符号变量 x,y,以及表达式 z,y1,y2 和数值 x1,x2 的值.下面举例在半径为1,以原点为圆心的圆上,对 z=x^2+y^2+xy 做二重积分:向左转|向右转 int ,函数功能强大,可以计算积分、定积分、广义积分以及一些特殊积分(如 sin(x)/x 的无穷积分、高斯积分、伽马积分等),对于学习高等数学的同学很有应有价值.

使用两次int指令对被积函数分别做内层积分和外层积分,再执行vpa指令对返回的符号表达式执行数值计算

符号计算 syms x y; %定义两个符号变量 a=int(int(x^y,x,0,1),y,1,2) %积分x,0,1 ,y,1,2 b=simple(a) %化简 c=vpa(b,4) %得到4位近似解,也可以任意N位解 数值计算%%二重积分f= @(x,y)exp(sin(x))*ln(y),y从5*x积分到x^2,x从10积分到201 (7.X后版本

程序:fun=sin(0.5*pi*x./y);%%a=int(int(fun,y,sqrt(x),x),x,1,2);b=simple(a) %化简I=vpa(b,4) %得到4位近似解,也可以任意N位解结果:I =0.2719

用符号积分求解 clc; syms x y; %定义两个符号变量 a=int(int(x*y,x,y*y,y+2),y,-1,2); %积分限x:y*y,y+2 ,y:,-1,2 b=simple(a); %化简 c=vpa(b,4) %得到4位近似解,也可以任意n位解

>> syms x y>> int(int(x*y,y,2*x,x^2+1),x,0,1)ans = 1/12

怎么说呢,MATLAB中双重积分不是这么解的,用dblquad这个函数才能得到像样的数值解调用格式dblquad(FUN,Xm,XM,Ym,YM)%意义依次是函数,X下限,上限,Y下限,上限

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com