MATLAB 程序问题 80
各位程序如下m函数为function[]=expand(k,Q,C,s,r,ws,wa,wd)x0=0;y0=1787;z0=4;p0=176.4125;R=sqrt((...
各位 程序如下
m函数为
function []=expand(k,Q,C,s,r,ws,wa,wd)
x0=0;
y0=1787;
z0=4;
p0=176.4125;
R=sqrt((-4)*k*s*log((C/((1-r)*Q)).*(4*pi*k*s)^(1.5)));
for i=0:100:s/100
if (wd*(i/100))<=R
R=R-wd;
R0=R;
s1=0:100:1000*pi;
p=0:100:2000*pi;
wsx=ws*cos(wa)*i;
wsy=ws*sin(wa)*i;
[theta,phi]=meshgrid(s1,p);
x=R.*sin(theta).*cos(phi)+wsx;
y=R.*sin(theta).*sin(phi)+wsy;
z=R.*cos(theta);
hold on
surfc(x,y,z)
end
end
R0=R0; %%绘制其它相关信息
view(30,60) %%观察角度
title('污染源扩散图形'); %%图形标题
xlabel('x'); %%x轴标记
ylabel('y'); %%y轴标记\
zlabel('z'); %%z轴标记
axis([-150,200,-200,150,0,200])
x=x0-ws*cos(wa)*s/100;
y=y0-ws*sin(wa)*s/100;
R1=sqrt((x0-x)^2+(y0-y)^2);
end
输入k=0.1;Q=100000;C=100;s=3000;r=2700;wd=200;ws=350;wa=400;
运行下面
>> expand(k,Q,C,s,r,ws,wa,wd)
结果为
Error using surf (line 75)
X, Y, Z, and C cannot be complex
Error in surfc (line 56)
hs = surf(cax, args{:});
Error in expand (line 20)
surfc(x,y,z)
应该如何改进 MATLAB 新手 展开
m函数为
function []=expand(k,Q,C,s,r,ws,wa,wd)
x0=0;
y0=1787;
z0=4;
p0=176.4125;
R=sqrt((-4)*k*s*log((C/((1-r)*Q)).*(4*pi*k*s)^(1.5)));
for i=0:100:s/100
if (wd*(i/100))<=R
R=R-wd;
R0=R;
s1=0:100:1000*pi;
p=0:100:2000*pi;
wsx=ws*cos(wa)*i;
wsy=ws*sin(wa)*i;
[theta,phi]=meshgrid(s1,p);
x=R.*sin(theta).*cos(phi)+wsx;
y=R.*sin(theta).*sin(phi)+wsy;
z=R.*cos(theta);
hold on
surfc(x,y,z)
end
end
R0=R0; %%绘制其它相关信息
view(30,60) %%观察角度
title('污染源扩散图形'); %%图形标题
xlabel('x'); %%x轴标记
ylabel('y'); %%y轴标记\
zlabel('z'); %%z轴标记
axis([-150,200,-200,150,0,200])
x=x0-ws*cos(wa)*s/100;
y=y0-ws*sin(wa)*s/100;
R1=sqrt((x0-x)^2+(y0-y)^2);
end
输入k=0.1;Q=100000;C=100;s=3000;r=2700;wd=200;ws=350;wa=400;
运行下面
>> expand(k,Q,C,s,r,ws,wa,wd)
结果为
Error using surf (line 75)
X, Y, Z, and C cannot be complex
Error in surfc (line 56)
hs = surf(cax, args{:});
Error in expand (line 20)
surfc(x,y,z)
应该如何改进 MATLAB 新手 展开
2个回答
展开全部
R1=sqrt((x0-x)^2+(y0-y)^2); 或
R=sqrt((-4)*k*s*log((C/((1-r)*Q)).*(4*pi*k*s)^(1.5)))
产生复数(虚数)了。
检查程序吧!
R=sqrt((-4)*k*s*log((C/((1-r)*Q)).*(4*pi*k*s)^(1.5)))
产生复数(虚数)了。
检查程序吧!
追问
如何解决 虚数 这个问题 这是高斯扩散模型 应用来找污染源
追答
高斯扩散模型。
问题在:
(C/((1-r)*Q)) = -3.7051e-07
log((C/((1-r)*Q)).*(4*pi*k*s)^(1.5)) = -2.4562 + 3.1416i
R = -1.3782e+02 - 3.0314e+01i
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询