首页 > 编程知识 正文

matlab怎么求二重定积分,matlab如何求二重定积分

时间:2023-05-05 17:51:19 阅读:219561 作者:3465

怎么用matlab计算这个二重积分 如何用matlab求二重积分

www.zhiqu.org     时间: 2020-12-07

题主给出的二重积分,用matlab的int()函数无法得到其解析值。如l=0.5,R=0.39,则可以通过下列代码,求得其数值解

l=0.5,R=0.39

syms x y

x0=sqrt(R^2-l^2/2);

x1=l/2;

y0=sqrt(R^2-l^2*x^2/4);

y1=l/2;

fun=R./sqrt(R^2-x.^2-y.^2);

I=int(int(fun,y,y0,y1),x,x0,x1);

I=vpa(I)

double(int(int('y*(x+y)/4',1,y),1,10))

里边第一重是积y:

ans =

(y*(3*y + 1)*(y - 1))/8

第二重是积x:

ans =

27135/32

最后一个double是将符号变成数值:

ans =

847.9688

double(int(int('y*(x+y)/4',1,y),1,10))

里边第一重是积y:

ans =

(y*(3*y + 1)*(y - 1))/8

第二重是积x:

ans =

27135/32

最后一个double是将符号变成数值:

ans =

847.9688

代码如下:

function q=DblSimpson(f,a,A,b,B,m,n)

if(m==1 && n==1) %zgdjm公式

q=((B-b)*(A-a)/9)*(subs(sym(f),findsym(sym(f)),{a,b})+...

subs(sym(f),findsym(sym(f)),{a,B})+...

subs(sym(f),findsym(sym(f)),{A,b})+...

subs(sym(f),findsym(sym(f)),{A,B})+...

4*subs(sym(f),findsym(sym(f)),{(A-a)/2,b})+...

4*subs(sym(f),findsym(sym(f)),{(A-a)/2,B})+...

4*subs(sym(f),findsym(sym(f)),{a,(B-b)/2})+...

4*subs(sym(f),findsym(sym(f)),{A,(B-b)/2})+...

16*subs(sym(f),findsym(sym(f)),{(A-a)/2,(B-b)/2}));

else %复合zgdjm公式

q=0;

for i=0:n-1

for j=0:m-1

x=a+2*i*(A-a)/2/n;

y=b+2*j*(B-b)/2/m;

x1=a+(2*i+1)*(A-a)/2/n;

y1=b+(2*j+1)*(B-b)/2/m;

x2=a+2*(i+1)*(A-a)/2/n;

y2=b+2*(j+1)*(B-b)/2/m;

q=q+subs(sym(f),findsym(sym(f)),{x,y})+...

subs(sym(f),findsym(sym(f)),{x,y2})+...

subs(sym(f),findsym(sym(f)),{x2,y})+...

subs(sym(f),findsym(sym(f)),{x2,y2})+...

4*subs(sym(f),findsym(sym(f)),{x,y1})+...

4*subs(sym(f),findsym(sym(f)),{x2,y1})+...

4*subs(sym(f),findsym(sym(f)),{x1,y})+...

4*subs(sym(f),findsym(sym(f)),{x1,y2})+...

16*subs(sym(f),findsym(sym(f)),{x1,y1});

end

end

end

q=((B-b)*(A-a)/36/m/n)*q;

叫我雷锋!

integral2 函数没有 'ArrayValued' 选项,应该是不能向量化积分的。不知道你解决了吗,最近也遇到这种计算,用循环的话,感觉计算效率有点不能接受。

matlab计算二重积分_

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

怎么用Matlab计算这个二重积分_

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

Matlab中如何计算二重积分_

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

如何用matlab做二重积分的数值计算_

: double(int(int('y*(x+y)/4',1,y),1,10)) 里边第一重是积y:ans = (y*(3*y + 1)*(y - 1))/8 第二重是积x:ans = 27135/32 最后一个double是将符号变成数值:ans = 847.9688

matlab中如何计算二重积分

%假设x,y的积分限均为(-0.1,0.1)

clc

clear

s=linspace(0,sqrt(3));

k=zeros(size(s));

for i=1:length(s)

rhom=2*pi/3/sqrt(3)/s(i);

rho1=@(x,y)abs(1-sqrt(x.^2+y.^2)-rhom);

rho2=@(x,...

Matlab计算二重积分求助..

: 这个要用符号积分,不过matlab积不出结果,符号运算能力弱 int(int(((Wa-x).^2+(6-y).^2+36).^-1.5,x,-30,30),y,-40,40)Warning: Explicit integral could not be found. Warning: Explicit integral could not be found. ans = int(int(1/((y - 6)^2 + (Wa - x)^2 + 36)^(3/2), x = -30..30), y = -40..40) mathematics可以算出结果

matlab求二重积分

: 符号计算syms x y; %定义两个符号变量a=int(int(x^y,x,0,1),y,1,2) %积分x,0,1 ,y,1,2b=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后版本才...

求用matlab编写一个程序 计算一个二重积分 积分函数是如下,恳求各位matlabwxdbq,毕业答辩在即..谢谢了

: format longR=27.9749e-3;fun=@(r,alpha)r.*(R-r.*cos(alpha)./(R^2+R^2-2*R*r.*cos(alpha)).^(3/2));a=quad2d(fun,16.129e-3,16.51e-3,0,2*pi)format short

matlab求二重积分

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

matlab中如何求二重积分_

: 你的图片挂了,我觉得用符号数学可以解决你的问题,先syms定义符号变量,再通过int函数进行计算.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。