我想计算一个无解析解解析函数的充要条件数值积分但需要保留一些字符变量,该怎么办?MATLAB哈

本人花了好久找的几乎数值分析的所有算法都已编成程序,价值极大!
经验证所有程序基本无误,赶快下吧不下绝对后悔!

每当难以对一个函数进行积分、微分或鍺解析上确定一些特殊的值时,就可以借助计算机在数值上近似所需的结果这在计算机科学和数学领域,称之为数值分析至此,可以猜到MATLAB提供了解决这些问题的工具。本章将介绍这些工具的使用

说到绘图,只要计算函数在某一区间的值并且画出结果向量,这样就嘚到了解析函数的充要条件图形在大多数情况下,这就足够了然而,有时一个函数在某一区间是平坦的并且无激励而在其它区间却夨控。在这种情况下运用传统的绘图方法会导致图形与函数真正的特性相去甚远。MATLAB提供了一个称为fplot的巧妙的绘图函数该函数细致地计算要绘图的函数,并且确保在输出的图形中表示出所有的奇异点该解析函数的充要条件输入需要知道以字符串表示的被画解析函数的充偠条件名称以及2元素数组表示的绘图区间。例如:

作图除了提供视觉信息外还常常需要确定一个解析函数的充要条件其它更多的特殊属性。在许多应用中特别感兴趣的是确定解析函数的充要条件极值,即最大值(峰值)和最小值(谷值)数学上,可通过确定函数导数(斜率)为零的点解析上求出这些极值点。检验humps的图形在峰值和谷值点上的斜率就很容易理解这个事实显然,如果定义的函数简单則这种方法常常奏效。然而即使很多容易求导的函数,也常常很难找到导数为零的点在这种情况下,以及很难或不可能解析上求得导數的情况下必须数值上寻找解析函数的充要条件极值点。MATLAB提供了两个完成此功能的函数fmin和fmins这两个函数分别寻找一维或n维解析函数的充偠条件最小值。这里仅讨论fmin有关fmins的详细信息,参阅《MATLAB参考指南》因为f(x)的最大值等于-f(x)的最小值,所以上述fmin和fmins可用来求最大值和最小值。如果还不清楚把上述图形倒过来看,在这个状态下峰值变成了谷值,而谷值则变成了峰值

这里x是函数f(.)的向量参数,函数f(.)返回标量徝函数fmins利用单纯形法求最小值,它不需要精确的梯度计算任何一种优化工具箱中具有更多扩展的优化算法

正如人们对寻找解析函数的充要条件极点感兴趣一样,有时寻找函数过零或等于其它常数的点也非常重要一般试图用解析的方法寻找这类点非常困难,而且很多时候是不可能的在上述函数humps的图中(如图13.3所示),该函数在x=1.2附近过零

一个解析函数的充要条件积分或面积也是它的另一个有用的属性。MATLAT提供叻在有限区间内数值计算某函数下的面积的三种函数:trap2 , quad和quad8。函数trapz通过计算若干梯形面积的和来近似某解析函数的充要条件积分这些梯形如图13.4所示,是通过使用函数humps的数据点形成

图13.4 粗略的梯形逼近曲线下的面积示意图


从图中可明显地看出,单个梯形的面积在某一段欠估計了函数真正的面积而在其它段又过估计了解析函数的充要条件真正面积。如同线性插值当梯形数目越多时,解析函数的充要条件近姒面积越准确例如,在图13.4中如果我们大致增加一倍数目的梯形,我们得到如下页(如图13.5)所示的更好的近似结果

自然地,上述两个結果不同基于对图形的观察,粗略近似可能低估了实际面积除非特别精确,没有准则说明哪种近似效果更好很明显,如果人们能够鉯某种方式改变单个梯形的宽度以适应解析函数的充要条件特性,即当函数变化快时使得梯形的宽度变窄,这样就能够得到更精确的結果
MATLAB的函数quad和quad8是基于数学上的正方形概念来计算解析函数的充要条件面积,这些积分解析函数的充要条件操作方式一样为获得更准确嘚结果,两个函数在所需的区间都要计算被积函数此外,与简单的梯形比较这两个函数进行更高阶的近似,而且quad8比quad更精确这两个解析函数的充要条件调用方法与fzero相同,即
注意这两个函数返回完全相同的估计面积,而且这个估计值在两个trapz面积的估计值之间有关MATLAB的积汾解析函数的充要条件其它信息,参阅《MATLAB参考指南》或在线帮助

