MATLAB在复变函数与积分变换里的应用

MATLAB在复变函数与积分变换里的应用
MATLAB在复变函数与积分变换里的应用

MATLAB在复变函数与积分变换里的应用

目录

1复数的生成 (1)

2 复常数的运算 (1)

2.1—2.3 求复数的实部、虚部、模、幅角、共轭复数 (1)

2.4—2..8两个复数之间进行乘除法运算、幂运算、指数对数运算及方程求根 (2)

2..9MA TLAB极坐标绘图 (6)

3 泰勒级数的展开 (3)

4 留数计算和有理函数的部分分式展开 (4)

4.1 留数计算 (4)

4.2 有理函数的部分分式展开 (5)

5 Fourier变换及其逆变换 (6)

6 Laplace变换及其逆变换由拉普拉斯曲面图观察频域与复频域的关系 (7)

参考文献 (10)

复变函数与积分变换理论性较强,又是解决实际问题的强有力的工具. 本文利用MATLAB讨论了复变函数与积分变换中的复数运算、泰勒级数的展开、留数、有理函数展开、Fourier 变换、Laplace变换和图形绘制等几个问题.可以使用MATLAB来进行复变函数的各种运算,还可以使用matlab进行Taylor级数展开以及Laplace变换和Fourier变换。

1.复数的生成

复数的生成有两种形式。

a: z=a+b*i

example1:>> z=2+3*i

z =

2.0000 +

3.0000i

b: z=r*exp(i*theta)

example2: >> z=2*exp(i*30)

z =

0.3085 - 1.9761i

2.复数的运算

2.1、复数的实部和虚部

复数的实部和虚部的提取可由函数real和imag实现。

调用形式

real(x)返回复数的实部

imag(x)返回复数的虚部

example3: >> z=4+5*i;

>> real(z)

ans =

4

>> imag(z)

ans =

5

2.2、共轭复数

复数的共轭可由函数conj 实现。 调用形式

conj(x)返回复数的共轭复数 example4: >> z=4+5*i;

>> conj(z) ans =

4.0000 -

5.0000i 2.3复数的模和辐角

复数的模和辐角的求解由功能函数abs 和angle 实现。 调用形式

abs(x)复数的模 angle(x)复数的辐角 example5: >> z=6+8*i;

>> abs(z) ans =

10

>> angle(z) ans =

0.9273

Example :求下列复数的实部、虚部、模、幅角、共轭复数. (1)

i

347+ (2) 3i e π (3) 37

37

++i i >> clear >> format rat

>> X=[7/4+3i,exp(pi*i/3),i^7+i^(3/7)+3] X =

7/4 + 3i 1/2 + 1170/1351i 5079/1343 -

561/1490i >> RE=real(X)

RE =

7/4 1/2 5079/1343

>> IM=imag(X)

IM =

3 1170/1351 -561/1490

>> AB=abs(X)

AB =

5102/1469 1 1448/381

>> AN=angle(X)

AN =

659/632 355/339 -632/6369

>> CO=conj(X)

CO =

7/4 - 3i 1/2 - 1170/1351i 5079/1343 + 561/1490i

2.4复数的乘除法

复数的乘除法运算由“/”和“* ”实现。

example6: >> z1=2+3*i;

>> z2=3*exp(pi/4i);

>> z12=z1*z2

z12 =

10.6066 + 2.1213i

>> z21=z1/z2

z21 =

-0.2357 + 1.1785i

2.5、复数的平方根

复数的平方根运算由函数sprt实现。

调用形式

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

example7: >> z=2+3*i;

>> sqrt(z)

ans =

1.6741 + 0.8960i

2.6、复数的幂运算

复数的幂运算的形式为x^n ,结果返回复数x的n次幂。

example8:>> (-2)^(2/3)

ans =

-0.7937 + 1.3747i

2.7、复数的指数和对数运算

复数的指数和对数运算分别由函数exp和log实现。

调用形式

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

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

example9: >> z=3+4*i;

>> log(z)

ans =

1.6094 + 0.9273i

>> exp(z)

ans =

-13.1288 -15.2008i

2.8、复数方程求根

复数方程求根或实方程的复数根求解也由函数solve实现。

example10: >> solve('x^2+9=0')

ans =

-3*i

3*i

2..9MA TLAB极坐标绘图

polar指令可以将数据以极座标方式加以绘图

调用形式:polar(theta,r) (theta,r)分别代表极座标上的角度及半径值Example:

>> t=0:0.01:2*pi; r=sin(2*t).*cos(2*t); polar(t,r)

title('Polar plot of sin(2t)cos(2t)')

3 泰勒级数的展开

