概述
使用matlab绘制采集到的温度数据,实现监测区域内温度场的重构并绘制温度场的等温线图
- 具体代码
- clear all
clc
load MyColormaps
load dataMatrix2021
%监测数据保存在dataMatrix
nCol=2179; %有效数据为2179组
nNode=5; %5个无线传感器节点
workMatrix=dataMatrix(1:nNode,1:nCol);
%dataMatrix
%每一列是一次观测,共nCol次观测
p1=[21 2 2];
p2=[22 64 2];
p3=[23 64 90];
p4=[24 2,90];
p5=[25 33 46];
%节点ID、东西向坐标、南北向坐标
%东南角坐标为0 0,区域范围为[1 66]x[1 92]
%p1、p2、p3、p4、p5为5个无线传感器节点的信息
points=[p1;p2;p3;p4;p5];
clear p1 p2 p3 p4 p5;
pTemperature=cell(1,nCol); %用于保存nCol次观测时依据每次观测构造的温度场
clear dataMatrix i
%PV记录区域内每一点的归一化后的坐标
PV=zeros(2,66*92);
for i=1:1:92
for j=1:1:66
PV(1,(i-1)*66+j)=j;
PV(2,(i-1)*66+j)=i;
end
end
clear j;
PV(1,:)=PV(1,:)/66;
PV(2,:)=PV(2,:)/92;
%P记录每一个监测位置归一化后的坐标
P=zeros(2,nNode);
P(1,:)=points(:,2)’/66;
P(2,:)=points(:,3)’/92;
%T记录每一个监测位置的温度
T=zeros(1,nNode);
for i=1:1:2197 %循环播放2179次
T= workMatrix(:,i)’;
net=newrbe(P,T); %设计一个用于构造温度场的RBF神经网络,该神经网络用作温度场重构的计算模型
Y=sim(net,PV); %使用设计的RBF神经网络计算监测区域内每一个位置的温度
v=zeros(66,92); %目标温度场的温度表示
v(:)=Y(????;
pTemperature{i}=v; %保存构造的温度场
clear net Y v;
h=surf(pTemperature{i}); %绘制三维曲面f
colormap(mycmap); %输出rgb或16进制颜色图
caxis([min(min(workMatrix))-0.5 max(max(workMatrix))+0.5]); %设置颜色范围
colorbar; %显示色阶的颜色栏
axis([1 92 1 66]); %对坐标轴进行一定的缩放,设置当前坐标x轴和y轴的限制范围
myfilename=sprintf(‘D:/saveIOTg_/%d.jpg’,i);
%saveas(h,myfilename,‘jpg’); %保存图片(图片名字,文件名,文件格式)
hold on; %保持当前坐标轴及图像不被刷新,准备接受下面的等温线图
[C,h]=contourf(pTemperature{i}); %[M,c]=contourf( )返回等高线矩阵和等高线对象c,显示等高线图后,使用c设置属性
colormap(mycmap); %输出rgb或16进制颜色图
caxis([min(min(workMatrix))-0.5 max(max(workMatrix))+0.5]); %设置颜色范围
colorbar; %设置颜色范围
myfilename=sprintf(‘D:/saveIOTc/%d.jpg’,i);
saveas(h,myfilename,‘jpg’); %保存图片(图片名字,文件名,文件格式)
hold off; %关闭图形保持功能
试验结果
最后
以上就是唠叨大叔为你收集整理的物联网数据处理综合课程设计的全部内容,希望文章能够帮你解决物联网数据处理综合课程设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复