搜档网
当前位置:搜档网 › Matlab在《复变函数与积分变换》中的应用

Matlab在《复变函数与积分变换》中的应用

Matlab在《复变函数与积分变换》中的应用
Matlab在《复变函数与积分变换》中的应用

Matlab在《复变函数与积分变换》中的应用

摘要:复变函数与积分变换工程是应用必备的基础课,在解决实际问题中也有十分重要的意义。MATLAB是集数值计算、图形处理、图像处理、符号计算文字处理、数字建模、实时控制、动态仿真、信号处理等功能为一体的数学应用软件【1】。将MATLAB应用到复变函数与积分变换的学习中,可以为复变函数与积分变换的计算和应用带来极大的方便。

关键字:复变函数积分变换 MATLAB 应用

前言:把复变函数与积分变换的学习和MATLAB结合起来,就可以把复杂繁琐的计算交于计算机,而把主要精力集中在建立和优化数学模型上。可以利用MATLAB可以对一个复常数进行基本的求模,求幅角,求实部、虚部的运算。更进一步地,还可以求复数的指数、对数,对复数进行三角运算。在对于复变函数的研究中,可以求解复变函数的留数,并用来求复变函数的积分,对复变函数进行泰勒级数展开。在积分变换方面,可以对函数进行傅里叶变换、逆变换,进行拉普拉斯变换、逆变换。

1.复数的基本运算

1.1复数的实部和虚部

real (z) 返回复数z 的实部

imag (z) 返回复数z 的虚部

1.2共轭复数

conj (z) 返回复数z 的共轭复数

1.3复数的模和辐角

abs (z) 返回复数z 的模

angle (z) 返回复数z 的辐角

1.4 复数的乘除法

* 乘法:模相乘,辐角相加

/ 除法:模相除,辐角相减

1.5 复数的平方根

sqrt (z) 返回复数z 的平方根值

1.7复数的幂运算

z^n 返回复数z 的n 次幂

1.8 复数的指数运算和对数运算

exp(z) 返回复数z的以e为底的指数值

log(z) 返回复数z的以e为底的对数值

1.9 复数的三角运算

sin (z)、cos (z)、tan (z)、cot (z)、sec (z)、asin (z)、…等函数,返回复数z 的函数值。

1.10复数方程求根

solve (‘f (x) = 0’) 求方程f (x) = 0 的根

例1求下列复数的实部、虚部、共轭复数、模、辐角【2】。

(1)(2)(3) +3+i

解:编写程序

Z=[((1-i)/(1+i))^7,i/(1-i)+(1-i)/i ,i^5+3*i^18+i]

re=real(Z) %求实部

im=imag(Z) %求虚部

Z1=conj(Z) %求共轭复数r=abs(Z) %求模

theta=angle(Z) %求辐角

运行结果为:

例2 求的解。

解:编写程序

solve (‘z^4+1 = 0’)

运行结果为:

2 计算复变函数的极限、微分与积分

解析函数是《复变函数与积分变换》中最主要的研究对象,它在理论和实际问题中有着广泛的作用。

2.1 MATLAB 求复变函数极限

