问题描述:

现有一组室内飞沫污染物的空间分布数据,由于飞沫个数很多,为了更加清晰准确的表示飞沫个数浓度(个/m³)的空间分布,将房间按0.4m×0.4m×0.4m划分成多个小立方体,并将这个小立方体内的飞沫的个数浓度叠加到小立方体的中心点上,以中心点的浓度代表这个小立方体的浓度,并以颜色深浅来表示飞沫个数浓度的大小。

希望得到的飞沫个数浓度分布图如下图一(图中*为病人嘴部的位置,*为嘴部投影到地面的位置,+为陪护和医护嘴部的位置,+为陪护和医护嘴部投影到地面的位置)(该图没有以颜色深浅来表示飞沫个数浓度的大小,我希望能以颜色来表示,这样会更清晰)

现有一个M文件,内容如下:

filename='3-15s-all-DPM.xlsx';

[NUM,TXT,RAW]=xlsread(filename,4);

x=NUM(:,1);

y=NUM(:,2)-3;

z=NUM(:,3);

c=NUM(:,4);

num=size(x,1);%数据个数

l=0.2;%正方体边长

ll=1/l;

x_max=3.5;%长

y_max=3;%高

z_max=8.5;%宽

xi=0:l:x_max;

yi=0:l:y_max;

zi=0:l:z_max;

sizex=size(xi,2);

sizey=size(yi,2);

sizez=size(zi,2);

Csum=zeros(sizex,sizey,sizez);

for i=1:num

x_pos=floor(x(i)/l)+1;

y_pos=floor(y(i)/l)+1;

z_pos=floor(z(i)/l)+1;

Csum(x_pos,y_pos,z_pos)=Csum(x_pos,y_pos,z_pos)+c(i);

end

result_len=sizex*sizey*sizez;

disp(['total:',num2str(result_len)]);

result_x=zeros(result_len,1);

result_y=zeros(result_len,1);

result_z=zeros(result_len,1);

result_c=zeros(result_len,1);

idx=1;

for i=1:sizex

for j=1:sizey

for k=1:sizez

if(Csum(i,j,k)>0)

result_x(idx)=i;

result_y(idx)=j;

result_z(idx)=k;

result_c(idx)=Csum(i,j,k);

idx=idx+1;

end

end

end

end

result_len=idx-1;

plot_c=result_c(1:result_len);

plot_x=result_x(1:result_len)*l-l/2;

plot_y=result_y(1:result_len)*l-l/2;

plot_z=result_z(1:result_len)*l-l/2;

figure,

scatter3(plot_z,plot_x,plot_y,15,plot_c);

xlabel('房间的长');

ylabel('房间的宽');

zlabel('房间的高');

%scatter3(plot_x,plot_y,plot_z,15,plot_c);

%scatter3(plot_x,plot_y,plot_z,plot_c);

% %

% figure,

% i=1;

% plot3(plot_x(i),plot_y(i),plot_z(i),'ko','MarkerSize',result_c_log(i)*4,'MarkerEdgeColor','r');

% hold on;

% for i=2:result_len

%     plot3(plot_x(i),plot_y(i),plot_z(i),'ko','MarkerSize',result_c_log(i)*4,'MarkerEdgeColor','r');

% end

(filename见附件)

根据以上程序得到的图如图二所示:

图二与图一的差别较大,想要得到图一,应该怎么操作?

另外,对比现有的M文件程序,我想要的效果主要有两点不同:

1、由附件filename中可以看出,浓度单位是kg/m³(这个浓度是模拟软件模拟得到的,不需要自己计算),如果想要的是个数浓度(个/m³),应该如何修改程序?(注:附件中,每一行表示一个飞沫污染物,前三列是空间坐标数据X、Y、Z,计算个数浓度可能就要自己编程计算了)

2、该如何用颜色表示个数浓度的大小?

最后,附件中有四张sheet,每一张代表飞沫污染物的一种粒径,结果要求的是,每一张sheet(即每一种粒径)对应一张个数浓度空间分布图,并以颜色表示浓度大小

由于之前没有接触过MATLAB,导师突然给这个任务,我也摸不着头脑,希望能得到帮助,谢谢!

