matlab绘制温度场
MATLAB在导热问题中的应用
分类号密级U D C 编号本科毕业论文(设计) 题目MATLAB在导热问题中的运用所在院系数学与数量经济学院专业名称信息与计算科学年级 05级学生姓名朱赤学号 **********指导教师周瑾二00九年四月文献综述1、概述MATLAB是一个为科学和工程计算而专门设计的高级交互式的软件包。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单的列出数学表达式,其结果便以数值或图形方式显示出来。
MATLAB中有大量的命令和事先定义的可用函数集,也可通称为MATLAB的M文件,这就使得用它来求解问题通常比传统编程快得多;另外一点,也是它最重要的特点,易于扩展。
它允许用户自行建立完成指定功能的M文件。
从而构成适合于其它领域的工具箱。
MATLAB既是一种编程环境,又是一种程序设计语言。
它与其它高级程序设计语言C、Fortran等一样,也有其内定的规则,但其规则更接近于数学表示,使用起来更为方便,避免了诸如C、Fortran语言的许多限制,比方说,变量、矩阵无须事先定义;其次,它的语句功能之强大,是其它语言所无法比拟的,再者,MATLAB提供了良好的用户界面,许多函数本身会自动绘制出图形,而且会自动选取坐标刻度。
传热学是一门研究由温差引起的热能传递规律的科学,其理论和技术在生产、科学研究等领域得到了广泛的应用。
在能源动力、建筑建材及机械等传统工业部门中,传热学理论的应用解决了这些部门生产过程的热工艺技术,而在新能源利用、军事高科技等新技术领域中,它甚至对一些关键技术起到了决定性作用。
传热过程是传热学研究最基本的过程之一,传统的数学分析解法只能解决相对简单的传热问题,而在解决复杂的实际传热问题时,数学描述和求解都很困难。
随着计算机技术的兴起,解偏微分方程组等早期不能被很好解决或模拟的部分已逐渐被人们完成。
同时,计算机技术的发展,尤其是MATLAB的出现,不但解决了很多较复杂的问题,也大大促进了传热学理论的发展。
matlab绘制温度场
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。
首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。
同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:X=【7.5 36.5 65.5】(模型内单位为cm)Y=【5.5 32.5 59.5】Z=【z1 z2 z3;z4 z5 z6;z7 z8 z9;】(传感器采集到的实时参数)采用meshgrid(xi,yi,zi,…)产生网格矩阵;首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!根据人体散热量计算公式:C=hc(tb-Ta)其中hc为对流交换系数;结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)xi =7.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.5000yi =5.5000 5.5000 5.5000 5.5000 5.5000 5.500015.5000 15.5000 15.5000 15.5000 15.5000 15.500025.5000 25.5000 25.5000 25.5000 25.5000 25.500035.5000 35.5000 35.5000 35.5000 35.5000 35.500045.5000 45.5000 45.5000 45.5000 45.5000 45.500055.5000 55.5000 55.5000 55.5000 55.5000 55.5000产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
matlab绘制温度场
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。
首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。
同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:X=【7.5 36.5 65.5】(模型内单位为cm)Y=【5.5 32.5 59.5】Z=【z1 z2 z3;z4 z5 z6;z7 z8 z9;】(传感器采集到的实时参数)采用meshgrid(xi,yi,zi,…)产生网格矩阵;首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!根据人体散热量计算公式:C=hc(tb-Ta)其中hc为对流交换系数;结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)xi =7.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.5000yi =5.5000 5.5000 5.5000 5.5000 5.5000 5.500015.5000 15.5000 15.5000 15.5000 15.5000 15.500025.5000 25.5000 25.5000 25.5000 25.5000 25.500035.5000 35.5000 35.5000 35.5000 35.5000 35.500045.5000 45.5000 45.5000 45.5000 45.5000 45.500055.5000 55.5000 55.5000 55.5000 55.5000 55.5000产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
matlab绘图总结(个人总结)
1,单矢量绘图x=[1 2 3 4 5 6 7 8 9 10];y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(x,y)title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid2,双矢量绘图x=0:0.05:4*pi;y=sin(x);plot(x,y)3,对数坐标绘图对数坐标分为x轴对数(semilogx),y轴对数(semilogy)及双对数(loglog)三个函数,用法和plot命令相似。
4,极坐标绘图极坐标绘图的用法和基本绘图命令plot()相似,其格式为polar(theta,rho)t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t))x=0:pi/50:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,x,y3)x1=0:pi/50:2*pi;x2=pi/4:pi/50:2*pi+pi/4;x3=pi/2:pi/50:2*pi+pi/2; % 问题出在哪里?!!!(已解决)y1=cos(x1);y2=cos(x2);y3=cos(x3);plot(x1,y1,x2,y2,x3,y3)x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; % 问题出在哪呢?!!!(已解决)y=sin(x(1,:));plot(x,y)x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y)x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; % 这个又有问题了!!!y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,2)=0.3*sin(x(:,1));plot(x,y)4,多组变量绘图x=0:pi/50:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,x,y3)5,双y轴绘图x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')t=0:900;A=1000;a=0.005;b=0.005;z1=A*exp(-a*t);z2=sin(b*t);plotyy(t,z1,t,z2,'semilogy','plot')5,图的形式和颜色matlab 提供了四种线形和十三种标记点类型MATLAB在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r'红色'm'粉红'g'绿色'c'青色'b'兰色'w'白色'y'黄色'k'黑色各种线型属性选项'-'实线'--'虚线':'点线'-.'点划线各种标记点属性选项'.'用点号绘制各数据点'^'用上三角绘制各数据点'+'用'+'号绘制各数据点'v'用下三角绘制各数据点'*'用'*'号绘制各数据点'>'用右三角绘制各数据点' .'用'.'号绘制各数据点'<'用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p'用五角星绘制各数据点'd'或diamond用菱形绘制各数据点'h'用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.t=0:pi/100:2*pi;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,'m-',t,y2,'k+',t,y3,'g:')t=0:pi/20:2*pi;y=sin(t);plot(t,y,'d')6,图形的控制与表现axis 人工选择坐标轴尺寸clf 清图形窗口ginput 利用鼠标的十字准线输入hold 保持图形shg 显示图形窗口subplot 将图形窗口分成N块子窗口t=0:pi/20:4*pi;y=sin(t);plot(t,y)gridt=0:pi/20:2*pi;[x,y]=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t)),axis equalsubplot(2,2,2)z=sin(x)+cos(y);plot(t,z)axis([0 2*pi -2 2]) subplot(2,2,3)z=sin(x).*cos(y); plot(t,z)axis([0 2*pi -1 1]) subplot(2,2,4)z=sin(x).^2-cos(y).^2; plot(t,z),axis([0 2*pi -1 1])[x,y,z]=peaks; contour(x,y,z,20,'k') hold onpcolor(x,y,z) shading interphold off坐标轴控制指令axis([xmin xmax ymin ymax])x=0:.025:pi/2;plot(x,tan(x),'-ro')axis([0 pi/2 0 5])图形的标注title 标题xlabel x轴标注ylabel y轴标注text 任意定位的标注gtext 鼠标定位标注legend 标注图例加注坐标轴标题和图形标识,在图形中加注文本t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis([0 2*pi -1 1])xlabel('0\leq\itt\rm\leq\pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书','FontSize',20)text(3*pi/4,sin(3*pi/4),'\leftarrowsin(t)=0.707','FontSize',16)text(pi,sin(pi),'\leftarrowsin(t)=0','FontSize',16)text(5*pi/4,sin(5*pi/4),'sin(t)=-0.707\rightarrow','FontSize',16,'Horizontal Alignment','right')指定TeX字符t=0:pi/100:2*pi;alpha=-0.8;beta=15;y=sin(beta*t).*exp(alpha*t);plot(t,y)title('{\itAe}^{-\alpha\itt}sin\beta{\itt}\alpha<<\beta')xlabel('时间us.'),ylabel('幅值')在图形中添加图例框x=0:pi/100:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,'-ro',x,y2,'-g*',x,y3,'bd')legend('曲线1','曲线2','曲线3')特殊图形1,条形图(1)二维条形图函数意义bar 二维垂直条形图bath 二维水平条形图bar3 三维垂直条形图bar3h 三维水平条形图y=[27 38 55 37 98 45 67 43 54]; bar(y)bar(y,'stack')barh(y)y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar(y)bar(y,'stack')barh(y)bar3(y)bar3h(y)bar(y,'stack')barh(y,'stack')指定x坐标的条形图x=[1 2 4 7 10];y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2];bar(x,y)figure,barh(x,y)可以把二维曲线当做二维条形线的包络线x=0:pi/10:2*pi;y=sin(x);bar(x,y)bar(x,y,'r')y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2];bar3(y,'group') % 分组形式的三维图figure,bar3(y) % 分列形式的三维图有两组生物医学的实验数据,一组表示物质成分(TCE),一组表示温度(temp),数据是在35天里每隔5天的取样,将物质成分和温度与时间的关系画在同一张图中TCE=[515 429 370 250 135 120 60 120];temp=[29 23 27 25 20 23 23 27];days=0:5:35;bar(days,temp,'c')xlabel('Day')ylabel('Temperature(^{o}C)')h1=gca; % 获得当前轴对象句柄h2=axes('Position',get(h1,'position') ); % 建立新的轴对象句柄plot(days,TCE,'LineWidth',3)gridset(h2,'YAxisLocation','right','Color','none','XTickLabel',[])set(h2,'XLim',get(h1,'XLim'),'Layer','top')set(h2,'XLim',get(h1,'XLim'),'Layer','top') %完成一张图形的绘制text(11,380,'Concentration','Rotation',-57,'FontSize',16)ylabel('TCE Concentration (PPM)')title('Bioremediation','FontSize',16)饼图1,不分离的饼图x=[5.5 74.7 44.5 33.2 46.6];pie(x)2,带分离的饼图x=[5.5 74.7 44.5 33.2 46.6];pie(x,[0 1 0 0 1])3,不完整的饼图当x的元素之和不为1时绘制的是不完整的饼图x=[0.2 0.3 0.4];pie(x)4,三维饼图pie3([1 2 3 4 5],[ 0 0 0 0 1])legend('矿大','地质大学','石油大学','海洋大学','其他')clear,clc,close all;x=0:0.01:2;y=-(x-1).^2;h1=plot(x,y);hold on;h2=plot(1,0,'o','MarkerSize',15, 'MarkerEdgecolor','k', 'MarkerFacecolor','g');legend([h1,h2],'-(x-1)^2','max(fx)');其他图形1,直方图yn=randn(10000,1);hist(yn)figure,hist(yn,20)y=randn(10000,3);hist(y)2,用杆状图表现离散数据x=0:0.2:10;y=exp(-0.3*x).*sin(x); stem(x,y)figure,stem(x,y,':sr')3,阶梯图的表现方法alpha=0.01;beta=0.5;t=0:10;f=exp(-alpha*t).*sin(beta*t); stairs(t,f)hold onhold offlabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; text(0.5,-0.2,label,'FontSize',14)xlabel('t=0:10','FontSize',14)axis([0 10 -1.2 1.2])4,彩色分点图t=0:pi/10:2*pi;y=sin(t);scatter(t,y)figure,scatter(t,y,'v')figure,scatter(t,y,(abs(y)+2).^4,'filled')figure,scatter(t,y,30,y,'v','filled')figure,scatter(t,y,(t+1).^3,t,'filled')三维图形1,三维曲线图t=0:pi/50:10*pi;x=exp(-t/15).*sin(2*t);y=exp(-t/15).*cos(2*t);z=t;axis square;grid on当x,y和z都是矩阵时的三维曲线[X,Y]=meshgrid([-2:0.1:2]);Z=X.*exp(-X.^2-Y.^2);plot3(X,Y,Z)grid ont=0:pi/20:5*pi;plot3(sin(t),cos(t),t,':*r')[x,y,z]=peaks(10);surf(x,y,z)2,三维网格图mesh(peaks(20))meshc(peaks(20))Waterfall(peaks(30))p=peaks(30);meshz(p)3,着色表面图surf 绘制着色表面图的基本命令surfc 绘制带等高线的着色表面图surfl 绘制表面图的光照效应x=-1.5:0.3:1.5;y=-1:0.2:1;[x,y]=meshgrid(x,y);z=sqrt(4-x.^2/9-y.^2/4);surf(x,y,z)surfc(x,y,z)surfl(x,y,z)colormap(hot)surfl(x,y,z)shading facetedshading flatsurfl(x,y,z)shading interpsurfl(x,y,z)shading flatt=0:pi/12:3*pi;r=abs(exp(-0.25*t)).*sin(t); [x,y,z]=cylinder(r,30); surfl(x,y,z)colormap(pink)shading interp表面图形的透明处理surfl(x,y,z)hidden offsurfl(x,y,z)hidden on[x,y]=meshgrid(-8:.5:8);R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z)colormap([0 0 1])hidden off表面图形的颜色映射[x,y]=meshgrid(-8:.5:8);R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z)colormap([0 0 1]) % RGB三基色[x,y]=meshgrid(-8:.5:8); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R;mesh(z)colormap(copper) colormap(bone) colormap(gray) colormap(hot) colormap(pink) colormap(cool) colormap(hsv) colormap(jet) colormap(spring) colormap(summer) colormap(autumn) colormap(winter) colormap(flag) colormap(prism) colormap(copper) colormap(colorcube) colormap(lines)切片图slice(X,Y,Z,v,xi,yi,zi) % 其中X,Y,Z为使用meshgrid生成的三维网格坐标矩阵,v为所绘制图形的函数,xi,yi,zi为切片位置x=-2:0.1:2;y=-2:0.25;z=-2:0.25:2;[X,Y,Z]=meshgrid(x,y,z);V=X.*exp(-X.^2-Y.^2-Z.^2);xi=[-0.7,0.7];yi=0.5;zi=-0.5;slice(X,Y,Z,V,xi,yi,zi)xlabel('x');ylabel('y');zlabel('z');colorbar('horiz')view([-30,45])图形的高级处理技术1,视图控制视图和旋转的函数包括view,viewmtx,rotate,和rotate3d等1,视图方向view(az,el)peaks(50)view(90,0)view(30,45)view(2)peaks(50)rotate3d2,光照(1),light 创建光源light函数为光源创建函数,其调用格式为:light('color',option1,'style',option2,'poisition',option3)在执行该命令函数之前,图形采用的是强度相等的漫射光,一旦执行该命令,则激活图形上各子对象所有与光有关的属性,其参数的缺省设置为:无穷远处的白光光源穿过[1 0 1]射向坐标原点(2),light 光照模式light options设置照明模式flat 入射光均匀照射在对象的每个小面上,该选项为缺省模式phong 先对顶点颜色插值,在计算各像素点的反光,该选项表现效果最好,但占用机时较多gouraud 对顶点处法线插值,再对由顶点勾画的面进行插值,选项用于曲面的表现(3),material 材料反射系数material options使用预定的材料反射系数shiny 有光泽明亮镜反射份额较大dull 暗淡柔和漫反射份额较大无镜面亮点metal 有金属光泽镜反射份额大背景光和漫反射份额小default 缺省方式(4)material([ka,kd,ks,n,sc])对五大反射要素进行特别设置ka 环境光kd 漫反射强度ks 镜射光强度n 镜面指数sc 镜面颜色的反射系数clft=linspace(0,2*pi,100);r=1-exp(-t/2).*cos(4*t);%旋转母线[x,y,z]=cylinder(r,60); % 产生旋转柱面数据ii=find(x<0&y<0); % 确定x-y平面上第四象限上的数据下标z(ii)=NaN; %剪切surf(x,y,z)colormap(pink)shading interplight('position',[-3 -1 3],'style','local') % 设置光源material([0.5 0.4 0.3 10 0.3]) % 设置表面反射显示效果增强后的二元函数表面图形图及光照[x,y]=meshgrid(-8:.1:8);r=sqrt(x.^2+y.^2)+eps;z=2*sin(r)./r;surf(x,y,z)shading interp;daspect([5 5 11])axis tightview(-50,30)light('position',[-10 -10 2])绘制双光照射的球sphere(36);axis equallight('Position',[1 3 2]);light('Position',[-3 -1 3]);material shinyaxis offrotate3d[x,map]=imread('C:\Users\user\Desktop\新建文件夹\单单.jpg'); %读取图形文件image(x);colormap(map) % 显示图像axis image off% 关掉坐标轴3,句柄图形(1),自定义坐标轴的显示刻度t=0:pi/20:2*pi;y=sin(t);plot(t,y)t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) % 此句还可以写为:set(gca,'XtickLabeks','-pi|-pi/2|0|pi/2|pi'),如果是数字也可以直接写成set(gca,'XtickLabeks',[1;5;10;20])axis ([-pi pi -1 1])grid2,在图形的上层显示网格建立句柄为h的三维曲面h=surf(sphere (30))figure,h=surf(sphere (30))set(h,'EdgeColor',[0.8 0.8 0.8]) rotate3dfigure,h=surf(sphere (30))set(h,'EdgeColor','g')rotate3d将坐标轴显示在图形的上层pcolor(peaks);shading interpset(gca,'Layer','top')grid用鼠标确定在曲线上画点的位置t=0:pi/20:2*pi;plot(t,cos(t))hold onset(gcf,'WindowButtonDownFcn',['p=get(gca,''CurrentPoint'');','px=p(1,1) ;py=cos(px);','plot(t,cos(t));','plot(px,py,''*r'');'])axis(axis)绘制三个Y轴的曲线[ax,hlines]=plotyyy(x1,y1,x2,y2,x3,y3,ylabels)其中x1,y1;x2,y2和x3,y3分别为三组绘图数据,ylabels为3*1阶的单元数组,用于存储三个Y轴的标识,输出参数[ax,hlines]分别为三个轴和三条曲线的图形句柄。
最新matlab绘制温度场
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。
首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。
同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:X=【7.5 36.5 65.5】(模型内单位为cm)Y=【5.5 32.5 59.5】Z=【z1 z2 z3;z4 z5 z6;z7 z8 z9;】(传感器采集到的实时参数)采用meshgrid(xi,yi,zi,…)产生网格矩阵;首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!根据人体散热量计算公式:C=hc(tb-Ta)其中hc为对流交换系数;结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)xi =7.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.5000yi =5.5000 5.5000 5.5000 5.5000 5.5000 5.500015.5000 15.5000 15.5000 15.5000 15.5000 15.500025.5000 25.5000 25.5000 25.5000 25.5000 25.500035.5000 35.5000 35.5000 35.5000 35.5000 35.500045.5000 45.5000 45.5000 45.5000 45.5000 45.500055.5000 55.5000 55.5000 55.5000 55.5000 55.5000产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
最全的MATLAB绘图命令
Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1. plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y 坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
MATLAB中的绘图函数介绍
MATLAB中的绘图函数介绍概述:MATLAB是一种非常强大的数值计算和科学绘图软件,在各个领域中都得到广泛的应用。
在MATLAB中,绘图函数是其中一个非常重要的功能,它可以帮助我们将数据可视化,并进行分析和解释。
在本文中,我们将详细介绍一些常用的MATLAB绘图函数及其功能。
一、plot函数:plot函数是MATLAB中最基本的绘图函数之一,它可以绘制线性图。
通过将一系列的点连接起来,我们可以绘制出数据的变化趋势。
下面是plot函数的一个简单示例:```matlabx = 0:0.1:10;y = sin(x);plot(x, y);```在这个例子中,我们首先定义了x的取值范围为0到10,间隔为0.1。
然后通过使用sin函数计算出对应的y值。
最后,调用plot函数将x和y的数值传入,即可得到一条关于sin函数的图形。
除了基本的线性图,plot函数还可以绘制不同颜色和线型的曲线,并添加标题、标签等。
它是进行简单数据可视化的利器。
二、scatter函数:相比于plot函数,scatter函数可以绘制散点图,用于展示多个不同数据点之间的分布关系。
通过scatter函数,我们可以方便地比较不同变量之间的相关性。
以下是scatter函数的一个示例:```matlabx = randn(100,1);y = 0.5*x + randn(100,1);scatter(x, y);```在这个例子中,我们首先生成了两组随机数x和y。
然后使用scatter函数将它们绘制成散点图。
通过观察散点图的分布,我们可以判断出x和y之间是否存在线性相关性。
scatter函数还支持设置散点的颜色、大小和透明度等参数,以满足不同的需求。
它是进行多变量分析的重要工具之一。
三、bar函数:bar函数可以用于绘制柱状图,常用于展示各个类别的数据之间的差异。
通过柱状图,我们可以清晰地比较不同类别之间的数值大小。
以下是bar函数的一个示例:```matlabx = categorical({'A', 'B', 'C', 'D'});y = [10, 15, 8, 12];bar(x, y);```在这个例子中,我们首先定义了四个类别,分别是'A'、'B'、'C'和'D'。
怎样用Matlab绘图
help plothelp axisa1=plot();hlod ona2=plot();legend([a1 a2],'图1 名',‘图2 名')hold offx1=-pi:pi/12:pi;x2=-pi:pi/12:pi;y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);axis([-2*pi 2*pi -2 2]);xlabel('x');ylabel('y');title('sin(x) & cos(x)');MATLAB受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.这里主要介绍2 维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB 各种图形对象的方法.第一节图形窗口与坐标系一.图形窗口1.MATLAB 在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.2.在MATLAB 下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB 通过管理图形窗口的句柄来管理图形窗口;3.当前窗口句柄可以由MATLAB 函数gcf 获得;4. 在任何时刻, 只有唯一的一个窗口是当前的图形窗口( 活跃窗口);figure(h)----将句柄为h 的窗口设置为当前窗口;5.打开图形窗口的方法有三种:1)调用绘图函数时自动打开;2)用File---New---Figure 新建;3)figure 命令打开,close 命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.6.窗口中的图形打印:用图形窗口的File 菜单中的Print 项.7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit 菜单中选择Properties 项,打开图形对象的参数设置窗口,可以设置对象的属性.二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由MATLAB 函数gca 获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax])重新设定;2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on 则显示坐标轴(缺省值).3)通常MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot 函数plot 函数是最基本的绘图函数,其基本的调用格式为:1.plot(y)------绘制向量y 对应于其元素序数的二维曲线图,如果y 为复数向量,则绘制虚部对于实部的二维曲线图.例:绘制单矢量曲线图.y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(y)由于y 矢量有10 个元素,x 坐标自动定义为[1 2 3 4 5 6 7 8 9 10].2.plot(x,y)------绘制由x,y 所确定的曲线.1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x 为横坐标,y 为纵坐标的图形.如:画正弦曲线:t=0:0.1:2*pi;y=sin(t);plot(t,y)2)当plot(x,y)中,x 是向量,y 是矩阵时,则绘制y 矩阵中各行或列对应于向量x的曲线.如果y 阵中行的长度与x 向量的长度相同,则以y 的行数据作为一组绘图数据;如果y 阵中列的长度与x 向量的长度相同,则以y 的列数据作为一组绘图数据;如果y 阵中行,列均与x 向量的长度相同,则以y 的每列数据作为一组绘图数据.例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(2,:)=0.3*sin(x);plot(x,y)或者还可以这样用:x=0:pi/50:2*pi;y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];plot(x,y)3) 如果x,y 是同样大小的矩阵,则plot(x,y)绘出y 中各列相应于x 中各列的图形.例:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:));y(2,:)=0.6*sin(x(2,:));y(3,:)=0.3*sin(x(3,:));plot(x,y)x=x';y=y';figureplot(x,y)在这个例子中,x------3x101,y------3x101,所以第一个plot 按列画出101 条曲线,每条3 个点;而x'------101x3,y'------101x3,所以第二个plot 按列画出3 条曲线,每条101 个点.3.多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r' 红色'm' 粉红'g' 绿色'c' 青色'b' 兰色'w' 白色'y' 黄色'k' 黑色各种线型属性选项'-' 实线'--' 虚线':' 点线'-.' 点划线各种标记点属性选项'.' 用点号绘制各数据点'^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.注意:1)表示属性的符号必须放在同一个字符串中;2)可同时指定2~3 个属性;3)与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上.例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')该程序还可以按下面的方式写:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r')hold onplot(t,y2, ':g')plot(t,y3, '*b')hold off注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.还可以进一步设置包括线的宽度(LineWidth), 标记点的边缘颜色(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为104.双Y 轴绘图:plotyy()函数.其调用格式为: plotyy(x1,y1,x2,y2)------绘制由x1,y1 和x2,y2 确定的两组曲线,其中x1,y1 的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧.Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx,loglog 等.例如:在一个图形窗口中绘制双Y 轴曲线.x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')stem:绘制stem 形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y 轴坐标对应的是plot 形式的曲线,右边的Y 坐标对应的是stem 形式的曲线.二.对数坐标图绘制函数:在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和loglog 函数.1)semilogx( )------绘制以X 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogx(x,y,'属性选项')其中属性选项同plot 函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.2)semilogy( )------绘制以Y 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogy(x,y,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.3)loglog( )------ 绘制X,Y 轴均为对数坐标轴的图形.其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.例:x=0:0.1:6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4)MATLAB 还提供了一个实用的函数:logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n)这里,x1 表示向量的起点;x2 表示向量的终点;n 表示需要产生向量点的个数(一般可以不给出,采用默认值50).在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.三.极坐标图的绘制函数:绘极坐标图可用polar( )函数.其调用格式如下:polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot 函数基本一致.例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi;p=cos((5*theta)/4)+1/3;polar(theta,p)四.绘制多个子图:subplot( )函数MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm 个部分.分割图形窗口用subplot 函数来实现,其调用格式为:subplot(n,m,k)或subplot(nmk)------n,m 分别表示将窗口分割的行数和列数,k 表示要画图部分的代号,表示第几个图形,nmk 三个数可以连写,中间不用符号分开.例如:将窗口划分成2x2=4 个部分,可以这样写:subplot(2,2,1),plot(……)subplot(2,2,2),……subplot(2,2,3),……subplot(2,2,4),……注:subplot 函数没有画图功能,只是将窗口分割.第三节图形的修饰与标注MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下: 1)坐标轴的标题:title 函数其调用格式为:title('字符串')------字符串可以写中文如:title('My own plot')2)坐标轴的说明:xlabel 和ylabel 函数格式:xlabel('字符串')ylabel('字符串')如:xlabel('This is my X axis') ylabel('My Y axis')3)图形说明文字:text 和gtext 函数A.text 函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1 的坐标单位和图中一致;如选项为'sc', 则x1,y1 表示规范化窗口的相对坐标,其范围为0到1.如:text(1,2, '正弦曲线')B.gtext 函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.4)给图形加网格:grid 函数在调用时直接写grid 即可.上面的函数的应用实例:例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.t=0:pi/100:2*pi;y=sin(t);plot(t,y),grid,axis([0 2*pi -1 1])xlabel('0 leq itt rm leq pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书' ,'FontSize',20) text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707','FontSize',16)text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',... 'FontSize',16,'HorizontalAlignment','right')5)在图形中添加图例框:legend 函数其调用格式为:A.legend('字符串1', '字符串2', ……)------以字符串1,字符串2……作为图形标注的图例.B.legend('字符串1', '字符串2', ……, pos)------pos 指定图例框显示的位置.图例框被预定了6 个显示位置:0------取最佳位置;1------右上角(缺省值);2------左上角;3------左下角;4------右下角;-1------图的右侧.例:在图形中添加图例.x=0:pi/10:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,'-o',x,y3,'-*')legend('曲线1','曲线2','曲线3')6)用鼠标点选屏幕上的点:ginput 函数格式为:[x, y, button]=ginput(n)其中:n 为所选择点的个数;x,y 均为向量,x 为所选n 个点的横坐标;y 为所选n个点的纵坐标.button 为n 维向量,是所选n 个点所对应的鼠标键的标号:1------左键;2------中键;3------右键.可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.第四节MATLAB 下图形对象的修改MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root), 图形窗口(Figures), 坐标轴(Axes), 控件(Uicontrol), 菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像(Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次:RootFiguresAxes Uicontrol Uimenu Uicontextmenu (对象菜单)Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用MATLAB 的图形对象句柄(Handle).在MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数:1)set 函数:用于设置句柄所指的图形对象的属性.Set 函数的格式为:set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……) 例:h=plot(x,y)set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.2)get 函数:获取指定句柄的图形对象指定属性的当前值.格式为:get(句柄, '属性名')如: get(gca, 'Xcolor')------获得X 轴的当前颜色属性值. 执行后可返回X 轴的当前颜色属性值[0,0,0](黑色).3)如果没有设置句柄,则可以使用下列函数获得:gcf:获得当前图形窗口的句柄;gca:获得当前坐标轴对象的句柄;gco:获得当前对象的句柄.如:A.要对图形窗口的底色进行修改,可用:set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B.要把当前X 轴的颜色改为绿色,可用:set(gca, 'Xcolor', [0,1,0])C.还可对坐标轴的显示刻度进行定义:t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/ 2','0','pi/2','pi'])本例中用'xtick'属性设置x 轴刻度的位置(从-pi~pi,间隔pi/2,共设置5 个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数,因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值.二.一些常用的属性如下:1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框);2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:'normal'------正常'reverse'------反向4)坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量如何在画好曲线后再在图上标刻度就是想在一些特定的点边上标上一串30.60.90~7200递增的数据,共有96个点要标!!im = imread(url);imshow(im)然后输入:text(100,100,'\o ','Color','red');matlab,用imread 读入一个图片,我想在图上的一些坐标点上做标记。
matlab绘制温度场
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。
首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。
同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:X=【7.5 36.5 65.5】(模型内单位为cm)Y=【5.5 32.5 59.5 】Z=【z1 z2 z3;z4 z5 z6;z7 z8 z9;】(传感器采集到的实时参数)采用meshgrid (xi, yi, zi,…)产生网格矩阵;首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!沃於厘rr見公玖】C =根据人体散热量计算公式:C=hc (tb-Ta) 「‘ i L-;,*其中hc为对流交换系数;结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)xi =7.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.5000yi =5.5000 5.5000 5.5000 5.5000 5.5000 5.500015.5000 15.5000 15.5000 15.5000 15.5000 15.500025.5000 25.5000 25.5000 25.5000 25.5000 25.500035.5000 35.5000 35.5000 35.5000 35.5000 35.500045.5000 45.5000 45.5000 45.5000 45.5000 45.500055.5000 55.5000 55.5000 55.5000 55.5000 55.5000产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
MATLAB及其应用概述
在Matlab中,可以使用方括号[]来索引矩阵的元素。例如, `A(1,2)`表示矩阵A的第1行第2列的元素。
矩阵操作
可以对矩阵进行各种操作,如加法、减法、乘法等。例如,`B = A + C`表示矩阵A和矩阵C相加,结果保存在矩阵B中。
矩阵的运算
01
02
03
矩阵加法
将两个相同大小的矩阵对 应元素相加,得到一个新 的矩阵。
常量
在Matlab中,常量是在程序运行过程中不能改变的值,如pi 和Inf。
Matlab的运算符
算术运算符
包括加、减、乘、除等基本算术运算。
关系运算符
用于比较两个值的大小关系,返回逻辑值。
逻辑运算符
包括与、或和非等逻辑运算,返回逻辑值。
赋值运算符
用于将运算结果赋值给变量,如“=”、“+=”、“-=”等。
特征值与特征向量
Matlab可以计算矩阵的特征 值和特征向量。
线性方程组求解
Matlab可以求解线性方程组 ,包括高斯消元法、LU分解 等。
非线性方程求解
迭代法
01
Matlab提供了多种迭代法求解非线性方程,如牛顿法、二分法
等。
函数零点查找
02
Matlab可以找到函数的零点,通过迭代或搜索算法实现。
矩阵减法
将一个矩阵的对应元素减 去另一个矩阵的对应元素, 得到一个新的矩阵。
矩阵乘法
将一个矩阵的每一行与另 一个矩阵的每一列对应元 素相乘,得到一个新的矩 阵。
矩阵的函数运算
01
矩阵求和
使用`sum`函数可以对矩阵的列或行 进行求和。例如,`sum(A)`表示对矩 阵A的所有元素求和,`sum(A,2)`表 示对矩阵A的每一列求和。
焊接热过程仿真实验报告
焊接热过程仿真实验报告焊接热过程仿真实验一、实验目的1、通过实验加强对瞬时点热源焊接温度场和焊接热循环的概念、影响因素、解析解和数值解的特点等的感性认识。
2、Matlab,Ansys软件的使用。
二、实验内容1、使用Matlab计算绘制瞬时点热源焊接温度分布曲线。
2、使用Aansys软件对瞬时点热源焊接温度场进行仿真计算,观察温度分布云图,绘制指定点的焊接热循环曲线,对瞬时点热源焊接温度场的影响因素进行定量定性的探讨。
三、实验步骤1、使用Matlab计算绘制瞬时点热源焊接温度分布曲线。
1)启动Matlab软件;2)打开新文件3)编写程序源程序如下:Instant point heatr= -4:.01:4;Q=3600;lan=0.4;c=0.65;p=7.8;cp=c*p;a=lan/cpfor t=1:1:10temp =2*Q/cp/(4*pi*a*t)^1.5*exp(-r.^2 /4/a/t);plot(r,temp)hold onendXXX('温度(C)')xlabel('间隔r (cm)')grid on4)运行程序5)记录指定工夫的温度,绘制温度分布曲线。
尝试成效图如下:2、使用Aansys软件对瞬时点热源焊接温度场进行仿真计算。
ANSYS软件采用有限元方法进行稳态、瞬态热分析,计算各种热载荷引起的温度、热梯度、热流率、热流密度等参数。
这些热载荷包括:对流,辐射,热流率,热流密度(单位面积热流),热生成率(单位体积热流),固定温度的边界条件。
采用ANSYS软件进行热过程分析可以用菜单交互操作和编程两种方式。
由于本次实验仅有两学时,学生又无该软件的使用经验,所以主要以程序调试为主,将重点放在参数影响因素的探讨。
1)使用文本文件编辑器编写程序2)以.mac为扩展名存盘3)运行Ansys软件4)设置文件夹到程序所在文件夹4)运转程序源程序及各步骤所得结果图如下:步骤1:项目设置FINISHCLEARFILNAME。
matlab热力学仿真计算
matlab热力学仿真计算热力学是物理学中的一个分支,研究能量与热、温度之间的关系。
在工程学中,热力学是一个非常重要的分支,涵盖了很多领域。
例如,热力学可以帮助我们设计发电厂,优化化学反应,设计交通工具等。
为了模拟这些现象,工程师和科学家使用数值计算模型,在计算机上模拟这些事件,以便更好地理解和预测它们。
其中,MATLAB是一种非常流行的科学计算软件,它可以帮助科学家和工程师解决数学、物理和工程问题。
在热力学仿真计算方面,MATLAB提供了一些工具,可以模拟各种热力学场景。
在这篇文章中,我们将讨论如何使用MATLAB来进行热力学仿真计算,以及MATLAB在这个领域中的优点。
第一步是了解热力学基础知识。
热力学的学科非常广泛,但是对于许多实际问题,通常只需要知道一些基本概念。
例如,热力学中的一些关键术语包括温度、热容、焓、熵、能量等。
在进行热力学仿真计算时,我们需要对这些概念和术语有基本的了解。
接着,我们需要选择一个适当的热力学仿真计算工具。
在MATLAB中,有许多工具箱可以使用,例如“Thermodynamics Data”工具箱,可以提供热力学数据,如热容、气化热、热传导系数等等。
另外,还有“CoolProp”Open Source物性库,可提供气体、液体、蒸汽、制冷剂等物质的性质数据,如密度、比热、热导率等等。
第三步是创建模型。
在MATLAB中,可以使用Simulink建立热力学模型,包括设置边界条件、确定初始值和输入参数。
热力学模型通常包括九种基本构件:热源、热子系统、储存器、引出管、工作质量、管道、气动阀、泵和喷嘴。
通过使用这些构件,我们可以建立一个热力学模型,以模拟实际系统中的热力学过程。
最后一步是执行仿真计算,收集并分析结果。
在MATLAB中,我们可以使用内置函数对仿真计算结果进行分析,例如绘制温度随时间的变化曲线、计算压力、热功率、系统效率等参数。
我们还可以使用MATLAB自带的数据可视化工具,如plot或surf函数,显示实时数据。
MATLAB的绘图功能
本章重点:
图形窗口与坐标系的概念 二维图形的绘制 plot() 对数坐标图 极坐标图 子图 图形的修饰与标注 MATLAB下图形对象的修改
一、图形窗口与坐标系的概念
MATLAB下,每个图形窗口有唯一的一个序号h,称 为该图形窗口的句柄。MATLAB通过管理图形窗口的句柄 来管理图形窗口;任何时刻,只有唯一的一个窗口是当前 的图形窗口 。 打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建;
二、 二维图形的绘制
plot函数是最基本的绘图函数,其基本的调用格式为:
plot(y)------绘制向量y对应于其元素序数的二维曲线图,如
果y为复数向量,则绘制虚部对于实部的二维曲线图。 plot(x,y)------绘制由x,y所确定的曲线 根据x y的维数有多种形式
例1
plot(x1, y1, 选项1, x2, y2, 选项2, ……)----多组变量绘图 选项是指为了区分多条曲线的颜色、线型及标记点而设定 的曲线的属性 。 例2 plotyy(x1,y1,x2,y2)------绘制由x1,y1和x2,y2确定的 两组曲线,其中x1,y1的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧。
等间距向量生成
logspace( )函数,可按对数等间距地分布来产生一个向 量,其调用格式为: x=logspace(x1,x2,n)
这里,x1表示向量的起点;x2表示向量的终点;n表示 需要产生向量点的个数
linspace( )函数,可按线性等间距地分布来产生一个向量
极坐标图的绘制函数
绘极坐标图可用polar( )函数。其调用格式如下: polar(theta, rho,‘ 选 项 ’ )------theta : 角 度 向 量 , rho:幅值向量,选项与plot函数基本一致。 cos((5 ) / 4) 1 / 3 [0,8 ] 例如:极坐标模型为: 则绘出极坐标图的程序为: theta=0:0.1:8*pi; p=cos((5*theta)/4)+1/3; polar(theta,p)
MATLAB中绘图命令介绍
MATLAB中绘图命令介绍本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。
下例可画出一条正弦曲线:close all;x=linspace(0, 2*pi, 100); % 100个点的x坐标y=sin(x); % 对应的y坐标plot(x,y);小整理:MATLAB基本绘图函数plot: x轴与y轴均为线性刻度(Linear scale)loglog: x轴与y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将座标对依次放入plot函数即可:hold on 保持当前图形,以便继续画图到当前坐标窗口hold off 释放当前图形窗口title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)plot(x, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态,也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元、颜色元、图线型态,y 黄色 .点k 黑色o 圆w 白色x xb 蓝色++g 绿色* *r 红色- 实线c 亮青色: 点线m锰紫色-. 点虚线-- 虚线plot3 三维曲线作图图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
实验六 Matlab软件的绘图功能
实验六Matlab软件的绘图功能学号:姓名:评分:一、实验目的:了解Matlab的图形窗口、掌握MA TLAB基本二维图形和三维图形绘制及图形的基本操作,掌握特殊图形的绘制、图形的注释等。
二、实验要求1.预习Matlab二维图形和三维图形绘制及图形的基本操作,掌握特殊图形的绘制、图形的注释;2.在Matlab命令窗口内完成下面的实验内容;3.整理并上交实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会)。
三、实验内容与步骤1.在MATLAB中进行数据可视化的过程主要有如下步骤:(1) 准备需要绘制在MATLAB图形窗体中的数据。
(2) 创建图形窗体,并且选择绘制数据的区域。
一个MATLAB图形窗体可以包含多个绘图区域。
(3) 绘制图形或者曲线。
(4) 设置曲线的属性,例如线型、线宽等。
(5) 设置绘图区域的属性,并且添加数据网格线。
(6) 为绘制的图形添加标题、轴标签或者标注文本等。
(7) 保存、打印或者导出图形。
2.基本绘图指令:绘制一条二维曲线:plot(xdata,ydata,'color_linestyle_marker')绘制多条二维曲线:plot(xdata1,ydata1, 'clm1',xdata2,ydata2, 'clm2',…)绘制多条三维曲线:plot3(xdata,ydata,zdata,'clm',…)绘制三维的线框图mesh(X,Y,Z)绘制三维的着色图surf(X,Y,Z)上机练习1. 在命令窗口内运行下列命令,并观察绘出的图形:(1)x = 0:pi/1000:2*pi;y = sin(2*x+pi/4);plot(x,y)(2)plot(x,y,x,y+1,x,y+2)(3)A = pascal(5)plot(A)(4)z = 0:0.1:40;x = cos(z);y = sin(z);plot3(x,y,z)(5)[X,Y] = meshgrid(-3:.125:3);Z = peaks(X,Y);subplot(2,2,1);mesh(X,Y ,Z);subplot(2,2,2);meshc(X,Y ,Z);subplot(2,2,3);meshz(X,Y ,Z);subplot(2,2,4);surf(X,Y,Z); 上机练习2. (1)编写程序,该程序在同一窗口中绘制函数在 []0,2π之间的正弦曲线和余弦曲线,步长为 /10π,线宽为 4 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。
matlab绘图知识点总结
matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。
其基本语法为:plot(x, y)。
其中x是横轴坐标数据,y是纵轴坐标数据。
通过plot函数可以绘制折线图、散点图等。
2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。
其中x是条形的横轴坐标位置,y是条形的高度。
3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。
其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。
4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。
其中x是待绘制的数据,bins则是用来指定直方图的条形数目。
5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。
其中x和y分别是散点的横轴和纵轴坐标数据。
6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。
其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。
二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。
2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。
3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。
4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。
5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。
三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。
(完整word版)matlab绘制温度场
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。
首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。
同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:X=【7.5 36.5 65.5】(模型内单位为cm)Y=【5.5 32.5 59.5】Z=【z1 z2 z3;z4 z5 z6;z7 z8 z9;】(传感器采集到的实时参数)采用meshgrid(xi,yi,zi,…)产生网格矩阵;首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!根据人体散热量计算公式:C=hc(tb-Ta)其中hc为对流交换系数;结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)xi =7.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.50007.5000 17.5000 27.5000 37.5000 47.5000 57.5000yi =5.5000 5.5000 5.5000 5.5000 5.5000 5.500015.5000 15.5000 15.5000 15.5000 15.5000 15.500025.5000 25.5000 25.5000 25.5000 25.5000 25.500035.5000 35.5000 35.5000 35.5000 35.5000 35.500045.5000 45.5000 45.5000 45.5000 45.5000 45.500055.5000 55.5000 55.5000 55.5000 55.5000 55.5000产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
已知坐标和坐标点温度 3维 matlab
已知坐标和坐标点温度 3维 matlab已知坐标和坐标点温度 3维 matlab1. 背景介绍在数学和计算机科学领域,已知坐标和坐标点温度是一个重要的问题。
在实际应用中,我们经常需要根据已知的坐标和相应的温度信息来进行分析和计算。
而在计算机编程中,特别是在使用Matlab进行数据处理和可视化时,对已知坐标和坐标点温度的处理也经常涉及到。
2. 已知坐标和坐标点温度的基本概念在处理已知坐标和坐标点温度时,首先我们需要了解一些基本的概念。
坐标通常由(x, y, z)三个数值来表示,分别对应空间中的三个方向。
而坐标点的温度则是该点在空间中的温度值。
在3维空间中,已知坐标和坐标点温度可以用矩阵或数组来表示,每一行对应一个坐标点,而温度值则对应该点的温度信息。
3. Matlab中的处理方法在Matlab中,我们可以利用矩阵和数组的运算来处理已知坐标和坐标点温度。
我们可以将已知的坐标点和温度值存储在两个分别对应的矩阵或数组中。
通过Matlab提供的矩阵运算和函数,我们可以进行各种操作,比如计算坐标点之间的距离,查找特定温度范围内的坐标点等。
Matlab还提供了丰富的绘图函数,可以将处理后的坐标点和温度信息直观地展示出来。
4. 深入探讨已知坐标和坐标点温度的应用除了基本的处理方法外,已知坐标和坐标点温度还有许多深层次的应用。
比如在气象学中,我们可以根据已知的气象站坐标和气温信息来绘制气温分布图,以便对气候变化进行分析。
在地理信息系统中,已知坐标和坐标点温度也被广泛应用于地图制作和空间数据分析。
另外,在工程领域中,我们可以利用已知坐标和坐标点温度来进行热传导分析和热能分布计算。
5. 总结和回顾通过对已知坐标和坐标点温度的深入探讨,我们了解了这一问题的基本概念和Matlab中的处理方法。
我们也看到了这一问题在实际应用中的广泛应用,以及与其他领域的密切联系。
在未来的学习和工作中,我们可以进一步深入研究已知坐标和坐标点温度在不同领域的应用,以及利用Matlab中更高级的技术来处理和分析相关数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Surf(xi,yi,zi)
经过一定的图像处理之后可得到温度场的分布如下:
从图中坐标也可以看出,分辨率设置的过大之后,插值法会出现较大的误差甚至是错误。然而当分辨率设置的较为合理之后,二维插值结合三次线条插值能较好地吻合实际的温度场的分布。
Zi=interp2(x,y,z,xi,yi,‘spline’)
zi =
19.00004.517315.204816.7822 -6.7326-16.9509
7.1027-91.1872-15.4389-11.6435-191.3871-266.8890
18.94026.194518.188711.8409-29.5509-44.3035
15.5000 15.5000 15.5000 15.5000 15.5000 15.5000
25.5000 25.5000 25.5000 25.5000 25.5000 25.5000
35.5000 35.5000 35.5000 35.5000 35.5000 35.5000
45.5000 45.5000 45.5000 45.5000 45.5000 45.5000
11.4135-68.5455-25.7034 8.1347-40.1338-69.1854
-19.6972-344.0942-148.6804 -37.1340-325.8118-477.3336
-12.7095-278.7121-114.6136 -28.6166-283.7157-414.3010
因为影响人的舒适感的温度层只是室内的某一高度范围内的温度,而温度传感器虽然是布置在一个平面内,但是采用插值法和拟合函数法是可以大致再现出影响人的舒适感的温度层的温度变化的。同时,在构建出的三维模型中,用第三维表示传感器层面的温度。
在传感器层面,传感器分布矩阵如下:
X=【7.5 36.5 65.5】(模型内单位为cm)
根据人体散热量计算公式:C=hc(tb-Ta)
其中hc为对流交换系数;
结合Gagge教授提出的TSENS热感觉指标可以计算出不同环境下人的对环境温度变化时人体温度感知分辨率,作为插值法的一个参考量,能使绘制出的温度场更加的符合人体的温度变化模式。
例如按照10cm的均差产生网格矩阵(实际上人对温度的分辨率是远远10cm大于这个值的,但是那样产生的网格矩阵也是异常庞大的,例如以0.5cm为例,那么就可以获得116*108=12528个元素,为方便说明现已10cm为例):
在上图中可以看出温度场变化很突兀,设置较高的人体温度感知分辨率之后图像如下:
下图为温度场分布曲面在传感器分布面上的投影的等高线图,可以比较直观的反映室内的温度变化情况。
【c,h】=contour(x,y,z);
Clabel(c,h);
参考文献:
(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)
通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合matlab软件绘制出计算出的温度场的三维图像。
一.数据的采集与处理
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
yi =
5.5000 5.5000 5.5000 5.5000 5.5000 5.5000
z =
21 21 21 21 21
21 19 18 17 21
21 18 16 19 21
21 16 15 14 21
21 21 21 21 21
此时再结合matlab中定义的splin个函数来估算预定分辨率上的温度场的分布。
因为在实际中温度的变化必然是连续的,故而得到的温度场中通过任意点的截面截出的曲线必然是连续可导的,故而必须使用spline(三次样条插值法)得到光滑的插值分布曲线。同时又因为该温度场现实的是传感器分布面上的温度分布,故而必须采用interp2(二维插值法),同时用第三维的高度值的变化和连续变化的颜色来显示温度的连续变化。
55.5000 55.5000 55.5000 55.5000 55.5000 55.5000
产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。即在这些函数的基础之上,对参数进行一些必要的处理。
然后,加上室内的预设温度,扩大温度数值矩阵,例如预设温度为21℃,采用一组试验中测得的温度值,如下:
[xi yi]=meshgrid(7.5:10:65.5,5.5:10:59.5)
xi =
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
7.5000 17.5000 27.5000 37.5000 47.5000 57.5000
Y=【5.5 32.5 59.5】
Z=【z1 z2 z3;
z4 z5 z6;
z7 z8 z9;】(传感器采集到的实时参数)
采用meshgrid(xi,yi,zi,…)产生网格矩阵;
首先按照人的最小温度分辨值,将室内的分布矩阵按照同样的比例细化,均分,使取值点在坐标一定程度上也是接近于连续变化的,从而才能最大程度上使处理数据得来的分布值按最小分辨值连续变化!