声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 10330|回复: 12

[绘图技巧] 气体高斯扩散模型 怎么调出图来啊

[复制链接]
发表于 2009-3-22 14:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
气体高斯扩散模型 怎么调出图来啊 等浓度曲线图 等浓度区域图
调的时候我就是自己试一些数据但是得不到较好的图 请高人高人指教


function gauss()
global Q H u;
Q=2.5;
H=20;
u=2.5;
%Q=str2double(get(handles.input_Q,'String'));%获得计算的毒气量值
%u=str2double(get(handles.input_u,'String'));%获得用户输入的风速值
%H=str2double(get(handles.input_H,'String'));%获得用户输入的毒源有效高度值
%xmin=str2double(get(handles.input_xmin,'String'));%设置要显示的x轴的范围
%xmax=str2double(get(handles.input_xmax,'String'));  
%ymin=str2double(get(handles.input_ymin,'String'));%设置要显示的y轴的范围
%ymax=str2double(get(handles.input_ymax,'String'));
%z=str2double(get(handles.input_z,'String'));  %获得要显示浓度分布距地面的垂直高度值
%n=str2double(get(handles.input_n,'String')); %获得用户确定显示的坐标轴精度值
xmin=100;xmax=500;ymin=-250;ymax=250;z=183;n=100;
[x,y]=meshgrid(xmin:((xmax-xmin)/(n-1)):xmax,ymin:((ymax-ymin)/(n-1)):ymax);%网格划分
%创建扩散参数系数矩阵  
C=[0.924279 0.177154 0.917595 0.106803;...                                   
   0.885157 0.232123 0        0      ];
C1=[0.926849 0.143940 0.838628 0.126152;...                              
    0.886490 0.189396 0.756410 0.235667;...                             
    0        0        0.815575 0.136659];
%s=get(handles.select,'Value');  %选择大气稳定度等级
s=4;
switch (s)
       case 4     %如果选择大气稳定度为B1级
         if x<=500
             a1=B1(1,1);b1=B1(1,2);a2=B1(1,3);b2=B1(1,4);
         elseif x>500&&x<=1000
             a1=B1(1,1);b1=B1(1,2);a2=B1(2,3);b2=B1(2,4);
         elseif x>1000
             a1=B1(2,1);b1=B1(2,2);a2=B1(2,3);b2=B1(2,4);        
         end
     case 5     %如果选择大气稳定度为C级
        if x>=1&&x<=1000
            a1=C(1,1);b1=C(1,2);a2=C(1,3);b2=C(1,4);  
        elseif x>1000
            a1=C(2,1);b1=C(2,2);a2=C(1,3);b2=C(1,4);
        end
     end
y1=b1*x.^a1;       %根据上述选取的扩散参数系数计算y、z轴上的扩散参数
z1=b2*x.^a2;
c=Q./(2*pi*u*y1.*z1).*exp(-y.^2./(2*y1.^2)).*(exp(-(z-H)^2./(2*z1.^2))+...
exp(-(z+H)^2./(2*z1.^2)));       %高斯方程计算扩散浓度

%绘制某浓度的危险区域图程序
% c0=str2double(get(handles.input_c0,'String'));
c0=0.5;  
[I,J]=find(abs(c-c0)<0.01); %限定误差范围误差
for ii=1:length(I)
    c(I(ii),J(ii))=NaN;
end
surf(x,y,c);
colorbar;
shading interp
xlabel('x'),ylabel('y'),zlabel('c');title('特定浓度值的范围及浓度分布');
view(0,90);  %查看俯视图

%
% %绘制多条等值浓度曲线程序
% cm=str2double(get(handles.cmatrix,'String')); %获得用户输入的浓度值
% a=contour(x,y,c,[cm cm],'r'); %绘制等浓度曲线
% clabel(a)
% xlabel('x'),ylabel('y'),title('特定浓度的等值线');
% grid on   
% hold on
%
% c=str2double(get(handles.input_c1,'String')); %获得用户输入的浓度值
% gx=str2double(get(handles.input_guess,'String')); %通过查看等浓度曲线获得地面轴线下风向距离的近似值
% ……%用 gx代替以上扩散参数系数选择代码中的 x,确定系数 a1,b1,a2,b2的值
% p=sym('Q/(2*pi*u*(b1*x^a1)*(b2*x^a2))*(exp(-(-H)^2/(2*(b2*x^a2)^2))+exp(-H^2/(2*(b2*x^a2)^2)))-c=0'); %方程字符化
% p=simple(p); %化简方程
% x=solve(p); %求解字符方程
% x=subs(x);%求得某浓度下风向地面轴线距离 x的精确值
% x=num2str(x);
% set(handles.show_x1,'String',x);  
%
% x0=str2num(get(handles.input_x0,'String')); %获得用户输入的下风向距离值
% x=x0;
% ……% 省略部分参照前面程序
% c=num2str(c); % 将计算出的浓度值转化为字符型
% set(handles.show_cx,'String',c); %  输出该处浓度值

[ 本帖最后由 ameng2009 于 2009-3-22 14:42 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-22 22:23 | 显示全部楼层
水平有限, 建议楼主加强发问题方式!
 楼主| 发表于 2009-3-24 14:00 | 显示全部楼层

这是气体高斯扩散的模型描述

这是气体高斯扩散的模型描述,前面一部分注释可以直接赋值计算,后面注释主要能调通“等浓度曲线”的部分就好了,非注释部分已调通,并出图,只是离理论形状差的有点远,问题可能出在坐标轴上。


[ 本帖最后由 ameng2009 于 2009-3-24 14:07 编辑 ]
等浓度曲线.jpg
回复 支持 1 反对 0

使用道具 举报

发表于 2009-3-24 14:06 | 显示全部楼层
你到底要解决几个问题?调通“等浓度曲线”的部分?离理论形状差的有点远?
“等浓度曲线”的部分你自己可以先调试下啊,看问题出在哪里。另外,后面的参数一个都没给,要别人怎么调?
 楼主| 发表于 2009-3-24 14:15 | 显示全部楼层

就是要个等浓度曲线

在下实在菜鸟,用Matlab不过三天,,参数用上面的,可以赋值,我就是用这种傻办法干活的,惭愧:@L
发表于 2009-3-24 15:08 | 显示全部楼层
那你自己先调试撒,碰到问题再来问。从你给的代码看不出什么问题来,也不知道你为什么调不出

评分

1

查看全部评分

发表于 2011-3-27 18:21 | 显示全部楼层
请问这个公式在Visual Studio 2005当中用C#怎么实现啊?

点评

发错帖!?  发表于 2011-3-27 21:54
发表于 2011-4-22 20:05 | 显示全部楼层
感谢一下!!

点评

反对: 2.0
反对: 2
感谢??  发表于 2011-9-12 16:03
发表于 2011-4-23 21:35 | 显示全部楼层
为什么我用你的代码就画不出图啊?求解!!!
发表于 2011-9-11 18:17 | 显示全部楼层
非常感谢这些代码
发表于 2011-9-12 16:05 | 显示全部楼层
回复 10 # nilson 的帖子

代码并没齐全且报错, 真好奇感谢什麼!?
发表于 2012-6-5 10:55 | 显示全部楼层
楼上的朋友,你能把你这个程序发给我吗???!!我现在做毕设急需啊
头像被屏蔽
发表于 2014-6-4 20:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 23:32 , Processed in 0.088563 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表