heropmj007 发表于 2006-4-12 15:04

好难!!这个积分出错拉!!为什么啊??

function Q=inte(x, y)
wp=93*2*pi/60;wd=95*2*pi/60;
r1=250;r2=48;
for rp=24:16:144
o1=-atan(r2/rp);o2=atan(r2/rp);
Q = dblquad(inline('sqrt((wp*rp)^2+wd^2*(rp^2+y^2)-2*rp^2*wp*wd+(2*wp*rp*wd-2*rp*wd^2)*y*cos(abs(x)))'), o1, o2, rp-48, rp+48);
plot(rp,Q);
hold on
end

happy 发表于 2006-4-12 15:35

什么错啊,你说清楚点

你给的代码什么意思啊?里边没有积分阿

heropmj007 发表于 2006-4-12 20:35

Q = dblquad(inline('sqrt((wp*rp)^2+wd^2*(rp^2+y^2)-2*rp^2*wp*wd+(2*wp*rp*wd-2*rp*wd^2)*y*cos(abs(x)))'), o1, o2, rp-48, rp+48)

这个积分有问题,不知道怎么弄,请您帮我看看,谢谢拉!!!!

heropmj007 发表于 2006-4-12 20:39

我的意思就是对每个rp对应一个积分值,然后以rp为横坐标值,积分值为纵坐标值画出图来,二次积分以e和o为积分变量

heropmj007 发表于 2006-4-12 20:57

我的意思就是对每个rp对应一个积分值,然后以rp为横坐标值,积分值为纵坐标值画出图来,二次积分以e和o为积分变量

happy 发表于 2006-4-14 21:15

把sqrt((wp*rp)^2+wd^2*(rp^2+y^2)-2*rp^2*wp*wd+(2*wp*rp*wd-2*rp*wd^2)*y*cos(abs(x)))写成函数,这样是不行的

heropmj007 发表于 2006-4-15 13:35

那有什么办法呢???我怎样才能实现我的目的呢?急问!!!!

happy 发表于 2006-4-16 08:33

function z=integrnd(x,y,rp)
wp=93*2*pi/60;wd=95*2*pi/60;
z=sqrt((wp*rp)^2+wd^2*(rp^2+y^2)-2*rp^2*wp*wd+(2*wp*rp*wd-2*rp*wd^2)*y*cos(abs(x)));

function inte
r1=250;r2=48;
i=0;
for rp=24:16:144
i=i+1;
o1=-atan(r2/rp);o2=atan(r2/rp);
Q(i)=dblquad(@integrnd, o1, o2, rp-48, rp+48 ,[] ,[], rp)
end
figure
plot(rp,Q)
页: [1]
查看完整版本: 好难!!这个积分出错拉!!为什么啊??