3.1 定理1 (泰勒展开定理) 设)(x f 在区域D 内解析,D x ∈0,R 为0x 到D 的边界上各点的最短距离?当R x x <-0时,∑∞

=-=0

0)()(n n n

x x c

x f 为)(x f 在0x 处的泰勒级

数.

其中:n c =

!

1

n ()

f n ()0

x n =0,1,2,………

用函数taylor 来实现泰勒级数的展开,taylortool 可以进行泰勒级数逼近分析.

r = taylor(f,n,v):符号表达式f 以符号标量v 作为自变量,返回f 的n -1阶泰勒展开式。 r = taylor(f,n,v,a):返回符号表达式f 在v = a 处的n -1阶泰勒展开式。

example11: 求函数f(x)=sin(x)在x=0的泰勒展开式的8次幂多项式和16次幂多项式,并分别进行泰勒级数逼近分析. >> clear

syms x

>> f=sin(x)

f =

sin(x)

>> taylor(f,8)

ans =

- x^7/5040 + x^5/120 - x^3/6 + x

>> taylor(f,16)

ans =

-x^15/1307674368000 + x^13/6227020800 - x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x

taylortool

图例11-1

图例11-2

example12: 求函数x

e x

f -=)(在x=0的泰勒展开式的7次幂多项式并进行泰勒级数逼近分

析. >> clear syms x >> f=exp(-x) f = 1/exp(x) >> taylor(f,10) ans = -

x^9/362880 + x^8/40320 - x^7/5040 + x^6/720 - x^5/120 + x^4/24 - x^3/6 + x^2/2 - x + 1

taylortool

图例12-1

3.2 级数求和

函数symsum()来对符号表达式进行求和,其具体用法如下: r = symsum(s,a,b):求符号表达式s 中默认变量从a 到b 的有限和; r = symsum(s,v,a,b):求符号表达式s 中变量v 从a 到b 的有限和。 Example13:求下列级数的和

(1)13521

(2482)

n

n -+++++ (2)1111

...............31021(21)

n n ++++

++ (3)

2sin sin sin sin ......149x x x x

n

+++++ >> clear syms n

>> f1=(2*n-1)/2^n f1 =

(2*n - 1)/2^n >> f2=1/(n*(2*n+1)) f2 =

1/(n*(2*n + 1))

>> I1=symsum(f1,n,1,inf) I1 = 3

>> I2=symsum(f2,n,1,inf) I2 = 2 - 2*log(2) (1)(2)级数收敛 clear >> syms n x >> f3=sin(x)/n^2 f3 = sin(x)/n^2

>> I3=symsum(f3,n,1,inf) I3 =

(pi^2*sin(x))/6 该级数是发散的

4 留数计算和有理函数的部分分式展开 4.1 留数计算

定义1 设f(x)在0

π21

?c

dx x f )(为f(x)关于点a 的留数,记作Res[f(x),a].其中c 为在0

定理2 设函数f(x)在区域D 内除有限个孤立奇点z 1,z 2,z 3......,z n 处处解析,c 是D 内包围所有奇点的一条正向简单闭曲线,那么

?c

dx x f )(=i π2∑=n

k s 1

Re [f(x),

z k ]

residue 函数可以用来求解分子分母均为多项式的函数。

调用格式:[R,P]=residue (A,B )

其中R 是部分分式的系数数组即留数数组,P 是极点数组。注意,当函数有重极点时,对同一个极点P ,存在几个展开系数R ,这几个R 中只有与相同极点中的第一个对应的R 是

1()Z P --的系数即与极点P 对应的留数,其余的不是留数。参数A 是由复变函数的分子的

系数组成的向量,参数B 是由复变函数的分母的系数组成的向量。 Example14:求函数()f z =321

310z z z

+-在各极点处的留数

>> clear >> format rat >> a=[1]; >> b=[1,3,-10,0]; >> [R,P]=residue(a,b) R =

1/35 1/14 -1/10 P =

-5 2 0 Example15:求函数()f z =321

1

z z z --+在各极点处的留数

>> clear >> format rat >> a=[1]; >> b=[1,-1,-1,1]; >> [R,P]=residue(a,b) R =

-1/4 1/2 1/4 P =

1 1 -1

4.2有理函数的部分分式展开

利用residuez 函数计算F(z)分子多项式和分母多项式 [r,p,k]=residuez(num,den)

Example16:将F (z )用部分分式展开,2

310)(2+-=z z z

Z F

>> num=[0,10]; >> den=[1,-3,2];

>> [R,P,K]=residuez(num,den) R =

10 -10 P =

2 1 K = []

5 Fourier 变换及其逆变换

定理3 若f(t)在()+∞∞-,上满足: (1)在任何的有限区间上满足Dirichlet 条件; (2)在无限区间()+∞∞-,上绝对可积(即

?

+∞

-dt t f )(收敛):则有

ωττωωτd d f e e x j i ??+∞∞-+∞∞??????--)(21π=[]?????-++(在间断点上)

在连续点上)0()0(2

1)()