与积分相反,数值微分非常困难积分描述了一个解析函数的充要条件整体或宏观性质,而微分则描述一个函数在一点处的斜率这是解析函数的充要条件微观性质。因此积分对解析函数的充要条件形状在小范围内的改变不敏感而微分却很敏感。一个函数小的变化容易产生相邻点的斜率的大的改变。

图13.6 二次曲线拟合

<![endif]> 的微分是dy/dx=-19.3由于一个多項式的微分是另一个低一阶的多项式,所以还可以计算并画出该解析函数的充要条件微分

图13.7 曲线拟合多项式微分

在这种情况下,拟合的哆项式为二阶使其微分为一阶多项式。这样微分为一条直线,它意味该微分与x成线性变化


给定一些描述某解析函数的充要条件数据,MATLAB提供了一个计算其非常粗略的微分的函数这个函数命名为diff,它计算数组中元素间的差分因为微分定义为:

则y=f(x)的微分可近似为:


由于diff計算数组元素间的差分,所以其所得输出比原数组少了一个元素。这样画微分曲线时,必须舍弃x数组中的一个元素当舍弃x的第一个え素时,上述过程给出向后差分近似而舍弃x的最后一个元素,则给出向前差分近似比较上述两条曲线,显而易见用有限差分近似微汾会导致很差的结果,特别是被噪声污染了的数据

一般微分方程式描述系统内部变量的变化率如何受系统内部变量和外部激励,如输入的影响。当常微分方程式能够解析求解时可用MATLAB的符号工具箱中的功能找到精确解。在本书的后面将介绍该工具箱的一些特点


在微分方程难以获得解析解的情况下,可以方便地在数值上求解为了说明起见,考虑描述振荡器的经典的范得波(Var der Pol)微分方程

与所有的数值求解微分方程组的方法一样,高阶微分方程式必须等价地变换成一阶微分方程组对于上述微分方程,通过重新定义两个新的变量来实現这种变换。

根据这个微分方程组可用MATLAB的函数ode23和ode45求出系统随时间变化的运动情况。调用这些函数时需要编写一个函数M文件,给定当前時间及y1和y2的当前值该函数返回上述导数值。MATLAB中这些导数由一个列向量给出。在本例中这个列向量为yprime。同样y1和y2合并写成列向量y。所嘚函数M文件是:

图13.9当mu=2时的范得波方程的运动曲线 to1)描述这里f_name是计算导数的M文件解析函数的充要条件字符串名,to是初始时间tf是终止时间,yo昰初始条件向量可选择的参数to1(缺省值to1=1e-3)是所需的相对精度。在上例中起始时间是第0秒,终止时间是第30秒初始条件为y=[1;0]。两个输出参數是列向量t和矩阵y其中向量t包含了估计响应的时间点,而矩阵y的列数等于微分方程组的个数(本例为2)且其行数与t相同。t中的时间点鈈是等间隔的因为为了保持所需的相对精度,积分算法改变了步长
函数ode45的使用与ode23完全一样。两个解析函数的充要条件差别在于必须与所用的内部算法相关两个函数都运用了基本的龙格-库塔(Runge-Kutta)数值积分法的变形。ode23运用一个组合得2/3阶龙格-库塔-芬尔格(Runge-Kutta-Fehlerg)算法而ode45运用组合的4/5阶龙格-库塔-芬尔格算法。一般地ode45可取较多的时间步。所以要保持与ode23相同误差时,在to和tf之间可取较少的时间步然而,在同一时间ode23每时间步至少调用f_name 正如使用高阶多项式内插常常得不到最好的结果一样,ode45也不总是比ode23好如果ode45产生的结果,对作图间隔太大则必须在更细的时間区间,对数据进行内插比如用函数interp1。这个附加时间点会使ode23更有效作为一条普遍规则,在所计算的导数中如有重复的不连续点,为保持精度致使高阶算法减少时间步长这时低阶算法更有效。正是由于这个原因电子电路分析按缺省,就用一阶算法编程并且最多提供二阶算法来解决暂态时间响应问题。此外通过对tol设置更小的值,要达到更高的精度没有必要使绝对误差更小。tol设置每时间步的相对精度不一定引起绝对误差减少。
总之不要盲目使用数值方法。对于给定的问题在决定最好的方法之前,要试一试各种可能的方法囿关微分方程数值解法的更进一步信息,请参考数值分析方面的书籍有些参考书还提供了一些关于算法选择和如何处理那些时间常数变囮范围大的病态方程的非

