lstd.net
当前位置:首页 >> 用mAtlAB求二重积分 >>

用mAtlAB求二重积分

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

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

使用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 的无穷积分、高斯积分、伽马积分等),对于学习高等数学的同学很有应有价值.

用符号积分求解 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位解

(1) 定义字符变量:syms x y(2) 定义被积函数:bb=f(x,y)(3) 求数值积分:int(int(bb,'y',-1,1),'x',-1,1)(4) 画图像:x=-1:1;y=-1:1;[x,y]=meshgrid(x,y);z=bb;mesh(x,y,z)

>> help trapa trapa not found.Use the Help browser search field to search the documentation, or type "help help" for help command options, such as help for methods.你弄错了吧?同学 matlab二重积分用dblquad和quad2d help一下就明白怎么用了

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

用两次int函数就行,比如int(int(x*exp(-x*y),x,0,y),y,0,1),结果不是数值就加个vpa函数vpa(int(int(x*exp(-x*y),x,0,y),y,0,1))

F1 = @(m,n,D,x,y) D*D./(pi*(D*D+x.*x+y.*y));Q = @(m,n,D) dblquad(@(x,y) F1(m,n,D,x,y),-m,1-m,-n,1-n);% m=0.3 n=0.5 D=1.5Q(0.3,0.5,1.5)

<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,

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