(完整版)传热学MATLAB温度分布大作业完整版
1 东南大学能源与环境学院 课程作业报告
作业名称:传热学大作业——利用matlab程序解决热传导问题
院系:能源与环境学院 专业:建筑环境与设备工程 学号: 姓名: 2014年11月9日 2
一、题目及要求 1. 原始题目及要求 2. 各节点的离散化的代数方程 3. 源程序 4. 不同初值时的收敛快慢 5. 上下边界的热流量(λ=1W/(m℃)) 6. 计算结果的等温线图 7. 计算小结 题目:已知条件如下图所示:
二、各节点的离散化的代数方程 各温度节点的代数方程 ta=(300+b+e)/4 ; tb=(200+a+c+f)/4; tc=(200+b+d+g)/4; td=(2*c+200+h)/4 te=(100+a+f+i)/4; tf=(b+e+g+j)/4; tg=(c+f+h+k)/4 ; th=(2*g+d+l)/4 ti=(100+e+m+j)/4; tj=(f+i+k+n)/4; tk=(g+j+l+o)/4; tl=(2*k+h+q)/4 3
tm=(2*i+300+n)/24; tn=(2*j+m+p+200)/24; to=(2*k+p+n+200)/24; tp=(l+o+100)/12 三、源程序 【G-S迭代程序】 【方法一】 函数文件为: function [y,n]=gauseidel(A,b,x0,eps) D=diag(diag(A)); L=-tril(A,-1); U=-triu(A,1); G=(D-L)\U; f=(D-L)\b; y=G*x0+f; n=1; while norm(y-x0)>=eps x0=y; y=G*x0+f; n=n+1; end 命令文件为: A=[4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0; -1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0; 0,-1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0; 4
0,0,-2,4,0,0,0,-1,0,0,0,0,0,0,0,0; -1,0,0,0,4,-1,0,0,-1,0,0,0,0,0,0,0; 0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0,0; 0,0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0; 0,0,0,-1,0,0,-2,4,0,0,0,-1,0,0,0,0; 0,0,0,0,-1,0,-1,0,4,0,0,0,-1,0,0,0; 0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0,0; 0,0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0; 0,0,0,0,0,0,0,-1,0,0,-2,4,0,0,0,-1; 0,0,0,0,0,0,0,0,-2,0,0,0,24,-1,0,0; 0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1,0; 0,0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1; 0,0,0,0,0,0,0,0,0,0,0,-1,0,0,-1,12]; b=[300,200,200,200,100,0,0,0,100,0,0,0,300,200,200,100]'; [x,n]=gauseidel(A,b,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]',1.0e-6) xx=1:1:4; yy=xx; [X,Y]=meshgrid(xx,yy); Z=reshape(x,4,4); Z=Z' contour(X,Y,Z,30) Z = 139.6088 150.3312 153.0517 153.5639 5
108.1040 108.6641 108.3119 108.1523 84.1429 67.9096 63.3793 62.4214 20.1557 15.4521 14.8744 14.7746 【方法2】>> t=zeros(5,5); t(1,1)=100; t(1,2)=100; t(1,3)=100; t(1,4)=100; t(1,5)=100; t(2,1)=200; t(3,1)=200; t(4,1)=200; t(5,1)=200; for i=1:10 t(2,2)=(300+t(3,2)+t(2,3))/4 ; t(3,2)=(200+t(2,2)+t(4,2)+t(3,3))/4; t(4,2)=(200+t(3,2)+t(5,2)+t(4,3))/4; t(5,2)=(2*t(4,2)+200+t(5,3))/4; t(2,3)=(100+t(2,2)+t(3,3)+t(2,4))/4; t(3,3)=(t(3,2)+t(2,3)+t(4,3)+t(3,4))/4; t(4,3)=(t(4,2)+t(3,3)+t(5,3)+t(4,4))/4; t(5,3)=(2*t(4,3)+t(5,2)+t(5,4))/4; t(2,4)=(100+t(2,3)+t(2,5)+t(3,4))/4; 6
t(3,4)=(t(3,3)+t(2,4)+t(4,4)+t(3,5))/4; t(4,4)=(t(4,3)+t(4,5)+t(3,4)+t(5,4))/4; t(5,4)=(2*t(4,4)+t(5,3)+t(5,5))/4; t(2,5)=(2*t(2,4)+300+t(3,5))/24; t(3,5)=(2*t(3,4)+t(2,5)+t(4,5)+200)/24; t(4,5)=(2*t(4,4)+t(3,5)+t(5,5)+200)/24; t(5,5)=(t(5,4)+t(4,5)+100)/12; t' end contour(t',50); ans = 100.0000 200.0000 200.0000 200.0000 200.0000 100.0000 136.8905 146.9674 149.8587 150.7444 100.0000 102.3012 103.2880 103.8632 104.3496 100.0000 70.6264 61.9465 59.8018 59.6008 100.0000 19.0033 14.8903 14.5393 14.5117 7
【Jacobi迭代程序】 函数文件为: function [y,n]=jacobi(A,b,x0,eps) D=diag(diag(A)); L=-tril(A,-1); U=-triu(A,1); B=D\(L+U); f=D\b; y=B*x0+f; n=1; while norm(y-x0)>=eps x0=y; y=B*x0+f; n=n+1; end 命令文件为: A=[4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0; -1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0; 0,-1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0; 0,0,-2,4,0,0,0,-1,0,0,0,0,0,0,0,0; -1,0,0,0,4,-1,0,0,-1,0,0,0,0,0,0,0; 0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0,0; 0,0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0; 8
0,0,0,-1,0,0,-2,4,0,0,0,-1,0,0,0,0; 0,0,0,0,-1,0,-1,0,4,0,0,0,-1,0,0,0; 0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0,0; 0,0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0; 0,0,0,0,0,0,0,-1,0,0,-2,4,0,0,0,-1; 0,0,0,0,0,0,0,0,-2,0,0,0,24,-1,0,0; 0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1,0; 0,0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1; 0,0,0,0,0,0,0,0,0,0,0,-1,0,0,-1,12]; b=[300,200,200,200,100,0,0,0,100,0,0,0,300,200,200,100]'; [x,n]=jacobi(A,b,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]',1.0e-6); xx=1:1:4; yy=xx; [X,Y]=meshgrid(xx,yy); Z=reshape(x,4,4); Z=Z' contour(X,Y,Z,30) n =97 Z = 139.6088 150.3312 153.0517 153.5639 108.1040 108.6641 108.3119 108.1523 84.1429 67.9096 63.3793 62.4214 20.1557 15.4521 14.8744 14.7746
西安交通大学传热学大作业
《传热学》上机大作业二维导热物体温度场的数值模拟学校:西安交通大学姓名:张晓璐学号:10031133班级:能动A06一.问题(4-23)有一个用砖砌成的长方形截面的冷空气通道,形状和截面尺寸如下图所示,假设在垂直纸面方向冷空气和砖墙的温度变化很小,差别可以近似的予以忽略。
在下列两种情况下计算:砖墙横截面上的温度分布;垂直于纸面方向上的每米长度上通过墙砖上的导热量。
第一种情况:内外壁分别维持在10C ︒和30C ︒第二种情况:内外壁与流体发生对流传热,且有C t f ︒=101,)/(2021k m W h ⋅=,C t f ︒=302,)/(422k m W h ⋅=,K m W ⋅=/53.0λ二.问题分析 1.控制方程02222=∂∂+∂∂ytx t 2.边界条件所研究物体关于横轴和纵轴对称,所以只研究四分之一即可,如下图:对上图所示各边界:边界1:由对称性可知:此边界绝热,0=w q 。
边界2:情况一:第一类边界条件C t w ︒=10情况二:第三类边界条件)()(11f w w w t t h ntq -=∂∂-=λ 边界3:情况一:第一类边界条件C t w ︒=30情况二:第三类边界条件)()(22f w w w t t h ntq -=∂∂-=λ 三:区域离散化及公式推导如下图所示,用一系列和坐标抽平行的相互间隔cm 10的网格线将所示区域离散化,每个交点可以看做节点,该节点的温度近似看做节点所在区域的平均温度。
利用热平衡法列出各个节点温度的代数方程。
第一种情况: 内部角点:11~8,15~611~2,5~2)(411,1,,1,1,====++++=+-+-n m n m t t t t t n m n m n m n m n m 平直边界1:11~8),2(415~2),2(411,161,16,15,161,11,12,1,=++==++=+-+-n t t t t m t t t t n n n nm m m m平直边界2:7,16~7,107~1,6,10,,======n m t n m t n m n m平直边界3:12,16~2,30;12~1,1,30,,======n m t n m t n m n m第二种情况: 内部角点:11~8,15~611~2,5~2)(411,1,,1,1,====++++=+-+-n m n m t t t t t n m n m n m n m n m 平直边界1:11~8),2(415~2),2(411,161,16,15,161,11,12,1,=++==++=+-+-n t t t t m t t t t n n n nm m m m平直边界2:7,16~7206~1,61.0,10,)2(222111111,1,,1,======∆=∆︒=+∆∆+++=-+-n m h n m m y x C t xh t xh t t t t f f n m n m n m n m λλ平直边界3:12,16~2411~1,11.0,30,)2(222222221,1,,1,======∆=∆︒=+∆∆+++=-+-n m h n m m y x C t xh t xh t t t t f f n m n m n m n m λλ内角点:20,10,)3(22)(2111116,67,78,67,57,6=︒=+∆∆++++=h C t xh t xh t t t t t f f λλ外角点:4,30,)1(222222211,112,212,1=︒=+∆∆++=h C t xh t x h t t t f f λλ4,30,2222222,11,21,1=︒=+∆∆++=h C t xh t xh t t t f f λλ4,30,22222212,1511,1612,16=︒=+∆∆++=h C t xh t xh t t t f f λλ20,10,2111112,61,51,6=︒=+∆∆++=h C t xh t xh t t t f f λλ20,10,2111118,167,157,16=︒=+∆∆++=h C t xh t xh t t t f f λλ四.编程计算各节点温度和冷量损失(冷量推导在后面)(用fortran编程)由以上区域离散化分析可以得到几十个方程,要求解这些方程无疑是非常繁琐的,所以采用迭代法,用计算机编程求解这些方程的解,就可以得到各点温度的数值。
一维热传导方程matlab程序
一维热传导方程matlab程序一维热传导方程是研究物体在一维情况下的温度分布变化的方程,其数学表达式为:∂u/∂t = α∂²u/∂x²其中,u表示温度,t表示时间,x表示空间位置,α表示热扩散系数。
为了求解一维热传导方程,我们可以采用有限差分法来进行数值计算。
具体来说,我们可以将时间和空间进行离散化,然后利用差分公式来逼近偏微分方程。
下面是一维热传导方程的matlab程序:% 定义参数L = 1; % 空间长度T = 1; % 时间长度N = 100; % 空间网格数M = 1000; % 时间网格数dx = L/N; % 空间步长dt = T/M; % 时间步长alpha = 0.1; % 热扩散系数% 初始化温度分布u = zeros(N+1,1);u(1) = 100; % 左端点温度为100度% 迭代求解for k = 1:Mfor i = 2:Nu(i) = u(i) + alpha*dt/dx^2*(u(i+1)-2*u(i)+u(i-1)); endend% 绘制温度分布图像x = linspace(0,L,N+1);plot(x,u,'LineWidth',2);xlabel('位置');ylabel('温度');title('一维热传导方程的数值解');在上述程序中,我们首先定义了一些参数,包括空间长度L、时间长度T、空间网格数N、时间网格数M、空间步长dx、时间步长dt 以及热扩散系数alpha。
然后,我们初始化了温度分布,将左端点的温度设为100度。
接下来,我们使用双重循环来迭代求解温度分布,最后绘制出了温度分布的图像。
通过这个程序,我们可以方便地求解一维热传导方程,并得到其数值解。
当然,如果需要更精确的结果,我们可以增加空间网格数和时间网格数,来提高计算精度。
MATLAB大作业
MATLAB大作业一、作业说明MATLAB,即matrix laboratory,作为强大的数学处理软件,在化学化工领域中也有着极为广泛的应用。
而作为化工专业的学生,我认为本课学习MATLAB最直接和有效的意义在于,学生能够利用MATLAB处理实验数据和图形。
而对于MATLAB本身数学逻辑与语言的理解和掌握相信在之前所上交的“高斯消元法”和“二分法改进”两次小作业中得到体现。
因此,本次大作业我选择利用MATLAB处理化工原理实验中已经做过的离心泵实验来进行数据处理和图形制作。
其中实验原始数据皆由本人进行化工原理实验时所记录,水的密度和粘度表由文献查得。
二、编程思路整个M文件的目标是,利用现有的实验做得数据,进行实验数据的处理以及图形绘制,主要分为三个步骤完成:第一部分利用插值和拟合求实验温度下水的密度和粘度值;第二部分利用公式和矩阵变换计算离心泵的扬程He和轴功率Pzhou;第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)。
具体思路已在主程序文件中进行注释。
三、MATLAB主程序clearclose allformat compact,format shortecho off% 处理化工原理实验数据及图形制作% 第一部分求水的密度和粘度%已知条件:(1)实验温度为23.1℃% (2)网上查得15℃-30℃下水的密度和粘度表,记录为excel表% (3)此部分数据存放在原始数据表的sheet1和sheet2中%%主要方法:(1)MATLAB数据读入% (2)矩阵初等变换% (3)函数拟合% (4)函数插值%[num1]=xlsread('原始数据表');%读取excel表格中sheet1的数据x0=[num1(:,1)];%x0x表示温度值,sheet1的第1列y0=[num1(:,2)];%y0表示密度值,sheet1的第2列x1=x0';%进行转置,将列向量转换为相应的行向量y=y0';%进行转置,将列向量转换为相应的行向量%下面开始拟合密度随温度的变化函数n = length(y);ss = '';for k = 1:n;yy = num2str(y(k));ss = strcat(ss,['+''(' yy ')''*''x''^' num2str(n+1-k)]);%将数值转换为字符串格式,在MATLAB内将密度与温度的关系拟合为n次多项式endpause,ss%输出密度随温度变化函数式%%进行图像表示%x轴为温度,y轴为密度,表示在figure窗口的上半部分pause,subplot(2,1,1),line(x1,y,'linewidth',2),title('T-density'),xlabel('温度T/℃'),ylabel('密度/(kg?m^-3)')axis([15,30,995,1000])pause, x2=23.1,y1=interp1(x1,y,x2,'spline');%读取excel表格中sheet2的数据,接下来步骤与密度处理方法相同[num2]=xlsread('原始数据表',2);t0=[num2(:,1)];z0=[num2(:,2)];t1=t0';z=z0';n = length(z);rr= '';for k = 1:n;zz = num2str(z(k));rr = strcat(rr,['+''(' zz ')''*''t''^' num2str(n+1-k)]);endpause,rr%x轴为温度,y轴为粘度,表示在figure窗口的下半部分pause,subplot(2,1,2),line(t1,z,'linewidth',2),title('T-viscosity'), xlabel('温度T/℃'),ylabel('粘度/(Pa?s)')axis([15,30,0.0008 0.0012])pause,t2=23.1,z1=interp1(t1,z,t2,'spline');y1,z1%显示实验温度下流体的密度与粘度值,y1为密度,z1为粘度pause,close all%关闭图像窗口pause,clc% 第二部分计算离心泵的扬程He和轴功率Pzhou%%已知条件:(1)所需数据存放在原始数据表的sheet3中% (2)从左至右分别为“入口压强、出口压强、入口速度、出口速度、流量、电机功率”% (3)计算公式:He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);% Pzhou=P.*0.9;%%主要方法:(1)MATLAB数据读入% (2)矩阵初等运算与变换% (3)利用MATLAB进行实验数据处理%读取excel表格中sheet3的数据%“pin、pout、uin、uout、qv、P、He、Pzhou”分别表示为%“入口压强、出口压强、入口速度、出口速度、流量、电机功率、扬程和轴功率”[num3]=xlsread('原始数据表',3);pout0=[num3(:,2)];pin0=[num3(:,1)];uout0=[num3(:,4)];uin0=[num3(:,3)];qv0=[num3(:,5)];pout=pout0';pin=pin0';uout=uout0';uin=uin0';qv=qv0';He=pout-pin+0.2+(uout.^2-uin.^2)./(9.81*2);P0=[num3(:,6)];P=P0';Pzhou=P.*0.9;pause,clc%输出计算结果pause,HePzhouclose allpause,clcpause,%第三部分作图:离心泵的扬程和轴功率随流量变化的曲线(双y轴)%%pause,s1=He;s2=Pzhou;x5=qv;yWidth = 60;%设置两个y轴的间隔(像素)axesPosition = [110 40 200 200];%设置图像生成位置x5Limit = [min(x5) max(x5)];%设定自变量范围x5Offset=-yWidth*diff(x5Limit)/axesPosition(3);%建立图像,设置双变量与双坐标轴h1 = axes('Units','pixels','Position',axesPosition,...'Color','w','XColor','k','YColor','r',...'XLim',x5Limit,'YLim',[10 22],'NextPlot','add');h2 = axes('Units','pixels','Position',axesPosition+yWidth.*[-1 0 1 0],...'Color','none','XColor','k','YColor','m',...'XLim',x5Limit+[x5Offset 0],'YLim',[0.3 0.7],...'XTick',[],'XTickLabel',[],'NextPlot','add');xlabel(h1,'qv');ylabel(h2,'Pzhou');%给坐标轴命名pause,plot(h2,x5,s2,'*m');pause,plot(h1,x5,s1,'^r');四、工作日志density_viscosity(密度_粘度)clearclose allformat compact,format shortecho offss =+(999.126)*x^31+(999.05)*x^30+(998.97)*x^29+(998.888)*x^28+(998.802)* x^27+(998.714)*x^26+(998.623)*x^25+(998.53)*x^24+(998.433)*x^23+(998. 334)*x^22+(998.232)*x^21+(998.128)*x^20+(998.021)*x^19+(997.911)*x^18 +(997.799)*x^17+(997.685)*x^16+(997.567)*x^15+(997.448)*x^14+(997.327 )*x^13+(997.201)*x^12+(997.074)*x^11+(996.944)*x^10+(996.813)*x^9+(99 6.679)*x^8+(996.542)*x^7+(996.403)*x^6+(996.262)*x^5+(996.119)*x^4+(9 95.974)*x^3+(995.826)*x^2+(995.676)*x^1x2 =23.1000rr =+(0.0011404)*t^16+(0.0011111)*t^15+(0.0010828)*t^14+(0.0010559)*t^13+ (0.0010299)*t^12+(0.001005)*t^11+(0.000981)*t^10+(0.0009579)*t^9+(0.0009358)*t^8+(0.0009142)*t^7+(0.0008937)*t^6+(0.0008737)*t^5+(0.000854 5)*t^4+(0.000836)*t^3+(0.000818)*t^2+(0.0008007)*t^1t2 =23.1000y1 =997.5432z1 =9.3361e-04He =Columns 1 through 1021.7000 20.9069 19.9348 19.1688 18.7950 18.3412 17.9656 17.1311 16.2075 15.6581Columns 11 through 1415.1075 14.2847 13.4611 12.6543Pzhou =Columns 1 through 100.3240 0.3600 0.4050 0.4500 0.4770 0.5040 0.5310 0.5670 0.5940 0.6120Columns 11 through 140.6300 0.6390 0.6570 0.6750diary off五、附录附录1. 温度在15-30℃时,水的密度表附录2. 温度在15-30℃时,水的粘度表附录3. 离心泵实验原始数据记录表附录4. 生成图像。
传热学数值计算大作业
数值计算大作业一、用数值方法求解尺度为100mm×100mm 的二维矩形物体的稳态导热问题。
物体的导热系数λ为1.0w/m·K。
边界条件分别为: 1、上壁恒热流q=1000w/m2; 2、下壁温度t1=100℃; 3、右侧壁温度t2=0℃; 4、左侧壁与流体对流换热,流体温度tf=0℃,表面传热系数 h 分别为1w/m2·K、10 w/m2·K、100w/m2·K 和1000 w/m2·K;要求:1、写出问题的数学描述;2、写出内部节点和边界节点的差分方程;3、给出求解方法;4、编写计算程序(自选程序语言);5、画出4个工况下的温度分布图及左、右、下三个边界的热流密度分布图;6、就一个工况下(自选)对不同网格数下的计算结果进行讨论;7、就一个工况下(自选)分别采用高斯迭代、高斯——赛德尔迭代及松弛法(亚松弛和超松弛)求解的收敛性(cpu 时间,迭代次数)进行讨论;8、对4个不同表面传热系数的计算结果进行分析和讨论。
9、自选一种商业软件(fluent 、ansys 等)对问题进行分析,并与自己编程计算结果进行比较验证(一个工况)。
(自选项)1、写出问题的数学描述 设H=0.1m微分方程 22220t tx y∂∂+=∂∂x=0,0<y<H :()f th t t xλ∂-=-∂ 定解条件 x=H ,0<y<H :t=t 2 y=0,0<x<H :t=t1t 1t 2h ;t fq=1000 w/m 2y=H ,0<x<H :tq yλ∂-=∂ 2、写出内部节点和边界节点的差分方程 内部节点:()()1,,1,,1,,122220m n m n m nm n m n m n t t t t t t x y -+-+-+-++=∆∆左边界: (),1,,1,1,,,022m n m n m n m nm n m n f m n t t t t t t x x h y t t y y y xλλλ-++---∆∆∆-+++∆=∆∆∆右边界: t m,n =t 2上边界: 1,,1,,,1,022m n m n m n m nm n m n t t t t t t y y q x x x x yλλλ-+----∆∆∆+++∆=∆∆∆ 下边界: t m,n =t 13、求解过程利用matlab 编写程序进行求解,先在matlab 中列出各物理量,然后列出内部节点和边界节点的差分方程,用高斯-赛德尔迭代法计算之后用matlab 画图。
传热学大作业(2)
传热学大作业(2)二维稳态计算练习1、原始题目及要求二维平壁的节点划分及边界条件如上图所示,计算要求如下:1. 写出各未知温度节点的代数方程2. 分别给出G-S迭代和Jacobi迭代程序3. 程序中给出两种自动判定收敛的方法4. 考察三种不同初值时的收敛快慢5. 上下边界的热流量(λ=1W/(m℃))6. 绘出最终结果的等值线报告要求如下:1. 原始题目及要求2. 各节点的离散化的代数方程3. 源程序4. 不同初值时的收敛快慢5. 上下边界的热流量(λ=1W/(m℃))6. 计算结果的等温线图7. 计算小结2. 各节点的离散化的代数方程将上图二维平壁的节点编号如下各节点的离散化代数方程如下:由于(5,1)为歧义点,现将其近似认为对流边界外部拐点,其节点离散化代数方程为:3.源程序(1)、G-S迭代算法Matlab源程序:t=zeros(5,5);t0=zeros(5,5);e=0.001;h=10;n=1;tf=10;for j=1:5 %上边界节点t(1,j)=200;endfor i=1:5 %右边界节点t(i,5)=100;endfor k=1:100for i=2:4 %内部节点for j=2:4t(i,j)=(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))/4;endendfor i=2:4;%左边界节点t(i,1)=(2*t(i,2)+t(i-1,1)+t(i+1,1)+2*h*tf/n)/(4+2*h/n); endfor j=2:4; %下边界节点t(5,j)=(t(5,j-1)+t(5,j+1)+2*t(4,j))/4;endt(5,1)=(t(4,1)+t(5,2)+2*h*tf/n)/(2+2*h/n); %(5,1)节点dtmax=0;for i=1:5for j=1:5dtmax=max(abs(t(i,j)-t0(i,j)),dtmax);endendcontour(t',30);t0=t;tpause;if dtmax<e break; endend(2)Jacobi迭代Matlab源程序t=zeros(5,5);t0=zeros(5,5);e=0.001;h=10;n=1;tf=10;Num=0;for j=1:5 %上边界节点t(1,j)=200;endfor i=1:5 %右边界节点t(i,5)=100;endt0=t;for k=1:100for i=2:4 %内部节点for j=2:4t(i,j)=(t0(i-1,j)+t0(i+1,j)+t0(i,j-1)+t0(i,j+1))/4; endendfor i=2:4;%左边界节点t(i,1)=(2*t0(i,2)+t0(i-1,1)+t0(i+1,1)+2*h*tf/n)/(4+2*h/n); endfor j=2:4; %下边界节点t(5,j)=(t0(5,j-1)+t0(5,j+1)+2*t0(4,j))/4;endt(5,1)=(t(4,1)+t(5,2)+2*h*tf/n)/(2+2*h/n); %(5,1)节点dtmax=0;for i=1:5for j=1:5dtmax=max(abs(t(i,j)-t0(i,j)),dtmax);endendcontour(t',30);t0=t;tpause;Num=Num+1;Numif dtmax<e break; endend比较两种方法的收敛速度:G-S法最终输出结果如下:t =200.0000 200.0000 200.0000 200.0000 100.000026.2727 107.4214 135.1054 135.4873 100.000015.7010 68.3085 97.5138 106.8443 100.000013.9343 52.5990 79.7981 94.3766 100.000013.5242 48.3564 74.7042 90.8644 100.0000Num =29Jacobi法最终结果如下:t =200.0000 200.0000 200.0000 200.0000 100.000026.2695 107.3899 135.0717 135.4675 100.000015.6897 68.2189 97.4308 106.7988 100.000013.8464 52.3668 79.6357 94.2985 100.000011.8916 47.7681 74.4495 90.7611 100.0000Num =53由此可见,G-S法比Jacobi法收敛速度快,就本题初值为0而言,收敛速度大概为其两倍左右。
热传导模型方程matlab
热传导模型方程matlab热传导模型方程可以用 MATLAB 求解,具体步骤如下:1. 导入 MATLAB 环境,新建一个 MATLAB 文件。
2. 定义热传导模型的参数,如物体的热传导系数、接触面积等。
3. 定义物体的温度分布,可以使用 MATLAB 的函数生成随机数来模拟温度分布。
4. 定义物体内部的热量传输过程,可以使用 MATLAB 的函数来计算热传导的过程。
5. 求解热传导模型的结果,可以使用 MATLAB 的积分函数来计算热量的传输速率。
6. 可视化结果,可以使用 MATLAB 的绘图函数来绘制温度分布曲线和热量传输速率曲线。
具体求解过程可以参考以下 MATLAB 代码示例:```matlab% 创建 MATLAB 文件f = @(t,y) [-y(2); y(1)]; % 定义物体的温度分布函数A = 1; % 定义接触面积k = 0.1; % 定义物体的热传导系数t0 = 0; % 定义物体初始温度t1 = 1; % 定义物体目标温度tstep = 0.1; % 定义温度变化率y0 = A*rand(1,1000); % 定义物体内部的温度分布y = f(t,y0); % 计算物体内部的温度分布t = t0:tstep:t1; % 定义时间序列Q = zeros(length(t),1); % 定义热量传输速率for i=1:length(t)y = y(1:end-1); % 将时间序列中的前一部分代入热传导模型 Q(i) = -k*sum(y(2:end),2); % 计算热量传输速率y = y(2:end); % 将时间序列中的后一部分代入热传导模型Q(i) = -k*sum(y(2:end),2); % 计算热量传输速率endQ = Q/length(t); % 将热量传输速率进行归一化处理plot(t,y,"o",t,Q); % 绘制温度分布和热量传输速率曲线title("热传导模型方程"); % 添加标题xlabel("时间"); % 添加 x 轴标签ylabel("温度分布"); % 添加 y 轴标签```上述 MATLAB 代码可以求解热传导模型方程,并可视化结果。
MATLAB温度控制系统课程设计报告 案例范本
MATLAB温度控制系统课程设计报告案例范本一、课程设计题目基于MATLAB的温度控制系统设计二、设计背景温度控制是工业生产、家庭生活中常见的一种控制过程,其目的是通过控制温度来保持环境的稳定性和舒适性。
本次课程设计旨在通过MATLAB软件,设计一种基于PID控制的温度控制系统,实现对温度的精确控制。
三、设计目标1.熟悉PID控制器的基本原理和控制算法;2.掌握MATLAB软件的基本操作和编程技巧;3.设计出一种基于PID控制的温度控制系统,实现对温度的稳定控制;4.学会分析和优化控制系统的性能。
四、设计流程1.建立模型根据实际情况,建立温度控制系统的数学模型,可以采用传热学原理,建立温度传递方程,得到系统的状态空间模型。
2.设计控制器采用PID控制器对温度控制系统进行控制,根据系统的状态空间模型,设计PID控制器的参数,可以采用自整定PID控制器或手动调整PID 控制器的参数。
3.仿真分析使用MATLAB软件进行系统仿真分析,对控制系统的性能进行评估,包括稳态误差、响应速度、稳定性等指标。
4.优化控制器根据仿真分析的结果,对控制器进行参数调整和优化,提高系统的控制性能。
5.实际实验将控制器实现到实际温度控制系统中,进行实际实验,验证控制器的性能和稳定性。
五、设计结果通过以上流程,设计出一种基于PID控制的温度控制系统,实现对温度的稳定控制。
在仿真分析中,系统的稳态误差小、响应速度快、稳定性好,满足实际控制需求。
在实际实验中,控制器的性能和稳定性得到了验证,达到了预期的控制效果。
六、设计总结本次课程设计通过MATLAB软件,设计出一种基于PID控制的温度控制系统,深入理解了PID控制器的基本原理和控制算法,掌握了MATLAB软件的基本操作和编程技巧。
通过仿真分析和实际实验,对控制系统的性能进行了评估和优化,提高了系统的控制性能和稳定性。
本次课程设计对于提高学生的实际操作能力和掌握控制理论知识有一定的帮助。
有限差分法matlab程序一维热传导
有限差分法matlab程序一维热传导有限差分法是一种常用的数值解法,用于模拟和求解热传导问题。
本文将介绍如何使用MATLAB编写一维热传导的有限差分法程序。
热传导是指在物体内部或跨越物体表面的热量传递过程。
一维热传导是指热量在一个维度上传导,例如在杆状物体中的热传导。
通过有限差分法,我们可以离散化连续问题,将其转化为离散的点上的计算问题。
我们需要定义问题的边界条件和初始条件。
在一维热传导问题中,我们通常需要指定杆的长度、时间步长、温度边界条件和初始温度分布。
假设杆的长度为L,我们将其分割为N个网格点,每个网格点之间的距离为Δx = L/N。
时间步长为Δt。
我们用u(i, j)表示在第i个网格点上的温度值,其中i表示网格点的索引,j表示时间步的索引。
有限差分法的基本思想是使用差分逼近导数,将偏导数转化为有限差分的形式。
在一维热传导问题中,我们可以使用向前差分法或中心差分法来逼近偏导数。
对于一维热传导问题,我们可以使用显式差分格式来求解。
在每个时间步长上,我们可以使用网格点的前一时间步长的温度值来计算当前时间步长的温度值。
具体计算步骤如下:1. 初始化网格点上的温度值,包括初始温度分布和边界条件。
2. 根据初始温度分布和边界条件,计算第一个时间步长上网格点的温度值。
3. 对于每个时间步长j,根据第j-1个时间步长上的温度值,使用差分格式计算第j个时间步长上网格点的温度值。
4. 重复步骤3,直到计算到所需的时间步长。
在MATLAB中,我们可以使用for循环来实现这个计算过程。
首先,我们需要定义模拟所需的参数,如杆的长度、时间步长、温度边界条件和初始温度分布。
然后,我们可以使用嵌套的for循环来计算每个时间步长上的温度值。
我们可以将计算得到的温度值可视化,以便更直观地观察热传导过程。
我们可以使用MATLAB中的plot函数来绘制温度随时间和位置的变化曲线,或使用MATLAB中的surf函数来绘制三维温度分布图。
计算传热学导热作业
题目:如图所示,A,B 为两种不同材料的物体,厚度相同,左边壁面温度为Tw1,右边为Tw2。
两物体的导热系数都是温度的函数()111T a T b λ=+,a,b可以自己设定,但是要满足12λλ ,图中壁面温度和长度值可以自己确定,上下面绝热。
问题解决在此设定左边壁面温度Tw1为100℃,右边壁面温度Tw2为0℃.设壁面长度为1。
物体导热系数的函数()111T a Tb λ=+中待定系数10.00001a =,10b =,220.000001,0a b ==。
上下面绝热。
本题中采用Matlab 进行程序编写 ,并进行画图处理。
在处理中利用一维矩阵将计算区域划分成100个节点。
并通过式子:()(),p p e e w w e ew we w ewp e w p p c p a T a T a T b A A a a x x a a a S A x b S A xλλδδ=++===+-∆=∆进行迭代运算。
在本题中没有内热源所以0pc SS ==,则0b =,p e w a a a =+。
而可以假设面积1ew p A A A ===,上式可简化为:()(),p p e e w w ewe w ewp e wa T a T a T a a x x a a a λλδδ=+===+界面上的当量导热系数采用算术平均法计算:()()()()eee p e e e x x x x δδλλλδδ+-⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎣⎦⎣⎦网格独立性的判定:可以通过输入不同的节点数来进行网格独立性试验,在这里分别选网格数为10、50、100。
计算的图如下。
10个网格时:50个网格时:100个网格时:可见当划分到100个网格时,网格已经具有独立性。
在这个问题中具有两种导热材料,在材料分界面处,把它当作离散区域的分界面来处理。
由于本题中的边界条件是第一类边界条件,所以不需要特殊的边界处理。
最终得到的温度分布为:。
热传导和热辐射大作业地报告材料
热传导与热辐射大作业报告目录一、作业题目............................................................. - 1 -二、作业解答............................................................. - 2 - 个人感想................................................................ - 17 - 附件.计算中所用程序..................................................... - 18 -一矩形平板a x ≤≤0, b y ≤≤0,内有均匀恒定热源0g ,在0=x 及0=y 处绝热,在a x =及b y =处保持温度1T ,初始时刻温度为0T ,如右图1所示:1、求0>t 时,矩形区域内的温度分布()t y x T ,,的解析表达式;2、若m a 18=,m b 12=,301m W g =,K 6T 001=,K T 2000=,热传导系数K m W k ⋅=0.1,热扩散系数20.8m s α=。
请根据1中所求温度分布用MATLAB 软件绘出下列结果,加以详细物理比较和分析:(a) 300s 内,在同一图中画出点)4,0(、)8,0(、()0,6、)0,12(、)6,9((单位:m )温度随时间的变化;(b) 200s 内,画出点)4,18(、)8,18(、()12,6、)12,12(、)6,9((单位:m )处,分别沿x 、y 方向热流密度值随时间的变化;(c) 画出s s s s s t 1501251007550、、、、=时刻区域内的等温线; (d) 300s 内,在同一图中画出点()0,9(单位:m )在0g 分别等于31m W ,32m W ,33m W 情况下的温度变化;(e) 300s 内,比较点(9,6) (单位:m )在其它参数不变情况下热导率分别为K m W ⋅5.0、K m W ⋅0.1和K m W ⋅5.1的温度、热流密度变化;(f) 300s 内,比较点(9,6) (单位:m )在其它参数不变情况下热扩散系数分别为s m 24.0、s m 28.0和s m 22.1的温度、热流密度变化; 3、运用有限差分法计算2中(b)、(d)和(e),并与解析解结果进行比较,且需将数值解与解析解的相对误差减小到1‰以下;4、附上源程序和个人体会;以报告形式整理上述结果,用A4纸打印上交。