这里所介绍的《精通MATLAB工具箱》中的M文件可近似求解由采样值给出的解析函数的充要条件积分和微分。这里假定这些函数本身不存在且独立变量也许不是线性间隔。例如已装载到MATLAB中要分析的数据来源于实验测试。


对于所包含的数据缺乏函数描述囿许多种积分和微分的方法。如前所述人们可以用最小二乘多项式拟合数据,然后在多项式的描述上进行操作另一种方法是寻找数据嘚三次样条表示,然后运用《精通MATLAB工具箱》中的函数spintgrl和spderiv来分别寻找积分和微分的样条表示这里所介绍的方法提供了另一种更简单的方法。积分用梯形规则计算用加权中心差分计算微分。此外将函数设计成在矩阵形式下工作,矩阵的列代表各与自变量有关的因变量
正洳这章前面所述,MATLAB函数trapz计算在某有限区间的梯形积分这里我们寻找的积分是自变量为x的函数。即如果y=f(x)我们寻找:

在介绍上述解析函数嘚充要条件使用之前,考虑微分在这种情况下,人们感兴趣的就是刚给定数据点的近似斜率这里介绍一种下述的中心差分

图13.10 加权中心差分方法

而微分定性地证明了等式:

本节介绍的是关于解析函数的充要条件函数(function functions),这些函数是用来处理函数而非数值的;
fplot 画出函数 fminbnd 由一有范围限制的变量找出解析函数的充要条件最小值 fminsearch 由几个变量找出解析函数的充要条件最小值 fzero 找出解析函数的充要条件解(零值) 数值积分 quad 低阶数值估计积分 quad8 高阶数值估计积分 dblquad 二重积分 数值微分 见下一章
MatLab中用M文件来表示函数,设有如下函数:

他别表示为一称为hump.m的文件中:

可通过限制y轴来放大圖形

你也可直接在fplot()中传递表达式,如:

}


分离变量法用于求解偏微分方程囷边界条件都是线性齐次的情形


u的线性方程具有形式:
L(u)=f, 其中L是一个线性算子,f是已知的

在L(u)=f,中,如果f=0,则该方程称为齐次线性方程检驗一个方程是否为齐次方程最简单的办法就是,将恒等于0的函数带入如果满足,则为齐次方程

以上讨论同样适用于边界条件。一定要紸意分离变量法的使用条件

首先研究一维无热源问题,方程如下这是一个方程和边界条件都是齐次线性的问题,可以使用分离变量法求解


这里先不考虑初始条件。(2.3.4)必须满足2.3.1和2.3.2

将(2.3.4)带入(2.3.1),并在两段同时除以可以分离变量:
两边偠相等只能等于一个相同的常数。
其中λ是一个任意常数,称为分离常数。负号是为了方便才引入的,后面会解释。
这样,(2.3.7)衍生絀两个常微分方程一个是关于时间的不定常方程,一个是关于空间的
当G(t)=0, u(x,t)=0,它显然满足齐次方程,但是没多少意义这称为平凡解。我们偠寻找非平凡解因此,边界条件变化为:

先求解关于时间的不定常方程(2.3.9)这是一个常系数的一阶齐次线性常微分方程。几乎所有的常系数(线性和齐次的)常微分
方程都可以通过寻找指数形式G=ert的解来求解通过代换,特征多项式为r=?λk,因此得到方程(2.3.9)的通解为:
从这个式子我们发现,由于热传导问题的解不会随时间依指数增长因此,λ>=0这就显示了在分离常数中引入负号的方便の处。

乘积解中的?(x)满足带有两个齐次边界条件的二阶常微分方程:

没有简单的理论保证这类问题的解存在或解是唯一的叧外注意到?(x)≡0是上述方程的平凡解。幸运的是当λ去某些特殊值时,该方程还有非平凡解这些λ值称为特征值,对应的非平凡解?(x)稱为特征函数
这部分的详细介绍可以参照笔记“高阶线性微分方程”,这里简述如下:
寻求两个无关解从指数形式?=erx,得到特征多项式为r2=?λ解的性质与λ取值有关,有4种情况:
暂时忽略第四种情况(第5章会证明)

这里c2是任意常数通常为c2选择一个方便的值,例如1.不過应该记住任何特定的特征函数总可以用任意常数相乘,因为偏微分方程和边界条件都是线性和齐次的

为确定λ=0是否为一个特征值,需要应用齐次边界条件:
所以?=0这是平凡解。因此对于这个问题λ=0不是特征值

特征多项式的根为r=±?λ, 通解为
经常用双曲函数代替指數函数,双曲解析函数的充要条件定义为:
双曲解析函数的充要条件求导公式为:与三角函数类似但是没有负号
用双曲函数代替指数函數,通解变为:
为了确定是否存在负特征值再次使用边界条件。
从双曲图像看出对一个正变量,sinh不等于0因此c4=0
所以,λ<0不是一个特征徝

以上过程求得了?(x)G(t),以及对应的特征值下面可以写出乘积解形式:

如果u1,u2…un是一个齐次线性问题的解,那么这些解的線性组合仍然是该齐次线性方程的解所以,对任意有限M:
对于每个解振幅Bn都是不同的。现在考虑初值条件如果初始条件:
初始条件为合适的正弦解析函数的充要条件有限和,热传导方程是可以求解的通常当f(x)不满足该条件时,傅里叶级数理论指出
f(x)可以用正弦解析函數的充要条件有限线性组合逼近且M→∞, 无穷级数收敛于f(x)[对f(x)有一些限制]

(7)使用初始条件及特征函数正交性确定系数

以向量的观点看待函数,定义
若一个函数集中的每个元素都与其他元素正交则称之为正交函数集


正弦平方或余弦平方在一个全周期内的均值为1/2, 因此在正弦或余弦平方的任意多个全周期内的积分等于该区間长度的一半

利用奇偶函数特性,可知:(注意积分限的不同)

在初值函数两边乘以sinmπx/L,并从0到L积分得:

以上就是分离变量法的步骤应该理解而不是死记硬背。另外需要记住:

  • 对偏微分方程的解应用叠加原理不是累加不同常微分方程的解
  • 在使用叠加原理之后再應用初始条件。

在很多问题中这个具体的简单常系数微分方程

构成了边值问题的基本部分,现总结如下表需要注意,在这些情形中呮要λ=0是特征值,常数就是特征函数(在

可以看到使用叠加原理将非齐次边界条件转换为齐次边界条件


为了解决非齐次边界条件,对该非齐次应用叠加原理令
这样只要分别求解ui(x,y)即可。以u4(x,y)为例满足下列方程
可以看到,关于y的两个边界为齐次边界条件因此先求解y的,分離变量的:
对比表2.4.1引入分离变量λ(不是),求解得到:
λ代入h的方程得到通解:(为了求解齐次边界条件h(L)=0,使用了如下无关解)
由齊次边界条件得到a1=0
现在由非齐次条件求解系数:
利用正弦解析函数的充要条件正交性可以得到系数公式:


通过物理原因找到边界条件:
通過连续性可得:周期性条件
上面的边界条件中,只有u(a,θ)=f(θ)为非齐次边界条件 因此该问题适用分离变量法
带入PDE方程,为了能够分离变量兩边同时除以(1/r2)?(θ)G(r)得到:
这是引入分离变量λ(而不是),因为θ有两个齐次条件可以预计在θ内震荡。
通过表2.4.1得到特征值并且对于圓金属丝(L=π):
对应的特征函数有两个,即sinnθcosnθ
这时需要注意n=0也要包含在内对应一个常数特征函数。
因此通过分离变量法得到满足三个齊次条件的乘积解是:
从以上可以看到矩形及圆形区域内的拉普拉斯方程求解过程都是先从齐次条件入手,利用分离变量法求解部分乘積然后使用非齐次边界条件确定系数,最终得到通解

}

我要回帖

更多关于 解析函数的充要条件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信