(x f x f x f

定义2 如果函数f(t)满足定理3,由 ??+∞∞+∞∞-????

??=--)(21)(ωττωωτd d f x f e e x i i π (1) 设 ?

+∞

--=

ττωωτ

d f F e

j )()( (2)

则 ?+∞∞

=-)(21)(ωωωd F t f e t

j π (3)

(2)式称为)(t f 的傅里叶变换,记为 [])()(t f F ?=ω

()ωF 称为)(t f 的象函数,并且这样的积分运算称为取)(t f 的Fourier 变换,式(3)称作

)(ωF 的傅里叶逆变换式,记为

[])()(1

ωF t f -?

=

Fw = fourier(ft,t,w):求时域函数ft 的Fourier 变换Fw ; ft = ifourier(Fw,w,t):求频域函数Fw 的Fourier 反变换。 Example17:求单位阶跃函数的傅里叶变换及其反变换 >> clear >> syms t w >> ut=heaviside(t); >> UT=fourier(ut) UT =

pi*dirac(w) - i/w >> ut=ifourier(UT,w,t) ut =

heaviside(t)

6 Laplace 变换及其逆变换及由拉普拉斯曲面图观察频域与复频域的关系 6.1 Laplace 变换及其逆变换

定义3 如果函数)(t f 当0≥t 时有定义,并且广义积分

?

+∞

-0

)(dt t f e st

(4)

在s 的某一区域内收敛,则由(4)式所确定的参数为s 的函数 ?

+∞

-=

)()(dt t f s F e st

叫做函数)(t f 的Laplace 变换.

Fs = laplace(ft,t,s):求时域函数ft 的Laplace 变换Fs ; ft = ilaplace(Fs,s,t):求频域函数Fs 的Laplace 反变换ft example18: 求函数t te

t f t

2sin )(3-=的 Laplace 变换。

>> clear

>> syms t

>> f=t*exp(-3*t)*sin(2*t) f =

(t*sin(2*t))/exp(3*t) >> F=laplace(f) F =

(2*(2*s + 6))/((s + 3)^2 + 4)^2 即.]

4)3[()

3(4)(2

2+++=

s s s F Example19:求函数 )

3()52(1

2)(22-+-++=s s s s s s F 的 Laplace 逆变换。

>> clear >> syms s

>> F=(s^2+2*s+1)/(s^2-2*s+5)/(s-3) F =

(s^2 + 2*s + 1)/((s - 3)*(s^2 - 2*s + 5)) >> f = ilaplace(F) f =

2*exp(3*t) - exp(t)*(cos(2*t) - sin(2*t)) 即)2sin 2(cos 2)(3t t e e t f t

t

--= Example20:求函数 s

e s s F --=

1

1)(的 Laplace 逆变换 >> clear >> syms s

>> F = exp(-s)/(s-1) F =

1/(exp(s)*(s - 1)) >> f = ilaplace(F) f =

heaviside(t - 1)*exp(t - 1)

输出f = Heaviside(t-1)*exp(t-1) 即)1(1

-=-t u e f t

6.2由拉普拉斯曲面图观察频域与复频域的关系

如果信号)(t f 的拉普拉斯变换)(s F 的极点均位于s 平面左半平面,则信号)(t f 的傅立叶变换)(ωj F 与)(s F 存在如下关系:

ωωj s s F j F ==)()(

即在信号的拉普拉斯变换)(s F 中令0=σ,就可得到信号的傅立叶变换。从三维几何空间角度来看,信号)(t f 的傅立叶变换)(ωj F 就是其拉普拉斯变换曲面图中虚轴所对应的曲线。可以通过将)(s F 曲面图在虚轴上进行剖面来直观的观察信号拉普拉斯变换与其傅立叶变换的对应关系。

调用meshgrid()函数产生矩阵s 用函数mesh()绘出其曲面图

Example21:绘制信号)()sin()(t u t e t f t

-=的拉普拉斯变换的曲面图,观察曲面图在虚轴剖

面上的曲线,并将其与信号傅立叶变换)(ωj F 绘制的幅度频谱相比较。

根据拉普拉斯变换和傅立叶变换定义和性质,可求得该信号的拉普拉斯变换和傅立叶变换如下:

1)1(1)(2++=

s s F 1

)1(1

)(2++=ωωj j F

clear

a=-0:0.1:5; b=-20:0.1:20;

[a,b]=meshgrid(a,b) c=a+i*b;

c=1./((c+1).*(c+1)+1) c=abs(c); mesh(a,b,c) surf(a,b,c) view(-60,20)

axis([-0,5,-20,20,0,0.5])

title('拉普拉斯变换(s 域像函数)') colormap(hsv) w=-20:0.1:20

Fw=1./((i*w+1).*(i*w+1)+1); plot(w,abs(Fw))

title('傅里叶变换(振幅频谱曲线)') xlabel('频率w')

图例21-1

通过图21-1和图21-2对比可直观地观察到拉普拉斯变换与傅立叶变换的对应关系。

参考文献:

[1] 曹弋MA TLAB教程及实训

[2] 孙祥matlab7.0基础教程

[3] 薛定宇高等应用数学问题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 代码为

相关文档
最新文档