怎么利用Matlab绘制二维坐标有序图

怎么利用Matlab绘制二维坐标有序图
怎么利用Matlab绘制二维坐标有序图

如:

X=[1 4 2 8 3 4 2 9 12 3];为横坐标

Y=[0 5 2 9 1 2 4 3 7 5];为对应的纵坐标

我们利用matlab

只需按以下程序即可得到相应的路径图:

plot(X,Y,’m’);

假如我们想得到不同颜色的二维图,只需改变’’中的字母即可,如把m改为k之类的。

这就是要绘制的二维有序坐标图

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.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 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

西安交通大学——温度场数值模拟(matlab)

温度场模拟matlab代码: clear,clc,clf L1=8;L2=8;N=9;M=9;% 边长为8cm的正方形划分为8*8的格子 T0=500;Tw=100; % 初始和稳态温度 a=0.05; % 导温系数 tmax=600;dt=0.2; % 时间限10min和时间步长0.2s dx=L1/(M-1);dy=L2/(N-1); M1=a*dt/(dx^2);M2=a*dt/(dy^2); T=T0*ones(M,N); T1=T0*ones(M,N); t=0;l=0;k=0; Tc=zeros(1,600);% 中心点温度,每一秒采集一个点 for i=1:9 for j=1:9 if(i==1|i==9|j==1|j==9) T(i,j)=Tw;% 边界点温度为100℃ else T(i,j)=T0; end end end if(2*M1+2*M2<=1) % 判断是否满足稳定性条件 while(t

end i=1:9;j=1:9; [x,y]=meshgrid(i); figure(1); subplot(1,2,1); mesh(x,y,T(i,j))% 画出10min 后的温度场 axis tight; xlabel('x','FontSize',14);ylabel('y','FontSize',14);zlabel('T/℃','FontSize',14) title('1min 后二维温度场模拟图','FontSize',18) subplot(1,2,2); [C,H]=contour(x,y,T(i,j)); clabel(C,H);axis square; xlabel('x','FontSize',14);ylabel('y','FontSize',14); title('1min 后模拟等温线图','FontSize',18) figure(2); xx=1:600; plot(xx,Tc,'k-','linewidth',2) xlabel('时间/s','FontSize',14);ylabel('温度/℃','FontSize',14);title('中心点的冷却曲线','FontSize',18) else disp('Error!') % 如果不满足稳定性条件,显示“Error !” end 实验结果: 时间/s 温度/℃ 中心点的冷却曲线

MATLAB 画等温线

测量到不同坐标点的高度值,如何用matlab画三维图 附上部分数据: A=[-210.6627 -33391.1192 5.0273 -221.3052 -33387.7415 4.5969 -210.9391 -33393.0068 5.5647 -221.8901 -33390.7396 5.0077 -211.384 -33394.7093 5.6505 -222.6117 -33392.778 5.0554 -212.7074 -33397.5459 5.7381 -225.8973 -33397.5869 5.5587]; 解:代码在matlab2009a版以上均可运行。 A=[-210.6627 -33391.1192 5.0273 -221.3052 -33387.7415 4.5969 -210.9391 -33393.0068 5.5647 -221.8901 -33390.7396 5.0077 -211.384 -33394.7093 5.6505 -222.6117 -33392.778 5.0554 -212.7074 -33397.5459 5.7381 -225.8973 -33397.5869 5.5587]; xData = A(:,1); yData = A(:,2); zData = A(:,3); fitresult = fit( [xData, yData], zData, 'linearinterp'); figure( 'Name', '三维图' ); plot( fitresult, [xData, yData], zData ); xlabel( 'x' ); ylabel( 'y' ); zlabel( 'z' ); grid on view( -53, 50 );

matlab绘制温度场复习过程

m a t l a b绘制温度场

通过在室内的某些位置布置适当的节点,采集回来室内的温湿度以及空气质量等实际参数。首先对室内空间建模,用一个无限细化的三维矩阵来模拟出室内的温度分布情况,针对采集回来的数据,采用插值法和适当次数的拟合函数的拟合,得出三维矩阵的实际值的分布,最后结合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.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 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 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 55.5000 55.5000 55.5000 55.5000 55.5000 55.5000 产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。即在这些函数的基础之上,对参数进行一些必要的处理。

实验2 Matlab绘图操作

实验2 Matlab 绘图操作 实验目的: 1、 掌握绘制二维图形的常用函数; 2、 掌握绘制三维图形的常用函数; 3、 掌握绘制图形的辅助操作。 实验内容: 1. 设sin .cos x y x x ?? =+ ??+?? 23051,在x=0~2π区间取101点,绘制函数的曲线。 2. 已知: y x =21,cos()y x =22,y y y =?312,完成下列操作: (1) 在同一坐标系下用不同的颜色和线性绘制三条曲线; (2) 以子图形式绘制三条曲线; (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 3. 已知:ln(x x e y x x ?+≤??=??+>??2 0102 ,在x -≤≤55区间绘制函数曲线。 4. 绘制极坐标曲线sin()a b n ρθ=+,并分析参数a 、b 、n 对曲线形状的影响。 5.在xy 平面内选择区域[][],,-?-8888, 绘制函数z =的三种三维曲面图。 6. 用plot 函数绘制下面分段函数的曲线。 ,(),,x x f x x x x ?+>? ==??+

(1).y x =-205 (2)sin()cos ,sin()sin x t t t y t t π=?≤≤? =?303 详细实验内容: 1.设sin .cos x y x x ?? =+ ??+?? 23051,在x=0~2π区间取101点,绘制函数的曲线。 >> x=(0:2*pi/100:2*pi); >> y=(0.5+3*sin(x)/(1+x.^2))*cos(x); >> plot(x,y) 2.已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: (1)在同一坐标系下用不同的颜色和线性绘制三条曲线; >> x= linspace(0, 2*pi, 101); >> y1=x.*x; >> y2=cos(2x); >> y3=y1.*y2; plot(x,y1,'r:',x,y2,'b',x,y3, 'ko')

基于MATLAB的焊接温度场数值计算

C W T 中国水运 2019·02 75 基于MATLAB 的焊接温度场数值计算 DOI 编码:10.13646/https://www.360docs.net/doc/eb12612349.html,ki.42-1395/u.2019.02.027 于有生 (广东南方职业学院,广东 江门 529040) 摘 要:本文利用高斯数值积分原理得到厚大焊件点状连续移动热源温度场高斯数值积分表达式,在MATLAB 平台的基础上编写了该温度场的数值计算程序,并通过Q235钢的焊接实例进行数值计算,计算结果说明,利用高斯积分法求解焊接温度场的数值解可以在焊接工程实践中应用。关键词:焊接温度场;高斯数值积分;MATLAB 中图分类号:TG44 文献标识码:A 文章编号:1006—7973(2019)02-0075-02 1前言 焊接温度场特性对提高焊接质量具有重要意义。焊接温度场的计算属于非线性瞬态热传导问题,焊接过程温度场的急剧变化造成温度分布的不均匀,分析计算比一般的热过程要困难。焊接温度场研究始于20世纪40年代,近年来随着焊接温度场研究的逐渐深入, 有限元法逐渐应用于焊接温度场的数值模拟过程,研究方向逐渐转向三维焊接模拟,并实现温度、相变及热应力进行多场耦合计算。但解析法在焊接传热计算中仍然发挥重要的作用。本文在MATLAB 平台下,通过编程对厚大焊件点状连续移动热源温度场的解析表达式,利用高斯积分法进行数值分析计算。 2点状连续移动热源温度场的高斯积分 厚大焊件点状连续移动热源温度场的解析表达式为: 式中: ; '"t t t ?=; C:比热容(J/g ?°C);Cρ:容积比热容(J/cm ?°C);a:热扩散率(cm 2/s);v:焊接速度(cm/s)。 式(1)的积分要利用高斯数值积分公式进行变换得到式(2): 式中:p 为高斯积分总步数;n=3——二次三点高斯积分;Δt 为高斯积分步长;t=p*Δt——高斯积分总时间;Ζi 为高斯求积节点;H i 为高斯求积节点处的高斯积分系数。 3 MATLAB 程序和算例 利用高斯积分公式(2)通过MATLAB 平台编程计算焊接温度场,程序由主程序和整体坐标和局部坐标变换子程序,高斯积分和迭代子程序等组成。计算时取被焊材料为Q235,则其热物理常数为热扩散率a=0.1(cm 2/s)、导热系数λ=0.42(W/cm.oC)、比热容C=0.68(J/g. oC)、密度ρ=7.8(g/cm 3)。高斯计分时间步长取Δt=6(s)、积分总步数N=40,取三节点二次单元的高斯计分算法,则高斯求积节点和求积系数如表1所示。 表1 ζi , H i 的取值 ξi H i -0.77459666920.55555555560.00000000000.88888888890.7745966692 0.5555555556 焊接工艺参数取焊接电流I=350A、电弧电压U=25V、焊接热效率η=0.82(焊条电弧焊)。焊件尺寸设定为焊件长度L=30cm、焊件宽度B=14cm,为了减少计算时间采用间距为0.1cm 空间网格划分,计算焊件上表面的温度场分布,则z=0。计算结果由MATLAB 程序输出如图1所示。 (1) (2)

用有限差分法和Matlab计算二维热加工温度场分析

用有限差分法和Matlab 计算二维热加工温度场分析 Eg1 薄板焊接过程温度场分析。 取焊件的一半为模型进行离散化,起始点为o 点,以后以v 速度沿x 轴运动。 根据题意为二维不稳态导热,二维不稳态导热方程为: k Q y T x T T 122 22- +??+??=??τα y x 左边界 下边界 图 二维焊接离散化 题目可化为以下微分方程组:(以y 轴正方向为上,x 轴正方向为右) 0(,,0)0,(),(),(),e e e T C k Q T x y T T k x T k T T x T k T T y T k T T x ρτβββ??=?+??? =???=???? ??=-??? ??=-??? ??=-???左边界(y 轴)右边界下边界(x 轴) 上边界

需要的参数(均已cm,cal,g 为单位,所以不必换算): 用PDE Tool 解题步骤如下: 1. 区域设置 单击 工具,在窗口拉出一个矩形,双击矩形区域,在Object Dialog 对话框输入Left 为0,Bottom 为0,Width 为2,Height 为2。 与默认的坐标相比,图形小的看不见,所以要调整坐标显示比例。方法:选择Options->Axes Limits,把X ,Y 轴的自动选项打开。 设置Options->Application 为Heat Transfer (设置程序应用热传输模型) 2. 设置边界条件 单击 ,使边界变红色,然后分别双击每段边界,打开Boundary Conditions 对话框, 3. 设置方程类型 单击 ,打开PDE Specification 对话框,设置方程类型为Parabolic (抛物型), rho(密度)为7.82,C (比热)为0.16,k (导热系数)为0.1,Q (热源)为 4000*exp(-3*(x.^2+(y-0.4*t).^2)/0.49),其他参数为0 4. 网格划分 单击 ,或者加密网格,单击 。 5. 初值和误差的设置 22 2223 40000exp(3())/exp() 13(())/exp(.) 0.49 44000m Q h r cal cm cm r x y cal c m τ= ?-=?--+-=?则:

基于matlab的温度采集

摘要:基于Matlab环境下PC机与单片机实时串行通信及数据处理的方法,设计了一个小型温度检测系统,由单片机和DS18B20完成数据采集,PC机实现通信数据的分析处理及图形显示,并得到温度随时间变化的函数解析式。使用Matlab编程,提高了开发效率,具有一定的实用性。 关键字:Matlab 设备控制箱串口通信 DS18B20 1 前言 温度是表征环境的一个重要的参数。在工程领域,尤其像工程热力学等,温度检测非常普遍,对温度精确测量以便实时控制也显得尤为重要。 在控制系统中,上位机与下位机之间实现通信的方法和应用平台很多。目前,以VB和VC 开发的通信软件较多,然而,这类软件虽然功能完善,但是数据采集到计算机后要进行各种处理(例如滤波,系统辨识,曲线拟合等)就显得不方便,编程比较复杂。MATLAB具有强大的数据处理能力及功能丰富的工具箱,被广泛的应用于信号处理、自动控制等领域[1]。它编程语言简单易学,利用简单的命令就可以代替复杂的代码,极大地提高了开发效率。 本实验基于Matlab环境下设计了一个小型温度检测系统,下位机使用AT89S51单片机和DS18B20完成温度数据采集,上位机在Matlab环境下,调用设备控制箱serial类操作RS-232串口,用串行通信方式交换数据,进而借助Matlab对数据进行分析和处理,得到了温度随时间变化的函数解析式,同时介绍了基于Matlab环境下PC机与单片机串行通信的实时数据处理的实现方法。 2 系统总体设计 图1 系统结构图 温度检测系统的整体结构如图1所示。PC机串口与单片机USART口通过MAX232电平转换芯片相连,构成一个主从式通信系统。系统工作时,单片机对串口和DS18B20初始化,在读取温度的同时等待中断。PC机通过调用Matlab设备控制工具箱中的serial类及相关函数来创建串口设备对象,并以读写文件的方式实现对PC机串行口的访问,PC机通过Matlab向串行口发送特殊指令从而触发单片机中断系统,单片机调用中断服务例程,读取即使温度并将采集的数据通过串行口回送给PC机。此时,Matlab通过查询的方式,实时接收单片机发送的数据,并完成对数据的分析处理及图形显示。 3 下位机部分 下位机部分由AT89S51单片机和DS18B20温度传感器构成,主要负责温度数据的采集工

相关主题
相关文档
最新文档