如何用matlab 求解高阶方程?

如何用matlab 求解高阶方程?,第1张

如何用matlab 求解高阶方程

用roots(p)函数求解 其中p是方程的各次方的系数组成的矩阵 比如 你这道题的求根程序为: roots(p)matlab运行后的结果为:ans =10.3180 4.0487 1.8166 + 1.3141i 1.8166 - 1.3141i

如何用MATLAB求解LOGISTIC方程

至于Lyapunov方程的求解,你可以查下,下面我编写的一个帖子,里面详细说明了Lyapunov方程该如何使用Matlab求解,你可以参考下

【Lyapunov、Sylvester和Riati方程的Matlab求解】:matlabsky./thread-539-1-1.

%by dynamic

%see also :matlabsky.

%contact me matlabsky@gmail.

%2009.2.

%

急~如何利用MATLAB求解高阶方程的系数

依题意就变成了以下的方程组

%a+x(1)*b+x(1)^2*c+x(1)^3*d=y(1)

%a+x(2)*b+x(2)^2*c+x(2)^3*d=y(2)

%a+x(3)*b+x(3)^2*c+x(3)^3*d=y(3)

%写成矩阵的形式:xx(3*4)*aa(4*1)=y(3*1) 其中3*1表示3行1列

x=[1 2 3]y=[215]%依题意写入知道的X和Y的三组值

c=[0 1 2 3]

xx=zeros(3,4)

for i=1:3

xx(i,:)=x(i).^c

end

aa=xx\y %因为是一个超定方程,即方程个数小于未知数个数只能得到一个特解

结果:

aa =

3.3636

0

-2.1364

0.7727

matlab如何用ode求解x’’+x=t这种二阶方程

分成两个一阶的做。

请问一个方程如何用MATLAB求解,

fsolve即可

如何用matlab求解线性方程樱做中组

比如:

1*x1+2*x2=3

4*x1+7*x2=5

怎么解方程呢?

A=[1,24,7]%系数矩阵

b=[35]%等号右边列

x=inv(A)*b

如何用matlab求解微分方程并画图

function zd0412

function dy=odefun(t,y)

dy=[y(2)

3*sin(2*t)+exp(t)*y(1)-t*y(2)]

end

tspan=[0,2]

y0=[1-1]

[t,y]=ode45(@odefun,tspan,y0)

plot(t,y(:,1))

end

如何用matlab求解定态薛定谔方程脊山

摘要:本文首先对薛定谔方程的提出及发展做了一个简单介绍。然后,以在一维空间运动的粒子构成的谐振子的体系为例,详细介绍了矩阵法求解薛定谔方程的过程及公式推导。最后,通过MATLAB编程仿真实现了求解结果。

关键词:定态薛定谔方程求解 矩阵法

MATLAB仿真

薛定谔方程简介

1.1背景资料

薛定谔方程是由奥地利物理学家薛定谔提出的量子力学中的一个基本方程,是将物质波的概念和波动方程相结合建立的二阶偏微分方程,可描述微观粒子的运动,每个微观系统都有一个相应的薛定谔方程式,通过解方程可得到波函数的具体形式以及对应的能量,从而了解微观系统的性质。其仅适用于速度不太大的非相对论粒子,其中也没有包含关于粒子自旋的描述。当计及相对论效应时,薛定谔方程由相对论量子力学方程所取代,其中自然包含了粒子的自旋。

薛定谔方程建立于

1926年。它是一个非相对论的波动方程。它反映了描述微观粒子的状态随时间变化的规律,它在量子力学中的地位相当于牛顿定律对于经典力学一样,是量子力学的基本假设之一。设描述微观粒子状态的波函数为Ψ(r,t),质量为m的微观粒子在势场V(r,t)中运动的薛定谔方程为

在给定初始条件和边界条件以及波函数所满足的单值、有限、连续的条件下,可解出波函数Ψ(r,t)。由此可计算粒子的分布概率和任何可能实验的平均值(期望值)。当势函数V不依赖于时间t时,粒子胡困具有确定的能量,粒子的状态称为定态。定态时的波函数可写成式中Ψ(r)称为定态波函数,满足定态薛定谔方程,这一方程在数学上称为本征方程,式中E为本征值,是定态能量,Ψ(r)又称为属于本征值E的本征函数。

