matlab坐标污染物浓度,如何用MATLAB画粒子空间分布图,并以颜色的深浅表示浓度?...
问题描述:
现有一组室内飞沫污染物的空间分布数据,由于飞沫个数很多,为了更加清晰准确的表示飞沫个数浓度(个/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画粒子空间分布图,并以颜色的深浅表示浓度?...相关推荐
- matlab坐标污染物浓度,基于MATLAB城市空气质量评价体系.doc
基于MATLAB城市空气质量评价体系 基于MATLAB城市空气质量评价体系 本文针对大气污染问题,采用动态加权综合评价方法建立了合理的空气质量评价模型,同时,采用灰色关联度分析方法和BP神经网络模型较 ...
- matlab seed函数_如何用matlab生成随机数函数_matlab随机数生成函数
如何用matlab生成随机数函数 1. MATLAB 函数 rand 产生在区间 (0, 1)的均匀随机数,它是平均分布在 (0,1)之间.一个称为seed的值则是用来控制产生随机数的次数.均匀随机数 ...
- matlab如何求变换矩阵,如何用Matlab实现机器人的变换矩阵
如何用Matlab实现机器人的变换矩阵 如何用Matlab实现机器人的变换矩阵 前言 其中有些思路参考了这篇博客,有兴趣的同学可以看一下博客参考(关于位姿变换矩阵) 刚开始学工业机器人的时候,大家都先 ...
- 利用matlab处理表格数据,/如何用matlab处理多个excel表格中的数据
excel最大可处理多少条数据 理论上可以处理59999条(行)数据 但是实际上同一个工作表中无法处理这么多数. Excel 怎样做一个客户多个数据的表 1.首先,简单描述问题,在如下的表格中想姓名一 ...
- 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 ...
- 如何用python画世界地图,并用不同的颜色展现每个国家的数据?
以下的图来自 iMeta 期刊文章,使用此代码,请引用文章: Yong-Xin Liu, Chun-Lin Shi, Tengfei Ma, Wubin Ding, Danyi Li, Tong Ch ...
- matlab cat函数_如何用Matlab编写贪吃蛇游戏?(持续更新)
今后我们实验室的研究重点将会聚焦在"基于游戏的测评"和"教育游戏化"这两个主题上,因此很有必要研究实现"爆款"游戏的一些基本的技术方法.这篇 ...
- matlab 曲线拐点_如何用matlab把一组数据模拟一个函数图像?并找出曲线拐点?...
MATLAB概论 MATLAB是世界流行的优秀科技应用软件之一.具有功能强大(数值计算.符号计算.图形生成.文本处理及多种专业工具箱).界面友好,可二次开发等特点.在国内外,已有许多高等院校将其列为本 ...
- matlab 坐标不用科学计数法,matlab不用科学计数法
『壹』 matlab中怎么才能不是科学计数法表示结果.比如1.0e+003 * 2.7581,怎么使它显示为2758.1谢谢了,很急啊 format long (小数位14) 或 format sho ...
最新文章
- Vivado中debug用法
- SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
- [转]Docker 大势已去,Podman 即将崛起
- 【LeetCode笔记】617. 合并二叉树(Java、DFS、二叉树)
- 网页版本的飞行日志分析平台是_一个轻便的实时日志收集平台wslog
- 算法是什么我记不住,But i do it my way. (二)
- 蓝绿部署、滚动发布、灰度发布等方案对比总结
- 2015 HIAST Collegiate Programming Contest C
- DSP31段调音教程及调音MP3
- 动画图解:十大经典排序算法动画与解析
- 运行时错误‘53’:文件未找到:MathPage.WLL
- 100923G-Por Costel and the Orchard
- ios html录制视频,iPhone怎么录屏?玩转iOS14自带屏幕录制功能全攻略
- centos7服务器之基本命令
- 传输接口的对比 USB、Thunderbolt、HDMI、DP、type-c
- 如何用本地电脑部署一个网站
- 论MathType中空格的正确的输入方法
- REBOL 3.0 即將支援 Unicode
- php __autoload()函数与require 和include() 函数的介绍
- 【Delphi】从大华科技SDK的C头文件转换来的DHNetSDK.pas和DHConfigSDK.pas
热门文章
- 你最擅长的领域是什么
- react-draft-wysiwyg的使用
- Mars:加速数据科学的新方式
- 西游侠侣服务器维护多久,《西游侠侣》职业宠物合理搭配,任务PK事半功倍_37376游戏...
- go语言生成.proto生成go文件
- 一企一技术申报条件是什么?山东省各地市分别补贴多少钱?
- PN532资料 NFC RFID V3模块
- 《谈判力》读书笔记:第五章 坚持使用客观标准
- [书]x86汇编语言:从实模式到保护模式 -- 第六、七章 编写主引导扇区代码
- 基于NGINX实现RTMP推流服务器