ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:346.92KB ,
资源ID:4023947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4023947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(热传导方程的求解.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

热传导方程的求解.docx

1、热传导方程的求解应用物理软件训练 前 言MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本部分主要介绍

2、如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。 题目:热传导方程的求解一、参数说明.1二、基本原理.1三、MATLAB程序流程图3四、源程序.3五、程序调试情况6六、仿真中遇到的问题9七、结束语9八、参考文献10 一、参数说明U=zeros(21,101) 返回一个21*101的零矩阵x=linspace(0,1,100);将变量设成列向量mes

3、hz(u)绘制矩阵打的三维图axis(0 21 0 1);横坐标从0到21,纵坐标从0到1eps是MATLAB默认的最小浮点数精度X,Y=pol2cart(R,TH);效果和上一句相同waterfall(RR,TT,wn)瀑布图二、基本原理1、一维热传导问题(1)无限长细杆的热传导定解问题利用傅里叶变换求得问题的解是:取得初始温度分布如下这是在区间0到1之间的高度为1的一个矩形脉冲,于是得 (2)有限长细杆的热传导定解问题其中,即L=20,取a=10且得的解是 (3)非齐次方程定解问题是解析解是其中2、二维热传导问题 定解问题Ut=k2(Uxx+Uyy) ()U(x=0,y,t)=0, u(x

4、=a,y,t)=U(x,y=0,t)=0, u(x,y=b,t)=U(x,y,t=0)=03、三维热传导问题球体内的热传导令u=w+Uo,则w的定解问题是 Wt=w W(r=ro)=0 W(t=to)=uo-Uo解为r为空间变量,并用x,y表示。三、MATLAB程序流程图 开始 初始化定义 预设矩阵 初始条件 用for语言 绘制动态图四、源程序1、一维有限长细杆的热传导x=0:20;t=0:0.01:1;a2=10;r=a2*0.01;u=zeros(21,101);u(10:11,1)=1; 是把上述矩阵中的第10行,11行的第一列全部设成1for j=1:100 u(2:20,j+1)=(

5、1-2*r)*u(2:20,j)+r*(u(1:19,j)+u(3:21,j); plot(u(:,j); axis(0 21 0 1);横坐标0到21,纵坐标0到1 pause(0.1)暂停0.1秒endmeshz(u)2、非齐次方程的定解问题a2=50;b=5;L=1;x,t=meshgrid(0:0.01:1,0:0.000001:0.0005);Anfun=inline(2/L*(x-L/2).2.*exp(-b*x/2/a2).*sin(n*pi*x/L),x,n,L,b,a2);%定义内联函数u=0;for n=1:30An=quad(Anfun,0,1,n,L,b,a2);%in

6、line函数中定义x为向量,其它为标量un=An*exp(-(n*n*pi*pi*a2/L/L+b*b/4/a2/a2).*t).*exp(b/2/a2.*x).*sin(n*pi*x/L);u=u+un;size(u);mesh(x,t,u);%x,t,u都为501行101列的矩阵figuresubplot(2,1,1)plot(u(1,:)subplot(2,1,2)plot(u(end,:)end差分法dx=0.01;dt=0.000001;a2=50;b=5;c=a2*dt/dx/dx; x=linspace(0,1,100);%将变量设成列向量 uu(1:100,1)=(x-0.5)

7、.2;%初温度为零 figure subplot(1,2,1)%初始状态 plot(x,uu(:,1),linewidth,1); axis(0,1,0,0.25); subplot(1,2,2)%演化图 h=plot(x,uu(:,1),linewidth,1); set(h,EraseMode,xor) for j=2:200 uu(2:99,2)=(1-2*c)*uu(2:99,1)+c*(uu(1:98,1)+ uu(3:100,1)-. b*dt/dx*(uu(3:100,1)-uu(2:99,1); uu(1,2)=0;uu(100,2)=0;%边界条件 uu(:,1)=uu(:,

8、2); uu(:,1) set(h,YData,uu(:,1); drawnow; pause(0.01) end三维热传导问题U0=2; u0=0; a2=2; N=10;r=eps:0.05:1; theta=linspace(0,2*pi,100);t=0.1:0.001:0.2;RR,TT=meshgrid(r,t);figure(1)R,TH=meshgrid(theta,r);X,Y=pol2cart(R,TH);for tt=1:100 un=0; for k=1:Nunn=2*(U0-u0)*(-1)k.*sin(k.*pi.*(X.2+Y.2).0.5).*. exp(-k2

9、*pi2*a2*t(tt)./(pi.*(X.2+Y.2).0.5); un=unn+un; end mesh(X,Y,un); axis(-1 1 -1 1 -0.4 0); pause(0.1)endfigure(2)wn=0;for k=1:N wnn=2*(U0-u0)*(-1)k.*sin(k.*pi.*RR).*. exp(-k2*pi2*a2*TT)./(pi*k.*RR); wn=wnn+wn;endwaterfall(RR,TT,wn)xlabel(r)ylabel(t)五、程序调试情况1、有限长细杆的热传导开始时一段时间后2、(1)非齐次方程的解析解(2)非齐次方程的数值解

10、(差分法)3、二维热传导问题4、三维热传导问题解析解的动画图解析解的瀑布图六、仿真中遇到的问题 几乎所有的工程问题都能转化成数学模型来解,而且借助MATLAB,大多数的模型的数值解的精确度均能满足要求。但是,存在的问题也不少。首先,数值解法存在许多局限性,一个解只能适用于一个或几个模型,或者一个或几个方程。而解析解的得到能使我们得出所有同类问题的通解,并且精确度高于数值解。这是由于数学的发展程度还不足以满足自然科学的发展要求,数值解法只是一个权宜之计。其次,MATLAB虽然能处理大量的数学问题,但其命令繁多,再加上各种工具箱,要完全学会和很好的使用MATLAB不是一件容易的事情,在编辑和阅读程

11、序时通常要借助工具书查询相关命令,这样就增加了使用难度,使得MATLAB不能广泛的普及。再者,要合理的使用MATLAB来解决数学问题,必需是建立在良好的数学基础之上的,这就势必要求MATLAB的使用者有扎实的数学功底,这又给MATLAB的普及带来了挑战。最后,由于工程中的导热问题的数学模型并不一都能很顺利的建立,这就给使用MATLAB解决导热问题增加了难度。七、结束语在这短短的一周内从开始的一头雾水,到自己看书学习,到同学讨论,再进行整个题目的理论分析和计算,参考课程上的代码,写出自己的代码。我们也明白了学无止尽的道理,在我们所查的很多参考书中,很多知识是我们从没有接触过的,我们对它的了解还仅

12、限于皮毛,对它的很多功能以及函数还不是很了解,所以在这个学习的过程中我们穿越在知识的海洋中,一点一点吸取着它的知识。在MATLAB编程中需要很多的参考书,要尽量多的熟悉matlab自带的函数及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数。这一点对程序非常有帮助,可以使程序简单,运行效率高,可以节省很多时间。本次课设中用了很多MATLAB自带的函数,使程序变得很简单。把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充,编程是一点一点积累的,所以你要需做一些随手笔记什么的。在编写程序代码时,需要什么函数,需要什么模块就应该去着重看那个知识点,不要一步登天,一步一步学,如果太急于把所有东西都学到,也是不好的,更是实现不了的。所以那时一天一天积累的,慢慢地学通这个软件。八、参考文献数学物理方程的MATLAB解法与可视化 彭芳麟著 清华大学出版社量子物理学中的常用算法与程序 井孝功 赵永芳 蒿凤有 编著 哈尔滨工业大学出版社计算物理基础 彭芳麟著 高等教育出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1