量子力学中求解粒子问题常归结为解薛定谔方程或定态薛定谔方程。薛定谔方程揭示了微观物理世界物质运动的基本规律,被广泛地用于原子物理、核物理和固体物理,对于原子、分子、核、固体等一系列问题中求解的结果都与实际符合得很好。

定态薛定谔方程直角坐标系形式

定态薛定谔方程球坐标系形式

1.2定态薛定谔方程

条件

V(r,t)=V(r), 与t无关。

用分离变量法,

令Ψ=φ(r)f(t),代入薛定谔方程,得两个方程:

此称定态薛定谔方程

整个定态波函数形式:

特点:

波函数由空间部分函数与时间部分函数相乘;

B.时间部分函数是确定的。

定态波函数几率密度W与t无关,几率分布不随时间而变,因此称为定态。

1.3本征方程、本征函数与本征值

算符: 本征方程:

λ:本征值,有多个,甚至无穷多个

ψλ:本征值为λ的本征函数,也有多个,甚至无穷多个,有时一个本征值对应多个不同的本征函数,这称为简并。若一个本征值对应的不同本征函数数目为N,则称N重简并。

1.4

定态情况下的薛定谔方程一般解

1、定态薛定谔方程或不含时的薛定谔方程是能量本征方程,E就称为体系的能量本征值,而相应的解称为能量的本征函数。

2、当不显含时时,体系的能量是收恒量,可用分离变量。

3、解定态薛定谔方程,关键是写出哈密顿量算符。

2.

利用矩阵法求解薛定谔方程

以在一维空间运动的粒子构成的谐振子的体系为例。

该粒子的势能是,是谐振子的角频率,因此谐振子的哈密顿量为

当时,谐振子的势能变为无穷大,因此,粒子只能在有限的空间上运动,并且能量值谱是分立的。下面采用矩阵的方法,确定谐振子的能量分立值。

从运动方程出发

(1)

而势能 那么

又代入上式(1)得

即 (2)

在矩阵形式下,该方程可以写为

含时坐标矩阵元

(3)

对它求导,我们得到

代入上式后,有

(4)

其中

(5)

所以,除了当或外,所有的坐标矩阵元都等于零

当时,由(5)式有

即 同理,

因此,只有变化时,才能得到频率即

所以不为零的坐标矩阵元为

根据定义[12-14]

对于存在的波函数,应为实数,所有的矩阵元也为实数,由厄密算符的性质得

为了计算坐标的矩阵元,由对易关系

又 代入上式易得

写为矩阵形式,有

根据矩阵的乘法规则,有

又,则有由前面的分析知,只有时,才存在矩阵元,代入上式,

从该方程我们可以得出

矩阵元不为零,但是当时,矩阵元则

依次类推,得出

最后,我们得到坐标矩阵元不为零的表达式

又谐振子的能量可以用来表示,且,计算该能量得

其中,对于全部的1求和,只有当参数时坐标矩阵元不为零,因此得到

亦即

因此,谐振子的能级以为间隔,最低能级是

MATLAB仿真结果

线性谐振子的前六个本征函数

上图为线性谐振子的前六个本征函数,图中纵轴横线表示具有相同能量的经典线性谐振子的振动范围。

有限方势阱前六个本征函数

上图为有限方势阱的前六个本征函数,图中纵轴横线表示具有相同能量的经典线性谐振子的振动范围。

如何用matlab求解向量微分方程