matlab坐标污染物浓度,如何用MATLAB画粒子空间分布图,并以颜色的深浅表示浓度?...相关推荐

  1. matlab坐标污染物浓度,基于MATLAB城市空气质量评价体系.doc

    基于MATLAB城市空气质量评价体系 基于MATLAB城市空气质量评价体系 本文针对大气污染问题,采用动态加权综合评价方法建立了合理的空气质量评价模型,同时,采用灰色关联度分析方法和BP神经网络模型较 ...

  2. matlab seed函数_如何用matlab生成随机数函数_matlab随机数生成函数

    如何用matlab生成随机数函数 1. MATLAB 函数 rand 产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间.一个称为seed的值则是用来控制产生随机数的次数.均匀随机数 ...

  3. matlab如何求变换矩阵,如何用Matlab实现机器人的变换矩阵

    如何用Matlab实现机器人的变换矩阵 如何用Matlab实现机器人的变换矩阵 前言 其中有些思路参考了这篇博客,有兴趣的同学可以看一下博客参考(关于位姿变换矩阵) 刚开始学工业机器人的时候,大家都先 ...

  4. 利用matlab处理表格数据,/如何用matlab处理多个excel表格中的数据

    excel最大可处理多少条数据 理论上可以处理59999条(行)数据 但是实际上同一个工作表中无法处理这么多数. Excel 怎样做一个客户多个数据的表 1.首先,简单描述问题,在如下的表格中想姓名一 ...

  5. matlab三元函数泰勒展开,如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各...

    问题描述: 如何用matlab绘制三元函数f(x,y,z)=x^2 y^3 z^4在[-1,1]x[-2,2]x[-3,3] 上的各种切片图. 还有怎么绘制f(x,y,t)=10*exp(1-t)*s ...

  6. 如何用python画世界地图,并用不同的颜色展现每个国家的数据?

    以下的图来自 iMeta 期刊文章,使用此代码,请引用文章: Yong-Xin Liu, Chun-Lin Shi, Tengfei Ma, Wubin Ding, Danyi Li, Tong Ch ...

  7. matlab cat函数_如何用Matlab编写贪吃蛇游戏?(持续更新)

    今后我们实验室的研究重点将会聚焦在"基于游戏的测评"和"教育游戏化"这两个主题上,因此很有必要研究实现"爆款"游戏的一些基本的技术方法.这篇 ...

  8. matlab 曲线拐点_如何用matlab把一组数据模拟一个函数图像?并找出曲线拐点?...

    MATLAB概论 MATLAB是世界流行的优秀科技应用软件之一.具有功能强大(数值计算.符号计算.图形生成.文本处理及多种专业工具箱).界面友好,可二次开发等特点.在国内外,已有许多高等院校将其列为本 ...

  9. matlab 坐标不用科学计数法,matlab不用科学计数法

    『壹』 matlab中怎么才能不是科学计数法表示结果.比如1.0e+003 * 2.7581,怎么使它显示为2758.1谢谢了,很急啊 format long (小数位14) 或 format sho ...

最新文章

  1. Vivado中debug用法
  2. SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
  3. [转]Docker 大势已去,Podman 即将崛起
  4. 【LeetCode笔记】617. 合并二叉树(Java、DFS、二叉树)
  5. 网页版本的飞行日志分析平台是_一个轻便的实时日志收集平台wslog
  6. 算法是什么我记不住,But i do it my way. (二)
  7. 蓝绿部署、滚动发布、灰度发布等方案对比总结
  8. 2015 HIAST Collegiate Programming Contest C
  9. DSP31段调音教程及调音MP3
  10. 动画图解:十大经典排序算法动画与解析
  11. 运行时错误‘53’:文件未找到:MathPage.WLL
  12. 100923G-Por Costel and the Orchard
  13. ios html录制视频,iPhone怎么录屏?玩转iOS14自带屏幕录制功能全攻略
  14. centos7服务器之基本命令
  15. 传输接口的对比 USB、Thunderbolt、HDMI、DP、type-c
  16. 如何用本地电脑部署一个网站
  17. 论MathType中空格的正确的输入方法
  18. REBOL 3.0 即將支援 Unicode
  19. php __autoload()函数与require 和include() 函数的介绍
  20. 【Delphi】从大华科技SDK的C头文件转换来的DHNetSDK.pas和DHConfigSDK.pas

热门文章

  1. 你最擅长的领域是什么
  2. react-draft-wysiwyg的使用
  3. Mars:加速数据科学的新方式
  4. 西游侠侣服务器维护多久,《西游侠侣》职业宠物合理搭配,任务PK事半功倍_37376游戏...
  5. go语言生成.proto生成go文件
  6. 一企一技术申报条件是什么?山东省各地市分别补贴多少钱?
  7. PN532资料 NFC RFID V3模块
  8. 《谈判力》读书笔记:第五章 坚持使用客观标准
  9. [书]x86汇编语言:从实模式到保护模式 -- 第六、七章 编写主引导扇区代码
  10. 基于NGINX实现RTMP推流服务器