物联网数据处理综合课程设计

使用matlab绘制采集到的温度数据,实现监测区域内温度场的重构并绘制温度场的等温线图

  1. 具体代码
  2. 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; %关闭图形保持功能

试验结果物联网数据处理综合课程设计_第1张图片

你可能感兴趣的:(笔记,经验分享)