matlab绘制温度场
- 格式:docx
- 大小:233.79 KB
- 文档页数:4
三维绘图1 三维绘图指令2 基本XYZ立体绘图命令mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图●surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是25x25的矩阵surf(xx, yy, zz); % 画出立体曲面图●peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) -1/3*exp(-(x+1).^2 - y.^2)●我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);●waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);●下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');●meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);●surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);●contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);●contour画出曲面等高线在XY平面的投影:contour(peaks, 20);plot3可画出三度空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t);亦可同时画出两条三度空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);3 三维绘图的主要功能绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图plot3 ——基本的三维图形指令调用格式:plot3(x,y,z) —— x,y,z是长度相同的向量plot3(X,Y,Z) —— X,Y,Z是维数相同的矩阵plot3(x,y,z,s) ——带开关量plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,…)二维图形的所有基本特性对三维图形全都适用。
一维热传导方程数值解法及matlab实现分离变量法和有限差分法一维热传导方程的Matlab解法:分离变量法和有限差分法。
问题描述:本实验旨在利用分离变量法和有限差分法解决热传导方程问题,并使用Matlab进行建模,构建图形,研究不同情况下采用何种方法从更深层次上理解热量分布与时间、空间分布关系。
实验原理:分离变量法:利用分离变量法,将热传导方程分解为两个方程,分别只包含变量x和变量t,然后将它们相乘并求和,得到一个无穷级数的解。
通过截取该级数的前n项,可以得到近似解。
有限差分法:利用有限差分法,将空间和时间分别离散化,将偏导数用差分代替,得到一个差分方程组。
通过迭代求解该方程组,可以得到近似解。
分离变量法实验:采用Matlab编写代码,利用分离变量法求解热传导方程。
首先设定x和t的范围,然后计算无穷级数的前n项,并将其绘制成三维图形。
代码如下:matlabx = 0:0.1*pi:pi;y = 0:0.04:1;x。
t] = meshgrid(x。
y);s = 0;m = length(j);for i = 1:ms = s + (200*(1-(-1)^i))/(i*pi)*(sin(i*x).*exp(-i^2*t));endsurf(x。
t。
s);xlabel('x')。
XXX('t')。
zlabel('T');title('分离变量法(无穷)');axis([0 pi 0 1 0 100]);得到的三维热传导图形如下:有限差分法实验:采用Matlab编写代码,利用有限差分法求解热传导方程。
首先初始化一个矩阵,用于存储时间t和变量x。
然后计算稳定性系数S,并根据边界条件和初始条件,迭代求解差分方程组,并将其绘制成三维图形。
代码如下:matlabu = zeros(10.25);s = (1/25)/(pi/10)^2;fprintf('稳定性系数S为:\n');disp(s);for i = 2:9u(i。
摩擦片滑摩过程最大滑摩功率的计算方法张磊;王海荣;崔厚梅;马腾飞;孙健【摘要】通过数学理论推导,结合试验测试成果,提出摩擦片副滑摩过程最大滑摩功率的计算方法.基于该方法,摩擦片滑摩过程的最大滑摩功率可以仅由摩擦片几何尺寸、物性参数和工况条件计算,无需进行试验测量和数学求极值方法计算.依据最大滑摩功率的计算分析过程,进行摩擦片副径向热场的定性分析.分析结果表明:当摩擦片材料、正压力和转速确定后,摩擦片径向温升随半径线性变化.基于数学推导和MATLAB编程,绘制出摩擦片轴向温升的三维热场图,实现了数据可视化,为摩擦片副温度场的计算分析提供了参考.【期刊名称】《润滑与密封》【年(卷),期】2019(044)002【总页数】4页(P118-121)【关键词】摩擦片副;最大滑摩功率;三维热场【作者】张磊;王海荣;崔厚梅;马腾飞;孙健【作者单位】徐州工程学院, 江苏省工程机械检测与控制重点实验室江苏徐州221018;徐州中装工程装备研究院有限公司江苏徐州221004;徐州工程学院, 江苏省工程机械检测与控制重点实验室江苏徐州221018;徐州锦程行星传动有限公司江苏徐州221132;徐州工程学院, 江苏省工程机械检测与控制重点实验室江苏徐州221018【正文语种】中文【中图分类】TH117.1摩擦离合器是一种在机械传动中广泛应用的动力传递装置,它的核心工作部件是摩擦片副。
大量研究实践表明:摩擦片副的主要失效形式有烧伤、变形、裂纹、胶合和摩擦材料转移等;造成失效的主要原因是摩擦片副所产生的热量超过材料所允许的极限热容量[1]。
因此,对摩擦片副发热和温升规律的研究成为摩擦离合器的研究重点。
当前对摩擦片副温升分析的研究方法主要有两种:一种是解析方法,即在对滑摩工况进行适当地简化假设后,基于传热学物理规律建立数学模型(一般为偏微分方程),利用数学方法(拉式变换法或差分方法)求解摩擦片副的温升变化规律[1-4];另一种是数值计算仿真方法(以有限元方法为代表),即在对热流的边界条件施加某种约束后,利用流场分析软件计算仿真以获得对摩擦片副热场温升规律的认知[5-8]。
ANSYS温度场分析步骤ANSYS是一个计算机辅助工程软件,用于各种工程应用,包括温度场分析。
温度场分析主要是用于研究物体或系统内部的温度分布和传热过程,可以帮助工程师设计和改进各种设备和系统。
下面是ANSYS温度场分析的步骤:1.准备工作:在进行温度场分析之前,首先需要准备好相关的几何模型和网格模型。
几何模型可以由CAD软件创建,而网格模型则需要使用ANSYS的网格生成工具进行网格划分。
在划分网格时,需要根据物体的几何形状和分析需求选择适当的划分网格的密度。
2.定义材料属性:在进行温度场分析之前,需要定义材料的热传导特性。
在ANSYS中,可以通过输入材料的热导率、热容和密度来描述材料的热性能。
3.设置边界条件:在进行温度场分析时,需要设置边界条件来模拟实际工况。
边界条件包括:初始温度、加热或冷却速率、边界热通量以及固定温度等。
这些条件将对温度场分析结果产生重要影响,需要根据实际情况进行合理设置。
4.定义物理模型:在进行温度场分析之前,需要定义物理模型,包括所分析的物体的几何形状和边界条件。
在ANSYS中,可以通过绘制几何模型和设置边界条件来定义物理模型。
5.进行温度场分析:在完成前面的准备工作后,就可以进行温度场分析了。
在ANSYS中,可以使用热传导分析模块来进行温度场分析。
热传导分析模块可以通过求解热传导方程来计算温度场的分布。
分析结果可以包括温度场分布图、热通量分布图等。
6.分析结果的后处理:在进行温度场分析之后,需要对分析结果进行后处理。
后处理包括对温度场分布图进行可视化分析,并进行更详细的结果解释。
可以通过ANSYS提供的后处理工具来进行分析结果的可视化。
7.结果验证和优化:在进行温度场分析之后,可以对分析结果进行验证和优化。
验证可以通过与实际测量数据进行对比来确定模型的准确性和可靠性。
优化则可以通过调整边界条件、几何形状或材料属性等来提高设计的性能。
总结:ANSYS温度场分析是一个非常强大和灵活的工程分析工具,可以用于各种工程应用。
[Matlab绘图][三维图形][三维曲线基本函数+三维曲⾯+其他三维图形]1.绘制三维图形的基本函数最基本的三维绘图函数为plot3;plot3与plot⽤法⼗分相似,调⽤格式:plot(x1,y1,z1,选项1,x2,y2,z2,选项2,...,xn,yn,zn,选项n)当x,y,z是同维向量时,则x,y,z,对应元素构成⼀条三维曲线;当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例:程序如下:t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,'p');title('Line in 3-D Space');text(0,0,0,'origin');xlabel('x'),ylabel('y'),zlabel('z');grid; 运⾏结果:2.三维曲⾯2.1平⾯⽹格坐标矩阵的⽣成 绘制z=f(x,y)所代表的三维曲⾯图,先要在xy平⾯选定⼀个矩形区域,假定矩形区域D=[a,b]*[c,d],然后将[a,b]在x⽅向分成m份,将[c,d]在y⽅向分成n份,由各划分点分别作平⾏于两坐标轴的直线,将区域D分成m*n个⼩矩形,⽣成代表每⼀个⼩矩形顶点坐标的平⾯⽹格坐标矩阵,最后利⽤有关函数绘图。
产⽣平⾯区域内的⽹格坐标矩阵有两种⽅法: 1.利⽤矩阵运算⽣成、x=a:dx:b;y=(c:dy:d)';X=ones(size(y))*x;Y=y*ones(size(x));语句执⾏后,矩阵X的每⼀⾏都是向量x,⾏数等于向量y的元素个数,矩阵Y的每⼀列都是向量y,列数等于向量x的元素个数。
于是对于矩阵X,Y来说,它们位置(i,j)上的元素值(X(i,j),Y(i,j))就是所要形成的平⾯⽹格在位置(i,j)上的X,Y坐标。
一维非定常热传导方程的matlab代码以下是一维非定常热传导方程的MATLAB代码:```matlab% 设定参数和初始条件L = 1; % 杆的长度T = 10; % 总的时间dx = 0.01; % 空间步长dt = 0.005; % 时间步长alpha = 0.1; % 热扩散系数N = L/dx + 1; % 空间网格数M = T/dt + 1; % 时间步数x = linspace(0, L, N); % 空间坐标向量% 初始化温度矩阵u = zeros(N, M);u(:, 1) = sin(pi*x);% 使用显式有限差分方法求解热传导方程for j = 1:M-1for i = 2:N-1u(i, j+1) = u(i, j) + alpha*dt/dx^2 * (u(i+1, j) - 2*u(i, j) + u(i-1, j));endend% 绘制温度随时间变化的图形figure;for j = 1:Mplot(x, u(:, j));xlim([0 L]);ylim([-1 1]);title(['Time = ', num2str(j*dt)]);xlabel('x');ylabel('Temperature');pause(0.01); % 暂停0.01秒,使得动画显示更平滑end```这个代码使用显式有限差分方法来求解一维非定常热传导方程。
在代码中,我们首先设定参数和初始条件。
然后,我们根据离散化的空间和时间步长,计算出空间网格数和时间步数。
接下来,我们初始化温度矩阵,将初始条件赋值给第一列。
然后,使用双重循环计算每个时间步的温度分布。
循环中的计算使用了有限差分公式。
我们绘制温度随时间变化的图形。
在绘图循环中,我们每隔0.01秒暂停一下,以便观察到动画效果。
二维热传导方程在实际工程问题中有着广泛的应用。
热传导方程描述了热量在空间和时间中的传播规律,而二维热传导方程则特指热量在二维平面上的传播情况。
在工程领域,我们经常需要利用数值方法来求解二维热传导方程,而MATLAB作为一款强大的工程计算软件,提供了丰富的工具和函数来进行热传导方程的数值求解。
让我们回顾一下二维热传导方程的基本形式,它通常可以表示为:\[ \frac{\partial u}{\partial t} = \alpha \left( \frac{\partial^2u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} \right) \]其中,\( u(x, y, t) \) 是温度场的分布,\( \alpha \) 是热扩散系数。
这个偏微分方程描述了温度场随时间和空间的演化规律,是研究热传导问题的基本方程之一。
在实际工程中,我们经常需要利用数值方法求解二维热传导方程,特别是在复杂几何结构和边界条件下。
MATLAB提供了丰富的数值求解工具,最常用的是有限差分法。
有限差分法将空间离散化为网格,用差分格式逼近偏微分方程,然后利用迭代方法求解离散化的代数方程组,得到温度场的数值解。
为了使用MATLAB进行二维热传导方程的数值求解,我们需要进行以下基本步骤:1. 网格划分:将求解区域进行网格划分,确定空间离散化的步长。
2. 边界条件处理:根据实际问题确定边界条件,例如固定温度、热通量等。
3. 数值格式选取:选择合适的差分格式逼近偏微分方程,通常采用显式或隐式格式。
4. 迭代求解:利用MATLAB提供的迭代方法,求解离散化后的代数方程组,得到温度场的数值解。
在实际工程中,二维热传导方程的数值求解往往涉及到复杂的边界条件、材料参数、热源分布等。
我们需要对MATLAB的数值求解工具有深入的理解和熟练的应用,才能准确地模拟和分析实际问题。
在我看来,二维热传导方程的数值求解是工程领域中非常重要的课题之一。
以下是关于FDTD(Finite Difference Time Domain)方法的Matlab代码。
1. FDTD方法简介FDTD方法是一种数值分析电磁场问题的方法,最早应用于求解Maxwell方程组。
该方法的基本思想是将时间和空间分割为离散网格,并利用差分法求解Maxwell方程组。
FDTD方法广泛应用于天线设计、电磁兼容性分析、光学器件仿真等领域。
2. FDTD方法的Matlab代码以下是一个简单的一维FDTD方法的Matlab代码示例:```matlab定义常数c = 3e8; 光速dx = 0.01; 空间步长dt = dx/(2*c); 时间步长初始化场量Ez = zeros(1,1000); 电场Hy = zeros(1,1000); 磁场模拟时间步进for n = 1:1000更新磁场for i = 1:999Hy(i) = Hy(i) + (Ez(i+1) - Ez(i))/(c*dx);end更新电场for i = 2:1000Ez(i) = Ez(i) + (Hy(i) - Hy(i-1))*(c*dt/dx);endend绘制结果figure;plot(Ez);xlabel('空间步长');ylabel('电场强度');title('FDTD方法仿真结果');```3. 代码解释- 代码首先定义了常数c(光速)、空间步长dx和时间步长dt。
- 然后初始化了电场Ez和磁场Hy的空间网格。
- 在时间步进的循环中,首先更新磁场Hy,然后更新电场Ez。
- 最后绘制了Ez随空间步长的变化图。
这是一个非常简单的一维FDTD方法的Matlab代码示例,实际应用中可能会有更复杂的三维情况,需要考虑更多的边界条件和介质性质。
4. FDTD方法的应用FDTD方法在天线设计、电磁兼容性分析、光学器件仿真等领域有着广泛的应用。
通过编写相应的Matlab代码,可以对复杂的电磁场问题进行数值分析,得到定量的仿真结果,为工程设计和科学研究提供重要的参考。
基于 Ensight 的科学计算结果可视化薛伟伟;程长征【摘要】FORTRAN 和 C 等高级语言使用广泛,但计算结果多为数值文本。
通过编写数据接口,将 FORTRAN 边界元法程序的数值计算结果转换成 Ensight 输入文件,得出计算结果的场图像。
这种方法具备视觉效果好、开发工作量低、对硬件图形库有较好支持等特点。
同时,利用 Ensight 的功能,可进行数值观察、添加等值线等操作。
%FORTRAN and C programs are extensively used as numerical calculation tools by researchers in various fields,and the numerical results are usually output in the text format.A field image can be obtained using Ensight via establishing the data interface of the Ensight software,and converting text results of a FORTRAN boundary element method example into a Ensight input file.The advantages of this technique are good visual effect,low development effort,better graphics library for hardware sup-port and so on.In addition,observing the data and adding the equivalent line can be further accom-plished in Ensight.【期刊名称】《合肥学院学报(自然科学版)》【年(卷),期】2016(026)001【总页数】5页(P41-45)【关键词】Ensight;FORTRAN;可视化;科学计算【作者】薛伟伟;程长征【作者单位】合肥工业大学土木与水利工程学院,合肥 230009;合肥工业大学土木与水利工程学院,合肥 230009【正文语种】中文【中图分类】TP314目前,计算机数值模拟逐渐成为解决工程和科学问题的主要手段。
matlab 有限元法
Matlab中的有限元法(Finite Element Method,FEM)是一种常用的数值分析方法,用于模拟和解决包括结构力学、热传导、流体力学等问题。
它将连续介质划分为离散的有限单元,通过建立数学模型和使用近似解法来求解。
下面是一般步骤来使用Matlab进行有限元分析:
1. 剖分网格:将要模拟的连续介质划分为离散的有限单元(如三角形或四边形元素)。
2. 建立数学模型:根据具体问题的物理方程或导引方程,建立线性或非线性的方程模型。
3. 施加边界条件:确定并施加边界条件,如位移、载荷或约束等。
4. 组装刚度矩阵和载荷向量(Assembly):通过元素刚度矩阵的组装,得到总系统的刚度矩阵和载荷向量。
5. 求解方程:通过求解总系统的线性方程组,得到未知位移或其他需要的结果。
6. 后处理结果:对求解结果进行可视化或分析,如绘制应力分布、位移云图、应变曲线等。
Matlab提供了丰富的工具箱和函数,用于各种结构和物理问题的有限元分析,例如Partial Differential Equation Toolbox(部分微分方程工具箱)和Structural Analysis T oolbox(结构分析工具箱),其中包含了常用的有限元分析函数和设置界面。
另外,Matlab还支持用户自定义编程,允许使用脚本或函
数来实现特定的有限元算法。
总之,通过Matlab的有限元分析工具和编程能力,可以方便地进行各种结构和物理问题的数值分析和模拟。
温度场仿真模拟温度场仿真模拟温度场仿真模拟是一种使用计算机模拟工具来预测和分析物体表面温度分布的方法。
下面我们将一步一步地介绍如何进行温度场仿真模拟。
1. 定义问题:首先,我们需要明确仿真模拟的问题是什么。
例如,我们可能想要预测一个电子设备的温度分布,以便确定是否需要进一步的散热措施。
2. 收集数据:在进行温度场仿真模拟之前,我们需要收集一些必要的数据。
这包括物体的几何形状和材料属性,环境条件(如气温、湿度等)以及可能的热源。
3. 建立数学模型:根据收集到的数据,我们需要建立一个数学模型来描述物体的热传导行为。
最常用的模型是热传导方程,它描述了热量在物体内部的传递方式。
4. 离散化:由于实际物体是连续的,而计算机只能处理离散的数据,我们需要将物体的几何形状离散化为小的单元格或节点。
这样,我们可以在每个离散化的位置上计算温度。
5. 边界条件:为了模拟真实情况,我们需要定义物体表面的边界条件。
这包括表面温度、热流或对流换热等。
6. 网格生成:在离散化的基础上,我们需要生成一个网格,将物体分割为小的单元格或节点。
网格的选择取决于物体的几何形状和仿真的要求。
7. 求解数值方程:通过数值方法,我们可以求解离散化的数学模型。
常见的数值方法包括有限元法、有限差分法和有限体积法等。
8. 迭代求解:由于热传导过程是一个时间依赖的过程,我们需要进行迭代求解,逐步更新温度场。
迭代的次数取决于模拟的时间范围和精度要求。
9. 结果分析:在求解完成后,我们可以分析仿真结果。
例如,我们可以绘制温度云图,以直观地展示物体表面的温度分布情况。
10. 结论与优化:最后,我们可以根据仿真结果得出一些结论,并进行可能的优化。
例如,如果某些区域温度过高,我们可以考虑增加散热器或优化材料选型来改善散热效果。
综上所述,温度场仿真模拟是一种强大的工具,可以预测和分析物体表面温度分布。
通过定义问题、收集数据、建立数学模型、离散化、边界条件、网格生成、求解数值方程、迭代求解、结果分析和结论与优化等步骤,我们可以进行一次有效的温度场仿真模拟。
matlab 程序2d有限元方法二维有限元方法在工程与科学计算中有着广泛的应用。
MATLAB作为一种功能强大的数学软件,为二维有限元分析提供了便捷的实现途径。
本文将详细介绍如何使用MATLAB编写二维有限元方法的程序。
一、有限元方法概述有限元方法(Finite Element Method,简称FEM)是一种用于求解偏微分方程的数值方法。
它通过将复杂的连续体划分成简单的单元,并在这些单元上求解方程,从而将连续问题转化为离散问题。
在二维问题中,通常将连续区域划分为三角形或四边形单元,然后在每个单元上求解偏微分方程,最后通过整体刚度矩阵的组装和求解得到整个区域的解。
二、MATLAB编程实现二维有限元方法以下是使用MATLAB实现二维有限元方法的基本步骤:1.创建网格在MATLAB中,可以使用`triangle`函数或`patch`函数创建二维网格。
以下是一个简单的例子:```matlab% 定义节点坐标odes = [0 0; 1 0; 1 1; 0 1; 0.5 0.5];% 定义单元连接关系elements = [1 2 5; 2 3 5; 3 4 5; 4 1 5];% 绘制网格triplot(nodes, elements);```2.确定单元属性在二维有限元方法中,需要为每个单元定义形状函数、雅可比矩阵等属性。
以下是一个示例:```matlabfunction [N, dNdx, dNdy, J] = shape_functions(nodes, element) % 获取单元节点坐标x = nodes(element, 1);y = nodes(element, 2);% 计算形状函数N = [1 - (x - x(1)) / (x(2) - x(1)) - (y - y(1)) / (y(2) - y(1));(x - x(1)) / (x(2) - x(1));(y - y(1)) / (y(2) - y(1));(x - x(1)) / (x(2) - x(1)) * (y - y(1)) / (y(2) - y(1))];% 计算形状函数对x、y的导数dNdx = [-1 / (x(2) - x(1)), 1 / (x(2) - x(1)), 0, (y(2) - y(1)) / ((x(2) - x(1)) * (y(2) - y(1)))];dNdy = [0, 0, 1 / (y(2) - y(1)), (x(2) - x(1)) / ((x(2) - x(1)) * (y(2) - y(1)))];% 计算雅可比矩阵J = [sum(dNdx), sum(dNdy); ...sum(dNdx .* x), sum(dNdy .* x); ...sum(dNdx .* y), sum(dNdy .* y)];end```3.组装刚度矩阵和质量矩阵在得到单元属性后,可以组装整体刚度矩阵和质量矩阵。
MATLAB 是一种高级编程语言和交互式环境,常用于数值计算、数据分析、算法开发、数据可视化以及应用开发等。
在有限元分析(FEA)中,MATLAB 可以用来编写和运行有限元程序。
以下是一个简单的 MATLAB 有限元分析编程示例:这个例子假设你正在解决一个一维拉普拉斯方程,其形式为 -d^2u/dx^2 = f,在区间 [0, 1] 上。
```matlab% 参数定义L = 1; % 长度h = 0.01; % 步长N = L/h; % 元素数量x = linspace(0, L, N+1); % x 向量% 创建有限元网格nodes = x(1:N+1);elements = [nodes(2:end-1) nodes(1:end-1) nodes(2:end)]; % 定义载荷向量 ff = sin(pi*x);% 定义刚度矩阵 A 和载荷向量 FA = zeros(N, N);F = zeros(N, 1);for i = 1:Nfor j = 1:i-1A(i, j) = A(j, i) = h^2/(6*(x(i)-x(j))^2);endF(i) = -f(i)*h/2;end% 使用 MATLAB 的线性方程求解器u = A\F;% 绘制结果plot(x, u);xlabel('x');ylabel('u');title('有限元解');```这个代码首先定义了问题的参数,然后创建了一个有限元网格。
然后,它定义了刚度矩阵 A 和载荷向量 F。
最后,它使用 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.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
产生网格矩阵之后,就可以在测得的实时数据的基础上,通过相关的温度场的专业的估算函数,以及相关的数值处理函数来估计整个分布面(有最小的分辨率)上的温度了。
即在这些函数的基础之上,对参数进行一些必要的处理。
然后,加上室内的预设温度,扩大温度数值矩阵,例如预设温度为21 C,采用一组试验中
测得的温度值,如下:
21 21 21 21 2
1
21 19 18 17 2
1 21 18 16 19 2
1 21 16 15 14 2
1
21 21 21 21 2
1
此时再结合matlab 中定义的spline (三次样条差值法)和interp2 (二维插值法)这两
个函数来估算预定分辨率上的温度场的分布。
因为在实际中温度的变化必然是连续的,故而得到的温度场中通过任意点的截面截出的曲线必然是连续可导的,故而必须使用spli ne(三次样条插值法)得到光滑的插值分布曲线。
同时又因为该温度场现实的是传感器分布面上的温度分布,故而必须采用interp2 (二维插值法),同时用第三维的高度值的变化和连续变化的颜色来显示温度的连续变化。
Zi=interp2 (x,y,z,xi,yi,‘spline')
zi =
19.0000 4.5173 15.2048 16.7822 -6.7326 -16.9509
7.1027 -91.1872 -15.4389 -11.6435 -191.3871 -266.8890
18.9402 6.1945 18.1887 11.8409 -29.5509 -44.3035
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
由此得出网格矩阵的元素值之后,采用matlab 自定义的三维曲面绘制函数,绘制出得到的温度场。
Surf(xi,yi,zi)
经过一定的图像处理之后可得到温度场的分布如下:
从图中坐标也可以看出,分辨率设置的过大之后,插值法会出现较大的误差甚至是错误。
然而当分辨率设置的较为合理之后,二维插值结合三次线条插值能较好地吻合实际的温度场
的分布。
200
在上图中可以看出温度场变化很突兀,设置较高的人体温度感知分辨率之后图像如下:
F图为温度场分布曲面在传感器分布面上的投影的等高线图,可以比较直观的反映室内
55 50 45 40 35 30 26 20
15 10
10
15
20
25
30
40
45
50
55
60
17
的温度变化情况。
【c , h 】=contour (x , y , z );
Clabel (c , h );
参考文献:
[1]魏润柏.徐文华•热环境[M 丄上海:同济大学出版社,1994*
[2] GAGCE A P FOBELETS,L C BERGLUND. A standard predictive index nfliiinuni r^ponse tn the? thermal envininment [J]. ASHRAE Transactions, 1986,92( 28):709-730,。