ODE部分--------ODE--->ordinary differential equations先总述一下:D 1、ode的求解器ode       ODE的求解器有很多,在help里可以查到。列出了每一种求解器的适应范围(stiff或者nonstiff)以及它采用的数学原理,比如Runge-Kutta,Adams,NDFs之类。(这个在数值分析课中会学到,可惜偶当时觉得很无聊,后悔中)。      大家有时间多去了解了解,懂了来给大家分享分享:D 。      如果不懂那么多理论,优先采用ode45,如果你发现它计算的效率特别低下或者是计算根本出不来,则考虑换ode15s。     sol是任意名字。对于怎么把要求解的方程写为function,2楼例子。所以你告诉求解器这三样东西(输入参数),它就可以为你求解出y。                       sol = ode45(@yourfun,[tmin,tmax],[y0,y0'])                                          你的公式    积分范围    初值                  sol=ode45(@vdp1,[0,20],[2,0])      把以上代码命令行里直接执行,这是matlab自带的一个例子。在workspace里你会看到多了一个变量叫sol.没错这就是求解器的返回值。它是一个1*1的结构体。双击它,你会看到它的内部组织,各个field以及它们的“形状”。每一个你都可以双击它,继续深入看它的结构。我现在关心的只有X,Ysolverextdata,x,y,stats,idata================================================================================2、求解计算完毕后,我们可以做什么      首先,当然是得到结果。      deval(sol,x,1)       sol如上,写在求解等号左边的变量名字,是返回来的handles。x是一组向量,是你期望求值的点。数字1就表示你要y第一行的值(这个是在求解微分方程组的情况。不明白什么叫第一行,就去双击sol,再双击y),如果去掉1,则返回矩阵,也就是所有y的值。在matlab命令行运行以下代码:     sol=ode45(@vdp1,[0,20],[2,0])x=linspace(0,20,100)y=deval(sol,x,1)plot(x,y)      此外,我们还可以扩展,matlab叫做odextend。扩展什么?         odextend(sol,odefun,tfinal)       看到最后一个变量名了吧,t_final 这样明显一点。也就是,我之前算过的微分方程组,原来算到t1,我现在要接着继续计算到新的t_final。默认以上次计算的y终值,作为此次计算的初值。         odextend(sol,odefun,tfinal,yinit)      当然,如果你想重新给它赋初值,也可以加入参数yinit。(友情提示:获取上次计算的Y的终值:y=sol.y(:,end))      sol=odextend(sol,@vdp1,20)plot(sol.x,sol.y(1,:))=====================================================================================      3、求解器的参数设置   也 就是option这个东西,既然是选项,则也可以不设置它,采用默认值。        要设置的话,可以用odeset这个命令。怎么用?       option=odeset('name1',value1,'name2',value2......) (matlab所有参数设置基本上都是这种形式)                    name自然就是属性名字。value就是你赋予它的值。求解器可以设置哪些参数,而设置了这些参数有什么影响,而这些参数应该则么设置。在命令行里输入 help odeset:D 。看到的绝对比我讲得详细。所以我不多说了。(友情提醒,如果使用ode15什么来着,可以为它设置Jacobian这个参数,以更快更准更好的求解。如何设置,不懂的话,偶过后会贴。)        O=odeget(option,'name')         编过GUI的话这两个命令再熟悉不过了:D

1.语言特点:

1)。语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。

2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。

4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。

5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和 *** 作系统上运行。

6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执州稿盯行文件,程序为解释执行,所以速度较慢。

8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工册和具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如敬含control,toolbox,signl proceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。

9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

2.工具箱

功能型工具箱 —— 通用型

功能型工具箱主要用来扩充matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。

领域型工具箱 —— 专用型

领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Processing Toolbox);财政金融工具箱( Financial Toolbox)等等。

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

Communication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱

Image Processing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Processing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱

System Identification Toolbox——系统辨识工具箱

Wavele Toolbox——小波工具箱

等等

3.

输入命令如下:

>>A=[1 2 3

4 5 6]

>>B=[2 3 4

5 6 7]

>>A+B

>>A-B

>>A.^2

>>A*B

>>inv(A)

Y=fft(y,512)

F =10*f*[0:256]/512

fp=2*sqrt(Y.*conj(Y))%幅度谱

xp=angle(Y)%相位谱

gl=abs(Y).^2%功率谱

magif=ifft2(abs(f2))%幅度重构

pha=angle(f2)%取相位

phaif=ifft2(exp(j*pha))%相位重构

数据是x(i),共N个点,老弯采样频率是fsample

dt = 1/fsample

df = 1/N/dt

f = 0:df:(N-1)*df

X=fft(fftshift(x))

plot(f,real(X))

plot(f,imag(X))

扩展资料:

相位谱是调整声音相位的,最容易理解的就是左右声道的位置调整,实际上相位还决定着其他很多声音的属性。

对于一个系统,能够罩含喊通过其相位谱来判断该系统是否为线性相位系统。线性相位系统故名思义,看相位是否随频率线性变化。但相位谱的作用不仅限于此,奥本海姆在一篇经典文献中认为信号的相位包含的信息大于幅物野度,实际上从最初的最小相位系统,倒谱分析,到系统辨识,高阶谱估计等理论都是以相位谱为突破口。

参考资料来源:百度百科-相位谱


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12434052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存