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

f=inline('y.^2./x.^2','x','y');dblquad(f,1/2,2,1,2)

程序如下:syms x y;fxy=x*exp(-x*y)fx=int(fxy,y)f=int(fx,x)结果:fxy=x*exp(-x*y)fx =-exp(-x*y)f =exp(-x*y)/y

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)

>> syms x y epsilonr1=int(int((1/150)*(1/150)*exp((-i)*(0.0419*x+0.0419*y)),x,0,75),y,0, 75) double(epsilonr1) epsilonr1 = (4*i*((10000*sin(1257/400))/419 - (20000*i*sin(1257/800)^2)/419))/(3771*exp((1257*i)/400)) - (80000*sin(1257/800)^2)/1580049 - (40000*i*sin(1257/400))/1580049 ans = -0.1013 + 0.0001i >>

既然为2重积分,那为什么有三个变量,Matlab中dblquad的定义为q = dblquad(fun,xmin,xmax,ymin,ymax),只有两个变量.若为三重积分的话用triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax).

用符号积分求解 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; %定义两个符号变量 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后版本

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