例3 的极限在求0sin )(==

z z

z

z f 解:编写程序 syms z;

f=z/(sin(z)) limit(f,z,0)

即f(z)在z=0的极限是1

2.2 MATLAB 求复变函数微分 例4 )(,sin )1()(z f z

z z

z f '+=

求设

解:编写程序 syms z

f=z/((1+z)*(sin(z))); diff(f)

z

z z z z z z z z n

n

cos sin 21sin )1(2sin 11ans +-+-+=即

2.3 MATLAB 求复变函数积分 例5 。

的值5)2)(z (z 1)(z 1

计算积分

0z 10?=--+ 解

syms t z

z=2*cos(t)+i*2*sin(t); f=1/(z+i)^10/(z-2)/(z-5); inc=int(f*diff(z),t,0,2*pi)

i nf inf -I Inc +=即

3 用MATLAB 计算留数

根据留数的定义,设Z 0是解析函数f(z)的孤立奇点,我们把f(z)在Z 0处的洛朗展开式中负

一次幂项的系数C-1称为f(z)在Z0出的留数,记作Res[f(z),z],即Res[f(z),z]=C-1。【2】在matlab 中利用residue()函数可以求出任意复变函数的孤立奇点以及在该点处的留数值。格式如下:[r,p,k]=residue[b,a]【3】。

例6求下列函数在奇点处的留数

f(z)=

解:[r,p,k]=residue([1,1],[1,-2,0])

所以Res[f(z),2]= 1.5 Res[f(z),0]=-0.5 。

例7 计算积分,其中,C为正向圆周,|Z|=2.

解:先求被积函数的留数。

[r,p,k]=residue([1,0],[1,0,0,0,-1])

可见,在圆周|Z|=2内有四个极点,所以积分值等于2xpix(0.25+0.25-0.25-0.25)=0。

4.Taylor级数展开

Taylor 级数展开在复变函数中有很重要的地位,如分析复变函数的解析性等。

taylor (f) %返回f 函数的5 次幂多项式近似

taylor (f, n) 返回n-1 次幂多项式近似

taylor (f, a) 返回a 点附近的幂多项式近似

taylor (f, x) 对f 中的变量x 展开;若不含x,则对变量x = findsym (f)展开【4】。例 8 求函数在零点处的泰勒级数展开式。

解:syms x

Taylor(sin(x)/x,0)

5.Fourier变换及其逆变换

在MATLAB中,使用fourier( )函数来实现Fourier变换,Fourier变换的逆变换是使用ifourier( )函数来实现。

Fourier(f,u,v) 将返回函数f,该函数以符号u为自变量,代替默认值x,

F(v)=int(f(x)*exp(-i*v*u),x,iinf,inf);

f=ifourier(F,u,v) 将返回函数f,该函数以符号v为自变量,代替默认值w,

f(u)=(int(F(V)*EXP(-i*u*v,w,-inf,inf))/2pi。

例9求的Fourier变换,在此x是参数,t是时间变量【5】。解: >>syms t x w;

ft=exp(-(t-x))*sym(‘heaviside(t-x)’);

F1=simle(fourier(ft,t,w))

F2=simle(fourier(ft))

F3=simle(fourier(ft,t))

F1=

1/exp(i*x*w)/(1+i*w)

F2=

1*exp(-i*t*w)/(1+w)

F3=

1*exp(-t*(2+i*t))/(i+t)

例10 求Fourier变换的逆变换。

解 >>syms t u v w x

Ifourier(w*exp(-3*w)*sym(‘Heaviside(w)’))

ans=

1/2/(-3+i*x)^2/pi

>>ifourier(1/(1+w^2),u)

ans=1/2*exp(-u)*Heaviside(u)+1/2*exp(u)*Heaviside(-u)

>>ifourier(v/(1+w^2),v,u)

ans=-i/(1+w^2)*dirac(1,u)

>>ifourier(sym(‘fourier(f(x),x,w)’w,x) ans= f(x)

6. Laplace 变换及其逆变换

拉普拉斯(laplace )积分变换在工程、应用数学等方面都有重要的作用。用Matlab 求解

更加方便【6】

。 6.1 Laplace 变换

F= laplace(f,t,s) 求时域函数f (t )的laplace 变换F

F 是s 的函数,参数s 省略,返回结果F 默认为’s’的函数;f 为t 的函数,当参数t 省略,默认自由变量为’t’。 6.2 拉普拉斯(laplace )反变换

F=i laplace(f,t,s) 求F 的laplace 反变换f

变换的求函数例laplace t

t

sin f .11=

解: syms t s;syms a b positive f=[exp(sin(t)/t)]; L=laplace(f)

)s t,,laplace(e 即L t

sint =

逆变换的求函数例aplace s s l )1(1

F .122

-=

解: syms t s

F=1/(s*(s-1)^2);

f=simple(ilaplace(F))

t

+

f-

=

e

1

t)1

(

7.MATLAB绘图功能在复变函数中的应用

随着计算机处理数据和图形的功能越来越强,复变函数和计算机的结合已经成为必然的选择:比如从定理的推导证明到繁杂的运算,单调乏味。十分影响学习的兴趣一和计算杉瞄合起来就不同了.学生可以把复变函数的一些初等厢数.利用绘图功能将该幽数用图形直观的表达出来.由此可以通过图形来观察出函数图形的一些性质,这使得教学过程直观生动。但由于复变函数的自变量是复数,函数值也是复数,就需要有四个量来表示,而MATLAB表现四位数据的方法是用三个空间坐标再加上颜色。下面将通过一些具体算例来说明通过复变函数的图形可以帮助我仃J理解复变函数课程中一些比较难于理解的抽象的函数概念和性质【7】。

例13 绘制z、、sinz、的图像。

解:subplot(2,2,1)

z=cplxgrid(40);

cplxmap(z,z);

colorbar('vert');

title('z');

subplot(2,2,2)

z=cplxgrid(40);

cplxmap(z,z.^3);

colorbar('vert');

title('z^3');

subplot(2,2,3)

z=cplxgrid(40);

cplxmap(z,sin(z));

colorbar('vert');

title('sinz');

subplot(2,2,4)

subplot(2,2,1)

z=cplxgrid(40);

cplxmap(z,z);

colorbar('vert');

title('z');

subplot(2,2,2)

z=cplxgrid(40);

cplxmap(z,z.^3);

colorbar('vert');

title('z^3');

subplot(2,2,3)

z=5*cplxgrid(40);

cplxmap(z,sin(z));

colorbar('vert');

title('sin(z)');

subplot(2,2,4)

z=cplxgrid(40);

cplxroot(4);

colorbar('vert');

title('z^1/4');

结束语:以上是《复变函数与积分变换》中一些问题的MATLAB 解法。我们从中可以看出,利用MATLAB求解这些问题具有规范、简洁、灵活等特点;大大简化了数学问题的求解过程,便于求解一些实际应用中较为复杂的数学问题;对于理解掌握《复变函数与积分变换》理论知识也具有一定的辅助作用。因此,我们在平时的学习中应该经常把它们结合起来使用,这样会起到意想不到的结果。

参考文献

【1】陈静,段振辉Matlab在复变函数与积分变换课程教学中的应用[J].河南机电高等专科学校学报。

【2】《复变函数与积分变换》华中科技大学数学系高等教育出版社

【3】《MATLAB R2008 数学和控制实例教程》曹岩主编化学工业出版社

【4】Matlab在《复变函数》教学中的应用

【5】《MATLAB R2006a 基础篇》曹岩主编化学工业出版社

【6】《高等应用数学问题的MATLAB求解》薛定宇陈阳泉著清华大学出版社

【7】MATLAB在《复变函数》教学田的应用.宁夏师范学院数计学院.陈耀庚

MATLAB编辑一维热传导方程的模拟程序

求解下列热传导问题: ()()()()?????????====-=≤≤=??-??1, 10,,1,010,001222ααL t L T t T z z T L z t T z T 程序: function heat_conduction() %一维齐次热传导方程 options={'空间杆长L','空间点数N' ,'时间点数M','扩散系数alfa','稳定条件的值lambda(取值必须小于',}; topic='seting'; lines=1; ; def={'1','100','1000','1',''}; h=inputdlg(options,topic,lines,def); L=eval(h{1}); N=eval(h{2}); M=eval(h{3}); alfa=eval(h{4}); lambda=eval(h{5});%lambda 的值必须小于 %*************************************************** ¥ h=L/N;%空间步长 z=0:h:L; z=z'; tao=lambda*h^2/alfa;%时间步长 tm=M*tao;%热传导的总时间tm t=0:tao:tm; t=t'; %计算初值和边值 @ T=zeros(N+1,M+1); Ti=init_fun(z); To=border_funo(t); Te=border_fune(t); T(:,1)=Ti; T(1,:)=To; T(N+1,:)=Te; %用差分法求出温度T 与杆长L 、时间t 的关系 : for k=1:M m=2;

论文-Matlab在物理学中的应用

学院 专业 年级 姓名 论文题目 指导教师职称 成绩 年月日

目录 摘要 (1) Abstract (1) 1 引言 (1) 2 MATLAB功能介绍 (2) 3 MATLAB在光学中的应用 (2) 3.1单缝衍射及弗朗和费衍射 (2) 4 MATLAB在电磁学中的应用 (3) 4.1用MATLAB描绘电场线 (3) 5MATLAB在热物理学中的应用 (3) 5.1MATLAB在麦克斯韦速率分布中的应用 (3) 6 结束语 (4) 参考文献 (5)

MATLAB在物理学中的应用 摘要:用MATLAB分析物理学,能使复杂的问题大大简化,对阐述相关原理能起到很大的作用。本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩充体系结构的特点,并介绍了高性能语言 MATLAB 在大学物理学中的一些应 用,包括在热物理学,量子力学、电磁学以及光学中的应用。 关键词:MATLAB;热物理学;电磁学;光学 Application of MATLAB in Physics Abstract:Analysis of physics with MATLAB can make the complex problem greatly simplified, which principle play an important part in physics. This paper is based on the MATLAB numerical calculation, visualization graphics processing, which open and extensible architecture, and introduces some application of high performance MATLAB language in university physics, which including the thermal physics, quantum mechanics, electromagnetism and optics. Key words:MATLAB; thermal physics; electromagnetism; optical 1引言 在物理实验中,实验数据的处理方法至关重要,而数据处理手段制约着处理方法 的应用。在手工处理数据的条件下,通常只能使用列表法、作图法、逐差法等,不仅效 率低,容易引入习惯误差,且主要只对线性关系有效;运用计算机高级语言编程或 Excel等软件工具,可以分析非线性问题,但由于编程复杂或操作不便等原因,难于在 教学中推广; MATLAB提供了大量的科学计算函数,用来处理曲线拟合、数据插值、傅 里叶变换等问题非常便捷[1]。下面我们从一些典型的实例出发, 介绍 MATLAB 在物理 学方面的具体应用。 2 MATLAB功能介绍 MATLAB是美国MATHWORKS公司开发的一套高性能的数值计算和可视化软件。它 是一种以矩阵运算为基础的交互式程序语言,其应用范围涵盖了当今几乎所有的工业 应用与科学研究领域,集数值分析、矩阵运算、信号处理和图形显示于一体[2]。其丰

一维热传导MATLAB模拟

昆明学院2015届毕业设计(论文) 设计(论文)题目 一维热传导问题的数值解法及其MATLAB模拟子课题题目无 姓名伍有超 学号 5 所属系物理科学与技术系 专业年级2011级物理学2班 指导教师王荣丽 2015 年 5 月

摘要 本文介绍了利用分离变量法和有限差分法来求解一维传导问题的基本解,并对其物理意义进行了讨论。从基本解可以看出,在温度平衡过程中,杠上各点均受初始状态的影响,而且基本解也满足归一化条件,表示在热传导过程中杆的总热量保持不变。通过对一维杆热传导的分析,利用分离变量法和有限差分法对一维热传导进行求解,并用MATLAB 数学软件来对两种方法下的热传导过程进行模拟,通过对模拟所得三维图像进行取值分析,得出由分离变量法和有限差分法绘制的三维图基本相同,且均符合热传导过程中温度随时间、空间的变化规律,所以两种方法均可用来解决一维热传导过程中的温度变化问题。 关键词:一维热传导;分离变量法;有限差分法;数值计算;MATLAB 模拟

Abstract In this paper, the method of variable separation and finite difference method are introduced to solve the problem of one-dimensional heat conduction problems, and the physical significance of numerical methods for heat conduction problems are discussed. From the basic solution, we can see the temperature on the bar are affected by the initial state during the process of temperature balance, and basic solution also satisfy the normalization condition which implied the invariance of the total heat in the bar during the heat conduction process. Through the analysis of the one-dimensional heat conduction, by taking use of variable separation method and finite difference method, we simulated the one-dimensional heat conduction problem by MATLAB. The three-dimensional images of the simulation results obtained by the method of separation of variables and finite difference method are similar to each other, and the temperature curve is in accordance with the law of temperature variation during heat conduction. Thus, we can go to the conclusion that both methods can be used to deal with the one-dimensional heat conduction problems. Keywords: One-dimensional heat conduction; method of variable separation; finite difference method; numerical method; MATLAB simulation

MATLAB在导热问题中的应用

分类号密级 U D C 编号 本科毕业论文(设计) 题目MATLAB在导热问题中的运用 所在院系数学与数量经济学院 专业名称信息与计算科学 年级 05级 学生姓名朱赤 学号 0515180004 指导教师周瑾 二00九年四月

文献综述 1、概述 MATLAB是一个为科学和工程计算而专门设计的高级交互式的软件包。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需简单的列出数学表达式,其结果便以数值或图形方式显示出来。MATLAB中有大量的命令和事先定义的可用函数集,也可通称为MATLAB的M文件,这就使得用它来求解问题通常比传统编程快得多;另外一点,也是它最重要的特点,易于扩展。它允许用户自行建立完成指定功能的M文件。从而构成适合于其它领域的工具箱。MATLAB既是一种编程环境,又是一种程序设计语言。它与其它高级程序设计语言C、Fortran等一样,也有其内定的规则,但其规则更接近于数学表示,使用起来更为方便,避免了诸如C、Fortran语言的许多限制,比方说,变量、矩阵无须事先定义;其次,它的语句功能之强大,是其它语言所无法比拟的,再者,MATLAB提供了良好的用户界面,许多函数本身会自动绘制出图形,而且会自动选取坐标刻度。 传热学是一门研究由温差引起的热能传递规律的科学,其理论和技术在生产、科学研究等领域得到了广泛的应用。在能源动力、建筑建材及机械等传统工业部门中,传热学理论的应用解决了这些部门生产过程的热工艺技术,而在新能源利用、军事高科技等新技术领域中,它甚至对一些关键技术起到了决定性作用。传热过程是传热学研究最基本的过程之一,传统的数学分析解法只能解决相对简单的传热问题,而在解决复杂的实际传热问题时,数学描述和求解都很困难。随着计算机技术的兴起,解偏微分方程组等早期不能被很好解决或模拟的部分已逐渐被人们完成。同时,计算机技术的发展,尤其是MATLAB的出现,不但解决了很多较复杂的问题,也大大促进了传热学理论的发展。 本文就介绍目前在该领域的研究状况,以及存在的问题。 2、主题 2.1 什么是导热 两个相互接触的且温度不同的物体,或同一物体的各不同温度部分间,在不

MATLAB在热物理学中的应用

《MATLAB》课程论文 MATLAB在热物理学中的应用 姓名:田晓霞 学号:12010245379 专业:通信工程 指导老师:汤全武 学院:物理电气信息学院 完成日期:2011.12.1

MATLAB 在热物理学中的应用 (田晓霞 12010245379 2010级通信工程) 【摘 要】 基于MATLAB 的数值计算、可视化图形处理、开放式以及可扩充体系结构的特 点,并用高性能语言 MATLAB 在大学物理热物理学中的一些应用,包括在固体热容量的三种模型、理想气体定容比热回归分析和理想气体的热力学分析中的应用等对其进行数据处理。 【关键词】 MATLAB ;顺磁性固体;负温度状态;热力学;热传导;热扩散 一. 问题的提出之固体热容量的三种模型 热容量是热力学系统的一个重要响应函数。经典理论曾用能量均分定理讨论了晶体在高温情况下的热容量,成功地解释了杜隆-珀替定律。但是,经典理论不能说明低温下热容量随温度的降低而减小,以及它是系统特征量这两个实验事实。1907年,爱因斯坦应用量子概念处理晶体振动,定性地说明了固体的热容量随温度降低而趋于零的规律。1917年,德拜修改了爱因斯坦模型,出了3T 定律,使固体热容量理论在定量上与实验结果相符合。 1.固体热容量的经典模型-杜隆-珀替定律 按照经典理论,由N 个原子或离子组成的固体可视为3N 个相互独立的经典线性谐振子的集合。由能量均分定理,每个线性简谐振子的能量为kT ,固体的内能为U =3NkT ,热容量为 3V C N k = (1) 此即杜隆-珀替定律。 问题1:应用玻尔兹曼统计求经典固体的定容热容量。 (1) 解题分析 经典固体可视为3N 个相互独立的经典线性谐振子的集合,每个经典线性谐振子的能量为 ()2222 12r p r e m w m = + (2) 其中, 2 12r p m 是两原子相对运动的动能,1212 m m m m m =+为约化质量,r 是两原子间的 距离,ω为振动的圆频率。振动配分函数为 dr d r p h p e z r v r ??+- = ) ( 21 2 22 21 ωμμ β (3) 求出配分函数后,再利用热力学公式 13ln U N Z β? =-? , V V U C T ??? = ???? (4) 可求得经典固体的热容量。 (2) Matlab 程序: syms V h beta N k T mu omiga r p; %用syms 定义10个符号变量 d=beta/2*mu;e=beta*mu*omiga^2/2; %求符号表达式的值

导热方程求解matlab

使用差分方法求解下面的热传导方程 2 (,)4(,) 0100.2t xx T x t T x t x t =<<<< 初值条件:2(,0)44T x x x =- 边值条件:(0,)0(1,)0 T t T t == 使用差分公式 1,,1,2 2 2 (,)2(,)(,) 2(,)()i j i j i j i j i j i j xx i j T x h t T x t T x h t T T T T x t O h h h -+--++-+= +≈ ,1,(,)(,) (,)()i j i j i j i j t i j T x t k T x t T T T x t O k k k ++--= +≈ 上面两式带入原热传导方程 ,1,1,,1,2 2i j i j i j i j i j T T T T T k h +-+--+= 令2 24k r h =,化简上式的 ,1,1,1,(12)()i j i j i j i j T r T r T T +-+=-++ i x j t j

编程MA TLAB 程序,运行结果如下 1 x t T function mypdesolution c=1; xspan=[0 1]; tspan=[0 0.2]; ngrid=[100 10]; f=@(x)4*x-4*x.^2; g1=@(t)0; g2=@(t)0; [T,x,t]=rechuandao(c,f,g1,g2,xspan,tspan,ngrid); [x,t]=meshgrid(x,t); mesh(x,t,T); xlabel('x') ylabel('t') zlabel('T') function [U,x,t]=rechuandao(c,f,g1,g2,xspan,tspan,ngrid) % 热传导方程:

MATLAB及在电子信息课程中的应用课后答案

8102569 583 24754 12743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x 程序 A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; B=[4;-3;9;-8]; X=A\B 解:X = 2. 设??????????------=81272956313841A ???? ??????-----=793183262345B 求C1=AB’;C2=A’B;C3=A.*B,并求它们的逆阵。

程序 A=[1,4,8,13;-3,6,-5,-9;2,-7,-12,-8]; B=[5,4,3,-2;6,-2,3,-8;-1,3,-9,7]; C1= A*B',C2 = A'*B, C3 = A.*B inv(C1),inv(C2),inv(C3) 3. a. 列出2×2阶的单位矩阵I, 4×4阶魔方矩阵M 和4×2阶的全幺矩阵A,全零矩阵B b. 将这些矩阵拼接为6×6阶的矩阵C: ???? ??????=M B A I C ' c. 求出C 的第2,4,6行,组成3×6阶的矩阵C1,及第2,4,6,裂,组成6×3阶的矩阵C2, d. 求D=C1C2及D1=C2C1. 程序 >>I=eye(2),A=ones(4,2), B=zeros(4,2),M=magic(4), C=[I,A';B,M]

>> C1=C([2,4,6,],:),C2=C(:,[2,4,6,]) >> D=C1*C2, D1=C2*C1 4.设 ????? ?++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线 解:程序 x=linspace(0,2*pi,101) y=cos(x).*+3*sin(x)./(1+x.^2)); plot(x,y),grid 5.求代数方程3x 5+4x 4+7x 3+2x 2 +9x+12=0的所有根。 程序 >>a=[3,4,7,2,9,12]; r=roots(a) 解:r = + - + -

Matlab解热传导方程代码

Sample MATLAB codes 1. %Newton Cooling Law clear; close all; clc; h = 1; T(1) = 10; %T(0) error = 1; TOL = 1e-6; k = 0; dt = 1/10; while error > TOL, k = k+1; T(k+1) = h*(1-T(k))*dt+T(k); error = abs(T(k+1)-T(k)); end t = linspace(0,dt*(k+1),k+1); plot(t,T),hold on, plot(t,1,'r-.') xlabel('Time'),ylabel('Temperature'), title(['T_0 = ',num2str(T(1)), ', T_\infty = 1']), legend('Cooling Trend','Steady State') 2. %Boltzman Cooling Law clear; close all; clc; h = 1; T(1) = 10; %T(0) error = 1; TOL = 1e-6; k = 0; dt = 1/10000; while error > TOL, k = k+1; T(k+1) = h*(1-(T(k))^4)*dt+T(k); error = abs(T(k+1)-T(k)); end t = linspace(0,dt*(k+1),k+1); plot(t,T),hold on, plot(t,1,'r-.') xlabel('Time'),ylabel('Temperature'), title(['T_0 = ',num2str(T(1)), ', T_\infty = 1']), legend('Cooling Trend','Steady State') 3. %Fourier Heat conduction clear; close all; clc; h = 1; n = 11; T = ones(n,1); Told = T; T(1) = 1; %Left boundary T(n) = 10; %Right boundary x = linspace(0,1,n); dx = x(2)-x(1);

第三章matlab在力学中的应用

3-3 机械振动 物体在平衡位置附近的往返叫做振动或机械振动。振动的传播称为波,机械振动的传播称为机械波。振动和波动是涉及物理及众多领域的一种非常普遍而重要的运动形式,研究振动和波动的意义已远远超过了力学的范围。本节利用MATLAB 来处理机械振动的一些问题。 简谐振动 质点在线性回复力作用下围绕平衡位置的运动称为简谐远动,它是最基本的 振动。下面,我们通过两个例子来讨论简谐运动的动力学和运动学特征。 (1) 弹簧振子系统的简谐运动 ·题目(ex3311) 设弹簧阵子系统由质量为m 的滑块和劲度系数为k 的弹簧所组成已知t=0时,m 在A 处,即x 0=A ,并由静止开始释放。试研究滑块的运动规律。 ·解题分析 以x 表示质点相对原点的位移,线性回复力f=-kx 。由牛顿第二定律以及题设条件,可写出弹簧振子的振动微分防尘及初始条件为 22t 0 0(0)(0)0 d x k x dt m x A dx v dt =+==== 滑块速度分别为 22 dx v dy d x a dt = = 令2,k m ω= 用符号法求解上述微分方程,求出运动方程、速度和加速度,并绘制

出,()x t v x a x ---相轨迹和曲线。 (2) 单摆 ·题目(ex3313) 设单摆的摆长为l ,摆锤质量为,将摆锤拉开一角度θ,然后放开使其自由摆动。在不计空气阻力的情况下,分小摆角和大摆角两种情况,讨论单摆的角位移θ随时间t 的变化规律。 ·解题分析 由牛顿第二定律,有 222sin sin ,d g dt l θθωθω=-=-= 其中,g 为重力加速度。 ① 小角摆动 假定角位移很小,sin θ≈θ,上式为 220d g dt l θθ+= ② 大角摆动 222sin sin d g dt l θθωθ=-=- 上式是非线性方程。为了方便起见,将θ用y 来表示,上式又可以写为下列一阶 微分方程组 1221;sin()dy dy g y y dt dt l ==- 用MATLAB 编程解此方程组。取l=1m,g=s 2。初始条件取为 073 π π θ= 试取和,比较二者的运动规律。

Matlab在力学中的应用

Matlab在力学中的应用 【摘要】倘若是在传统的手算方法里解超静定的结构工作是非常的繁琐麻烦,甚至是有时候是不可能的,所以我们运用结构一般的有限元编程方法,通过两个实例的对比方法,就能够直观的展示Matlab 在结构力学分析中的应用,Matlab 具有极高的性能,方法具有普遍的实用性和适用性,可以实现弯矩图自动绘制,这将大大的提高工作效率,减少工程师的负担,并且计算精准。 【关键字】Matlab ;结构有限元弯矩图;精准; 一、前言 Matlab可能很多人都会好奇,这是一个什么东西。其实它是由美国的一家公司推出的新型的计算系统,主要用于材料力学,数学等学科的科学计算,还有一些其他的高科技用途。他将许多的数学运算做了简化,特别是那些复杂的线性代数运算。有巨大的数学贡献。也给高级计算机语言的研究提供了窗口和可能。Matlab的成功运用让太多的数学计算就变得简单。但是Matlab是一个新的技术,所以我们对Matlab还是有很多的研究空间。 二、MATLAB-PDEtool介绍 MATLAB-PDEtool提供了一个功能强大的并且是使用灵活的二维有限元偏微分方程求解环境,其图形用户界面更是使用十分方便、直观一般来说,MATLAB-PDEtool包括3个步骤: 定义一个PDE的问题,它包括确定二维求解区域、边界条件和PDE系数。MATLAB-PDEtool能够求解的PDE型式有:椭圆型、抛物线型、双曲线型、特征值型。当使用GUI时,可以在画图模式下确定求解区域;在边界模式下选择方程形式和设置方程系数。数值的求解,它包括剖分、离散方程和得到一个数值解。在GUI中,在剖分模式下形成满意的网格;在求解模式下通过选择数值计算方法求解。图形化显示结果。通常用于的就是在表现有限元计算结果的图形有:比如说变形网格图、云图、等值线图、矢量图、网格图、表面图、流线图等。 三、MATLAB在麦克斯韦速率分布中的应用 而在气体动力学理论中麦克斯韦速率分布律是大学物理讲授与学习中的一个难点和重点。那么这是因为公式比较复杂抽象,数学推导证明比较繁琐。如果借助Matlab 那就可以比较方便地解决这些问题。其中用到Gamma函数,传统方法是查数学用表得到结果。如果应用Matlab的符号计算功能, 只需要简单几行语句就可以解决这些问题。用到相关函数有:符号变量创建函数syms,求微分函数diff,求积分函数int,符号化简函数simple,字符串转化函数eval。 四、引入Matlab软件辅助计算

matlab求积分极限导数

一.计算下列极限: 1. x e e x x x sin lim 0-→- 解:y=sym(‘(exp(x)-exp(-x))/sin(x)’); y1=limit(y) 结果:y1=2 2. n n m m a x a x a x --→lim 解:syms x a m n y=(x^m-a^m)/(x^n-a^n); y1=limit(y,x,a) 结果:y1=n a m a n m 3. n x x x 21lim ??? ??+∞→ 解:syms x n y=((1+x)/x)^(2*n); y1=limit(y,x,inf) 结果:y1=1 4. 111lim --→x x e 解:y=exp(1/(x-1)); y1=limit(y,x,1,‘left ’) 结果:y1= 0 5. 111lim -+→x x e 解:y=exp(1/(x-1)); y1=limit(y,x,1,‘right ’) 结果:y1= ∞ 二.创建表达式 f=2x+4, g=4x^2+5x-2, 并计算 (1) f+g; (2) f-g; (3) f ×g; (4) f /g; (5) f [g(x)]; (6) 求 g 的反函数。 解:syms x f=2*x+4;

g=4*x^2+5*x-2; 结果:(1) f+g= 7*x+2+4*x^2 (2)f-g= -3*x+6-4*x^2 (3)f*g= (2*x+4)*(4*x^2+5*x-2) (4)f/g= (2*x+4)/(4*x^2+5*x-2) (5) f [g(x)]=compose(f,g)=8*x^2+10*x (6)clear syms x g=4*x^2+5*x-2; g1= finverse(g) 结果:g1= ()2116578 185x ++- 三.计算下列导数 (1))1ln(2x x e e y ++= 解:syms x y=log(exp(x)+sqrt(1+exp(2*x))); z=diff(y,x); simple(z) 结果:z=exp(x)/(exp(2*x) + 1)^(1/2) z=()21 21+x x e e (2)x e y 1sin 2-= 解: syms x y=exp(-(sin(1/x))^2); z=diff(y,x); simple(z) 结果:z=(exp(cos(2/x)/2 - 1/2)*sin(2/x))/x^2 z=2 21)2cos()2sin(*x x e x - (3) 212arcsin t t y += 解: syms t y=asin(2*t/(1+t^2)); z=diff(y,t); simple(z) 结果:z=-(2*t^2 - 2)/((t^2 + 1)^2*((t^2 - 1)^2/(t^2 + 1)^2)^(1/2))

MATLAB编辑一维热传导方程的模拟程序

求解下列热传导问题: 2T 1 T 门 c , 2 0 0 z L z t T乙0 1 z2 T 0,t 1, T L,t 0 L 1, 1 程序: fun ctio n heat_c on ductio n() % 一维齐次热传导方程 options={'空间杆长L','空间点数N','时间点数M','扩散系数alfa',' 件的值 稳定条lambda(取值必须小于0.5)',}; topic='set in g'; lin es=1; def={'1','100','1000','1','0.5'}; h=in putdlg(opti on s,topic, lin es,def); L=eval(h{1}); N=eval(h{2}); M=eval(h{3}); alfa=eval(h{4}); lambda=eval(h{5});%lambda 的值必须小于0.5 o%*************************************************** h=L/N;%空间步长 z=0:h:L; z=z'; tao=lambda*h A2/alfa;% 时间步长 tm=M*tao;%热传导的总时间tm t=0:tao:tm; t=t'; %计算初值和边值 T=zeros(N+1,M+1); Ti=i nit_fu n(z); To=border_fu no (t); Te=border_fu ne(t); T(:,1)=Ti;- T(1,:)=To; T(N+1,:)=Te; %用差分法求出温度T与杆长L、时间t的关系 for k=1:M m=2; while m<=N T(m,k+1)=lambda*(T(m+1,k)+T(m-1,k))+(-2*lambda+1)*T(m,k); m=m+1; end;

实验五 用matlab求二元函数的极值

实验五 用matlab 求二元函数的极值 1.计算二元函数的极值 对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤: 步骤1.定义二元函数),(y x f z =. 步骤2.求解方程组0),(,0),(==y x f y x f y x ,得到驻点. 步骤3.对于每一个驻点),(00y x ,求出二阶偏导数 22222,,.z z z A B C x x y y ???===???? 步骤4. 对于每一个驻点),(00y x ,计算判别式2B AC -,如果02>-B AC ,则该驻点是 极值点,当0>A 为极小值, 0>clear; syms x y; >>z=x^4-8*x*y+2*y^2-3; >>diff(z,x) >>diff(z,y) 结果为 ans =4*x^3-8*y ans =-8*x+4*y

MATLAB在化学中的应用

硕士研究生课程论文 课程名称:MATLAB及其应用 题目:MATLAB在热物理学中的应用学院: 专业名称: 姓名: 学号: 任课教师: 提交时间:2013 年 11 月 21 日

MATLAB在热物理学中的应用 摘要:本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩充体系结构的特点,并介绍了高性能语言 MATLAB 在大学物理热物理学中的一些应用,包括在麦克斯韦速率分布和化工热力学中的应用。 关键词:MATLAB;麦克斯韦速率分布;热力学 Application of MATLAB in thermal physics Abstract:Based on MATLAB’s features of numerical calculation, visualization of graphics processing,opening and scalable architecture,introduced the applications of language of Matlab with high-performance in thermal physics of university physics,include in the Maxwell speed distributionand the chemical industry thermodynamics. Key Words: MATLAB; Maxwell speed distribution; thermodynamic

引言 热物理学是化工研究的一个方向, 由于热物理学处理比较复杂,恰当地使用可视化以展现数学公式的物理图像, 使其变得直观、形象。MATLAB 是一套高性能的数值计算和可视化软件,下面我们从一些典型的实例出发, 介绍 MATLAB 在热物理学方面的具体应用。 1 MATLAB-PDEtool 介绍 MATLAB-PDEtool 提供了一个功能强大使用灵活的二维有限元偏微分方程求解环境,其图形用户界面更是使用十分方便、直观一般来说,MATLAB-PDEtoo l 包括3个步骤: (1) 定义一个PDE 问题,它包括确定二维求解区域、边界条件和PDE 系数。MATLAB-PDEtool 能够求解的PDE 型式有:椭圆型、抛物线型、双曲线型、特征值型。当使用GUI 时,可以在画图模式下确定求解区域;在边界模式下选择方程形式和设置方程系数。 (2) 数值求解,它包括剖分、离散方程和得到一个数值解。在GUI 中,在剖分模式下形成满意的网格;在求解模式下通过选择数值计算方法求解。 (3) 图形化显示结果。通常用于表现有限元计算结果的图形有:变形网格图、云图、等值线图、矢量图、网格图、表面图、流线图等。 2 MATLAB 在麦克斯韦速率分布中的应用 气体动力学理论中麦克斯韦速率分布律是大学物理讲授与学习中的一个难点和重点。这是因为公式比较复杂抽象,数学推导证明比较繁琐。如果借助 Matlab 就可以比较方便地解决这些问题。首先, 推导三种速率和归一化条件。已知分布函数表达式为: KT mV v e v kT m f 222 3)()2(4-=ππ (1) 最大概然速率分布可由下式求出:

热传导方程的求解

应用物理软件训练 前言 MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其

他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。 本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。

题目:热传导方程的求解 目录 一、参数说明 (1) 二、基本原理 (1) 三、MATLAB程序流程图 (3) 四、源程序 (3) 五、程序调试情况 (6) 六、仿真中遇到的问题 (9) 七、结束语 (9) 八、参考文献 (10)

一、参数说明 U=zeros(21,101) 返回一个21*101的零矩阵 x=linspace(0,1,100);将变量设成列向量 meshz(u)绘制矩阵打的三维图 axis([0 21 0 1]);横坐标从0到21,纵坐标从0到1 eps是MATLAB默认的最小浮点数精度 [X,Y]=pol2cart(R,TH);效果和上一句相同 waterfall(RR,TT,wn)瀑布图 二、基本原理 1、一维热传导问题 (1)无限长细杆的热传导定解问题 利用傅里叶变换求得问题的解是: 取得初始温度分布如下 这是在区间0到1之间的高度为1的一个矩形脉冲,于是得 (2)有限长细杆的热传导定解问题

MATLAB在热物理学中的应用

MATLAB在热物理学中的应用 学号:2010110114 姓名:贾海龙专业:物理学1011 摘要:本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩充体系结构的特点,并介绍了高性能语言 MATLAB 在大学物理热物理学中的一些应用,包括在麦克斯韦速率分布、理想气体定容比热回归分析和化工热力学中的应用。 关键词:MATLAB;麦克斯韦速率分布;理想气体;热力学 Application of MATLAB in thermal physics Abstract:Based on MATLAB’s features of numerical calculation, visualization of graphics processing,opening and scalable architecture,introduced the applications of language of MATLAB with high-performance in thermal physics of university physics,include in the Maxwell speed distribution、specific heat at constant volume regression analysis of ideal gas,and the chemical industry thermodynamics. Key W ords: MATLAB; Maxwell speed distribution;ideal gas; thermodynamic 引言 大学物理学是工科学生的一门必修课, 由于大学物理数学处理比较复杂,恰当地使用可视化以展现数学公式的物理图像, 使其变得直观、形象。MATLAB 是一套高性能的数值计算和可视化软件,下面我们从一些典型的实例出发, 介绍 MATLAB 在热物理学方面的具体应用。 1 MA TLAB-PDEtool介绍 MATLAB-PDEtool提供了一个功能强大使用灵活的二维有限元偏微分方程求解环境,其图形用户界面更是使用十分方便、直观一般来说,MATLAB-PDEtoo l包括3个步骤: (1)定义一个PDE问题,它包括确定二维求解区域、边界条件和PDE系数。MATLAB-PDEtool能够求解的PDE型式有:椭圆型、抛物线型、双曲线型、特征值型。当使用GUI时,可以在画图模式下确定求解区域;在边界模式下选择方程形式和设置方程系数。 (2)数值求解,它包括剖分、离散方程和得到一个数值解。在GUI中,在剖

MATLAB在化学中的应用

MATLAB在化学中的应用 (应用化学) MATLAB作为新一代科学和工程计算语言,其简洁、易操作性是其它类似软件所不能比拟的,MATLAB在化学中有着十分重要的应用。 1 化学实验设计的最优化方法 化学实验设计的目的是用最少的实验次数获得最多的化学信息,在数学上可归结为极值的问题。单纯形优化是化学计量学中实验设计与优化的最常用方法:用单纯形法进行试验优化时,我们首先确定一个初始单纯形,再通过一系列步骤对它进行优化。比如说,对基本单纯形优化,我们先去掉最差点,用其对称点作新试验点;若最差点反射后仍为最差点,则选次差点,等等。然后再对单纯形进行加速,又有一系列规则,过程十分复杂,需大量的计算和推导。用MATLAB则几句程序就可以解决问题。 2 回归分析 回归分析是数理统计中最常用的方法之一,一般用最小二乘法确定回归方程中的系数。其矩阵计算过程颇为复杂。而用MATLAB实现则使问题大大简化。MATLAB中有两个函数可以用于回归分析: polyfit(x, y, n)和leastsq (\function /, x)。polyfit只能用于线性回归, leastsq可用来做非线性回归。 3 主成分分析(PCA)

主成分分析的基本思想是以一种最优化方法去浓缩综合给定的量测数据矩阵Y中的信息,使数据矩阵简化,降低维数,寻找少数几个由原始变量线性组合成的新变量(主成分),以期揭示内部结构特征。该法可用做化学模式识别。主成分分析法将原始数据样本集的输入因子数n转化为主成分数l(1

实验三_用matlab求极限和导数

实验三 用matlab 求极限和导数 1.求极限、导数的MATLAB 命令 MATLAB 中主要用limit,diff 分别求函数的极限与导数。 可以用help limit, help diff 查阅有关这些命令的详细信息 例1首先分别作出函数 x y 1 cos =在区[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间 上的图形,观测图形在0=x 附近的形状。在区间[-1,-0.01]绘图的MA TLAB 代码为: >>x=(-1):0.0001:(-0.01); y=cos(1./x); plot(x,y) 结果如图2.1 图2.1函数 x y 1 cos =的图形 根据图形,能否判断出极限x x x x 1 sin lim ,1cos lim 00 →→的存在性? 当然,也可用limit 命令直接求极限,相应的MATLAB 代码为: >>clear; >>syms x; %说明x 为符号变量 >>limit(sin(1/x),x,0) 结果为ans = -1 .. 1,即极限值在-1,1之间,而极限如果存在则必唯一,故极限x x 1sin lim 0 →不

存在,同样,极限x x 1 cos lim 0 →也不存在。 例2 首先分别作出函数 x x y sin = 在区间[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间上 的图形,观测图形在0=x 附近的形状。在区间[-1,-0.01]绘图的MA TLAB 代码为: >>x=(-1):0.0001:(-0.01); y=sin(x)./x; plot(x,y) 结果如图2.2 图2.2 函数 x x y sin = 的图形 根据图形,能否判断出极限1 sin lim 0=→x x x 的正确性? 当然,也可用limit 命令直接求极限,相应的MATLAB 代码为: >>clear; >>syms x; >>limit(sin(x)/x,x,0) 结果为ans =1. 例3 观测当n 趋于无穷大时,数列n n n a )11(+=和1 )1 1(++=n n n A 的变化趋势。例如, 当100,,2,1 =n 时,计算 n n A a ,的MATLAB 代码为: >>for n=1:100, a(n)=(1+1/n)^n;,A(n)=(1+1/n)^n ;, end 在同一坐标系中,画出下面三个函数的图形: e y x y x y x x =+=+=+, )1 1(, )1 1(1 观测当x 增大时图形的走向。例如,在区间[10,400]绘制图形的MA TLAB 代码为

相关主题