科学网

 找回密码
  注册
科学网 标签 方程 相关日志

tag 标签: 方程

相关日志

图灵的生物情结(下)——发展生物学的全新纪元
yxgyylj 2017-12-19 04:20
笔者在上一期( 传送门 )中介绍了阿兰・图灵晚年的一些工作。在此之前,许多读者对图灵的固有印象或许是天赋异禀的数学家: 或许是高深莫测的密码专家: 或者是“压力并不大“的程序员: 但其实图灵在1950年发表了关于图灵测试 (Turing's Test,鉴别机器是否具有人类智慧一类方法) 的文章 后,就逐渐把工作重心转移到了生物学上,并在1952年发表了著名的文章《形态发生的化学原理》 ,并同时对数学、物理化学、生命科学等基础学科的发展产生了重大影响,并成为非线性和复杂性科学的一大理论基础。 在上一期( 传送门 )中,我们已经看到图灵这篇文章在数学、物理和化学领域的重大影响力。但其实图灵真正想做的是找到形态发生过程 (例如胚胎发育、骨骼形成、树干年轮的形成等等) 的共同机理,这可是属于 发展 生物学 (Developmental Biology) 的范畴,而非物理和化学!在生命科学迅速并且多元化发展的今天,各种新兴领域 (干细胞技术、表观遗传学、合成生物学、生物信息学、系统生物学等等) 迅速崛起,令人目不暇接;然而图灵的理论始终闪耀在不断喷涌的生命科学热潮中,并以其博大精深的理论基础依然指引着这股热潮的行进方向。 那么这篇文章对生命科学有哪些具体影响呢?我们来看看图灵,这位天才数学家和计算机专家是怎么研究生物问题的吧。 成型素的提出——无中生有 在上一篇文章中( 传送门 ) 如何从计算机专家一跃转化为实验科学家——首先,他考虑包含两种化学物质U和V的稳定系统 (不发生振荡) ,如果把化学物质放入一个小容器中 (小容器中的化学物质可看作是静止的) ,可想而知 , 生成物最终在容器中均匀分布,此时没有图案生成。 小插曲 这里的 图案 (Pattern) 可以从图像 角度 和数学 角度两方面 来理解: 1. 图像上,图案就是斑点、花纹、螺旋等有一定规律性的图像。 我们所见的百叶窗、被子上的花纹、小时候给同桌情书上的歪歪扭扭的笔迹等等,全都是图案。 形形色色的图案 2. 数学上,图案可以表示化学物质的浓度分布。也就是说,图案的生成本质上是由于化学物质分布不均造成的。 化学物质浓度的差异形成颜色不一的图案。图片来自文献 然后,他允许这两种物质发生 扩散 (Diffusion) ,也就是说,化学物质可以在容器中穿梭自如了。出人意料的是,图灵在实验中发现,若把U和V放入大一些的容器 (大容器允许化学物扩散) ,化学物质的扩散运动会使得反应平衡态变得不再稳定,继而产生不规则的图案!这个过程被称作 扩 散诱导的不稳定性 (diffusion-driven instability) ,以显示扩散在图案形成中的重要地位。 作为一位罕见的全才,图灵的脑回路自然既不同于爱钻牛角尖的传统数学家,又不同于成天泡在实验室里实验科学家——他基于自己的大量实验,大胆地将那两种化学物质U和V命名为 成形素 (Morphogen) 。成型素Morphogen这个单词的词根是morpho,也就是蓝色大闪蝶 ,morpho源于希腊语,意为“ 整洁的形状 ” 。有生物化学背景的读者知道,英文单词中-gen后缀表示某种物质的生成元或诱导元,例如糖原 (glucogen) 、有丝分裂素 (mitogen) 、胶原 (collagen) 等,于是 Morphogen被图灵用来表示“产生形状 (或图案) 的物质”。 图灵会通过不同的研究角度来验证他的理论,因此在他1952年发表了那篇脍炙人口的文章后,又把研究目光转向了向日葵的 叶序生成 (Phyllotaxis) 机理。可惜出师未捷身先死,图灵在此后便因为同性恋的缘故在英国监狱中饱受摧残,并在1954年吃下含有氰化钾剧毒的苹果自杀身亡。他在向日葵叶序方面的研究工作直到上世纪90年代才被公诸于众,事实上,向日葵叶序和斐波那契数列之间的联系最早出自于图灵之手。关于向日葵叶序的更多内容,笔者在《 花草茁壮于键盘之间 》一文中已有详细介绍。 向日葵叶序的形成动画。在《 花草茁壮于键盘之间 》中(文中包含Python代码),高富帅吴彦煮正是用靠这张图得到了校花韩梅梅的芳心 小插曲——辟谣 在上期文章中,一些读者评论说苹果公司的图标是用来纪念图灵的。不过经笔者验证,事实并非如此——无论苹果公司商标的设计者Janoff还是已故创始人乔布斯,都否认苹果商标和图灵有关 。Janoff在采访中说,之所以选择被咬过一口的苹果,是因为如果没被咬过,很多人会误认为是车厘子或其他带皮水果。 (笔者不得不承认,这段采访让苹果公司的神秘感下降不少) 丰富多彩的的生物形态 我们已经知道,成形素能够导致形态的生成。那么怎样用数学的语言去描述这一过程呢?图灵采用的数学工具是一种叫做 反应扩散方程 (Reaction-Diffusion Equations) 的二阶偏微分方程组来描述整个过程: 或许还有读者会产生质疑:生物界种类如此繁多,形态如此丰富,这个小小方程怎能胜任这么复杂的工作呢?事实上这和上述方程的右端项的多元性紧密相关。例如考虑负反馈机制的Gierer-Meinhardt (1979年) 方程、描述神经元膜电位变化的FitzHugh–Nagumo (1961年) 方程和描述糖酵解 (葡萄糖的吸收) 反应的Gray-Scott (1983年) 方程等。尽管上述方程被用于描述不同生物现象,但本质上都是反应扩散方程,唯一差别就在于右端各项的选取。 在图灵去世后,计算机科学逐渐发展,人们开始使用数值模拟的方法来研究各种各样的反应扩散方程。笔者以 Gray-Scott方程为例,来展示一下反应扩散方程的威力。 Gray-Scott 方程长这样 (左边是对应的抽象化学反应) : 方程中a和b表示U和V的生成/排出或消失速率。可别小看了a和b这两兄弟,他们联起手来是可以干出一番大事的。例如当a=0.55, b=0.62时,笔者通过matlab数值模拟得到: 像不像珊瑚礁的形成过程?如果把两兄弟变一变,让 a=0.0367, b=0.0649,就得到了: 细胞的分裂过程不就是这样么!看来Gray-Scott方程不仅能 描述糖酵解的反应过程,还能有许多令人意想不到的神奇应用!笔者 认为,上面两个模拟结果能在一定程度上解释为什么细胞分裂的次数总是有限的、为什么人吃得再多也不可能比大象还重。 上面两种形态都会在时间足够长时达到稳定。但如果让 a=0.018, b=0.051,图案就变的如少女心一般,让人难以捉摸了: 少女们邂逅吴彦煮时的内心写照 用数学语言,上面这种既无规律又不稳定的“形态”被称之为混沌 (Chaos) 。混沌在我们日常生活中非常普遍,只要是 不可预测不可控 的事物都可以和它扯上关系,例如蝴蝶效应 (可参考《 混沌理论到底是什么 》一文) 、湍流现象、三体运动和证券走势等等。不过奇妙的是,混沌在生物形态上几乎不会存在——尽管形态各异,但所有生物都遵循很多共同的规律,仿佛被事先编码好了一般。 这便是生命科学的独特魅力所在 。笔者会在以后的文章中娓娓道来,为读者解释生物世界中的这种“规律性”是怎么产生的。 成型素的发现——分子基础决定上层建筑 相信通过前两节,读者们已经体会到了图灵理论在生命科学领域的价值所在。但有一点值得注意——“成形素”毕竟只是图灵的猜测,当时并没有实验证据证明它的存在。事实上人们后来才发现,成形素会通过 调整基因的表达 来影响生物形态的。 不过由于图灵那个年代, DNA才刚刚被发现 ( 也是上世纪50年代才发现的) , 基因的概念还没深入人心 ,因此图灵的理论只是单纯地从化学物质出发,并没考虑到基因表达的关键作用。到了1969年,英国发展生物学家刘易斯·沃尔珀特 (Lewis Wolpert) 提出,成形素的浓度高低能激活不同的基因,从而导致生物形态的发生。这一模型被称为 法国国旗模型 (French Flag Model) : “法国国旗”的三种颜色——蓝白红,分别表示三种不同基因表达对应的产物 模型归模型,终究只是纸上之物。成形素的真正发现又要往后挪到在上世纪八十年代了。首种成形素是被德国女发展生物学家克里斯汀 (Christiane Nüsslein-Volhard) 在果蝇的胚胎形成过程中发现的,该 发现也使她获得1995年的诺贝尔生理或医学奖。 此后又有不少成形素被人们陆续发现,例如表皮生长因子、维A酸 (维生素A的代谢产物) 和各种β-转化生长因子 (TGF-β,在免疫系统中有非常关键而广泛的作用) 等等。成形素的发现也使得发展生物学正式进入分子层面。 近几十年来生物化学和分子生物学的迅速发展,把生命科学的不同分支相互串联了起来,发展生物学也不再是一门独立的学科。除了关注生物的形态发生,发展生物学还关心生物的生长、细胞的分化和器官自我修复等问题。从目前看来, 干细胞 (Stem Cell,具有高度分化的细胞) 技术是该领域最有应用前景的研究对象,它不仅能帮助我们更好地了解生命体本身,还是治疗各类疾病有力武器。限于篇幅,笔者会在以后的文章中继续讨论这一前沿技术。 干细胞是具有高度分化潜力的细胞,可以“变”成其他各种体细胞。图片来自网络 不仅仅是图灵——图案生成的其他思路 图灵的理论是基于化学反应而来的,最初用于解释生物形态的问题。事实上,关于图案生成 和形态发生 ,还有一些和图灵不同的描述思路,例如协同论和离散方法。 协同论 (Synergetics ) 是由德国物理学家哈肯 (Hermann Haken) 在上世纪80年代 首次提出的。物理学家的思路和数学家有所不同,哈肯的理论结合了基于著名苏联物理学家朗道的 序参数 (Order Parameter,原用于描述凝聚态现象) 理论和普利高津的 自组织 (Self Organization) 理论。哈肯把序参数的概念推广到整个自然科学,甚至社会经济学领域,但其中的数学本质是一样的,有兴趣的读者可以参考文献 。此外,由马天和汪守宏两位教授于2013年基于数学观点发展出的相变理论也主要基于朗道的序参数理论,有较大应用前景,可参考文献 。 朗道十一个非常神奇的物理学家,他写过十本很有影响力的的大学物理教科书 除了协同论,离散模型也被广泛应用于图案生成以及形态发生建模中,例如Pitts模型 (由描述铁磁体磁性相变的Ising模型发展而来) 和由 冯诺伊曼和 乌拉姆 (Stanislaw Ulam,蒙特卡洛方法发明者) 发展莱尔的 元胞自动机模型 (Cellular Automata) 。限于篇幅此处不再深入介绍,有兴趣的读者可以直接在网上搜集相关资料。 元胞自动机模型可被广泛应用于设计图案。上图来自Wolfram Mathworld 总结 本系列文章分为上下两篇,上篇比较详细地介绍了图灵的形态发生理论对数学、物理、化学 的深远影响,而本文则着重介绍这个理论对 生命科学的影响。或许到现在为止,不少读者已经深刻体会到:图灵不仅仅是数学家和计算机大师,更是一位全面的自然科学家! 虽然英年早逝,但为什么图灵能在有生之年做出如此丰富的伟大成就呢?其中一个很重要的原因在于,作为数学家,图灵会把更多的精力放在对实际生活的解释中,而 并不会过度拘泥于单纯数学上的证明和计算 (尽管他的这两个能力也是绝对顶尖的) 。 我们经过观察分析可以发现,他在计算机科学和人工智能领域的主要贡献是,创造了大量新概念和新范式 (Protocol) ,并运用数学语言的严谨性去描述这些新概念——比如图灵机、图灵测试、 λ计算以及本文中的成形素等,这些概念都是他通过结合实际生活中的大量实例而抽象出来的。这些概念其实并不难以理解,但图灵的不凡之处在于能 准确地把实际生活中的客观实例翻译为严谨的语言 ;而这些新概念因其严谨性和普适性,对后世的科技发展起到了大量的推动作用。 关于图灵在计算机科学领域的贡献,又有很多说不尽的话题了。未免话痨,笔者只好就此打住,并以一首诗作为结尾: 图灵之科学缘・其二 试管烧杯形各异,昼夜奔波图案齐。 方程 点墨似浅淡,慧眼捞针荆玉离。 成形素中何玄机?发展生物纵云梯。 科海泱泱恒明耀,任君沙狂或雷击。 图灵:1912-1954。图片来自维基百科 参考文献: Turing, A. M. Computing Machinery and Intelligence . Mind 59, no. 236 (1950): 433-60. http://www.jstor.org/stable/2251299. Turing, A. M. The Chemical Basis of Morphogenesis . Philosophical Transactions of the Royal Society of London B. 237 (641): 37–72 (1952). Walid Abid, Radouane Yafia, M.A. Aziz-Alaoui, Habib Bouhafa, Azgal Abichou, Diffusion driven instability and Hopf bifurcation in spatial predator-prey model on a circular domain , In Applied Mathematics and Computation, Volume 260, Pages 292-313, ISSN 0096-3003 (2015). https://en.wikipedia.org/wiki/Morpho. https://tinyurl.com/ybdu7cvv. https://tinyurl.com/y9wo9qvs. Wolpert L. Positional information and the spatial pattern of cellular differentiation . J. Theor. Biol. 25 (1): 1–47 (1969). H. Haken. Synergetics, an Introduction: Nonequilibrium Phase Transitions and Self-Organization in Physics, Chemistry, and Biology , 3rd rev. enl. ed. New York: Springer-Verlag (1983). H. Haken. Advanced Synergetics: Instability Hierarchies of Self-Organizing Systems and Devices . New York: Springer-Verlag (1993). Tian Ma and Shouhong Wang, Phase Transition Dynamics , Springer-Verlag, November, XX, 555 pp. 153 illus (2013). 欢迎大家关注我的公众号“科普最前线”(id:kpzqxyxg),对话前沿科学!每篇文章都由笔者亲自完成或修改,希望和大家一起交流! 二维码:
4594 次阅读|0 个评论
第一期,【开篇】把单摆振动方程弹给你听
woodymusic 2017-11-29 21:43
第一期:音频请点击此链接.mp3 或关注微信公众号:方程之声 一个奇怪的想法 突然萌发一个很奇怪的想法,把方程做成一把琴,应该是什么样子的。数学物理方程中有很多的解都是振荡的,它们被写成数学表达式让我们好理解,或画成曲线的形式使我们眼睛能看见,如果他能变成声音被我们听见,那是什么样的效果?于是便开了这个公 众号,分享各种来自方程的声音。 方程怎么会有声音? 声音的本质就是声波,是质点的振动。人耳能听见的频率为20-20000Hz。有些振动方程的解可能不在这个频带,但如果把频率人为地调到人的听阈范围,那么就可以听到了。不同的波形有不同的音色,所以不同方程造出的“琴”,它的音色也是不一样的。 故事从单摆开始 还记得当年的单摆吗?真的好久不见!记得在高中题库里,它被放在斜面上,火车里,月球上,电梯里,以及垂直下落的坏掉电梯里,受尽各种折磨。捡起单摆,给弹一弹它的声音,看看它有没有摔坏。 小振幅的单摆的控制方程是: amp;amp;amp;amp;amp;lt;imgamp;amp;amp;amp;nbsp;src=amp;amp;amp;amp;quot;https://pic1.zhimg.com/v2-647e4912ee475b3b96ab722a3ec12d5c_b.jpgamp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;data-rawheight=amp;amp;amp;amp;quot;42amp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;data-rawwidth=amp;amp;amp;amp;quot;96amp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;class=amp;amp;amp;amp;quot;content_imageamp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;width=amp;amp;amp;amp;quot;96amp;amp;amp;amp;quot;amp;amp;amp;amp;amp;gt; 它的解为 amp;amp;amp;amp;amp;lt;imgamp;amp;amp;amp;nbsp;src=amp;amp;amp;amp;quot;https://pic4.zhimg.com/v2-8b9e199d5feddd17e1e5bb085d05e7ff_b.jpgamp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;data-rawheight=amp;amp;amp;amp;quot;47amp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;data-rawwidth=amp;amp;amp;amp;quot;132amp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;class=amp;amp;amp;amp;quot;content_imageamp;amp;amp;amp;quot;amp;amp;amp;amp;nbsp;width=amp;amp;amp;amp;quot;132amp;amp;amp;amp;quot;amp;amp;amp;amp;amp;gt; 这是一个简谐振动,只有单一频率的纯音,它的音色非常的纯。(点击上面的音频可以听!) 是否记得这样的考题? 问题:一个单摆摆长为 l 固定在墙上,下方有一个钉子,钉子距离小球为 l /n,单摆的周期 请问单摆的音色? 答:这个摆动是由左右两侧的两种不同周期的简谐运动组合起来的。请听音频。随着随着钉子与小球的距离的减小,声音由“圆润”变得“扁平”。 可以看到随着钉子与小球的距离的减小,波形有如下变化。波谷变得“锋锐”。这个时候它不再是只有单一频率的振动,而是出现了很多谐频。 展望 方程能不能来造一把琴。這想法其实是一时的冲动!因为我好奇一维弦振动方程,二维水波、膜振动方程是什么声音?一些方程包含了非常复杂的非线性效应,比如奇异吸引子,那奇异吸引子是什么声音?我好奇架子鼓,钢琴、吉他、笛子、编钟的声音能不能用方程算出来?如果有一天能把它们组成一个乐队来演奏,应该是独一无二的乐队,这需要长期的坚持。所以我决定开这个微信公众号,取名为“方程的声音”。以后会利用周末的时间,为您分享“方程的声音”或者声学和音乐的一些小知识。如果您也感兴趣,请点击关注,也许这样我会把这件事情坚持下去! 欢迎关注“方程之声”微信公众号!
个人分类: 方程之声|4467 次阅读|0 个评论
牛顿与引力:这是什么力
热度 3 liu005777 2016-9-8 08:22
我想在这几点上应该取得了共识: ①引力是一个物体对另一个物体的作用,②引力发生在两个物体中心的连线上,③引力大小与物体的质量相关,④引力不存在超距作用,但与两个物体的距离相关,⑤引力不具即时性,但与时间相关。 除第五点牛顿没有明说外,其余四点都已经描述过,有的甚至描述了过多的内容。如果把牛顿所述的“疑问 31 ”算一条,则第五点也可以算作牛顿已经表述过,算是他“尚未发现的”内容。 力是什么?我记得 40 多年前所背教科书上的定义:力是产生物体运动状态改变的原因。现在百度上的定义是使物体获得加速度或形变的外因。其内涵都包括在力的作用下,物体的运动状态要发生改变。 引力当然是一种力。引力的数学表达式怎样?牛顿说不知道,其他人也没有给出完全符合牛顿要求的结果(先请忘掉后人所谓的万有引力公式)。但牛顿定义了牛二定律。牛顿还定义了引力产生在两个物体中心的连线上。 地球在太阳的引力作用下绕太阳旋转,月球在地球的引力作用下绕地球旋转,月球固然也受到了太阳引力的作用,否则,月球在地球运行的下一时刻要么被抛离地球要么被吸向地面。 现代科技发展使我们可以准确获得地—月、日—地间距,而牛顿和莱布尼茨发明的微积分方法则为我们提供了解决问题的方法。依据微积分法,可以求得距离随时间的变化关系,因而可以求得两者之间离开或靠拢时距离随时间变化的速度与加速度,再按照牛顿第二定律,则地球对月球的引力可求。以此类推,其他星体的所受引力可求。 以日 — 地 — 月三体为例,我们应该可以求得其引力公式。 建立日 — 地 — 月三者之间的关系如图 1 ,设地 — 月间距为 R ,时间为 t ,如果我们能够求出 d 2 R /d t 2 ,那么,就等于找到了月球绕地球运行的引力。其大小等于与月球的质量的乘积,即: m d 2 R /d t 2 。用公式表示如式( 1 ): 如果将月球抽象为地球系球面上的某一点,就可以取得下面的表达式(式( 2 )): 式中 , i 为不同情况的代表,包括牛顿未知的部分。也就是说,引力可能是一组力的合成,而不是哪一个单独的 力。 按照自然辩证法原理,这一思路逻辑上是清晰可行的,只要保证获得公式的逻辑推理过程不发生错误,所得公式便是可信的。即依据原理正确、推理过程正确,则结论可信。 按照图 1 ,先在三 点共面时讨论。 显然,只要知道 R , L , l , θ , 根据三角形余弦定理,建立 R 的关系式。 R 2 = L 2 + l 2 - 2 Ll cos θ ( 3 ) 由微分原理可求 d 2 R /d t 2 。 再将月球按质点进行绕地球自转情况,将所得进行立体关系转化,可以得到具有普遍意义的公式(式( 4 )): 将式( 4 )中 A 展开,即可以获得式( 5 )。 式( 5 )的右侧,包含太阳对地球的引力、太阳对月球的引力、偏转力、未知力。 有人已经做了这方面的探索,但不知道应该如何深入,其实,这种探索的本质就是向牛顿梦寐以求的引力方程迈进了一步。 一种简化后的表达式是这样的,见式( 6 )。 式 ( 6 )中 α 、 β 是地球上的 黄纬与黄经, ω 是地球公转角速度。 现在看来,基于式( 6 )为引力加速度方程,有这么几个问题需要考虑: 1 )引力与光强属性一致吗?依据是什么? 让我们心平气和地想一想,现如今如果有哪位博士生答辩时说引力与光强属性一致,台下马上有人会问“凭什么”——既没实验依据,也没理论依据,没有依据则完全是一种想象——把想象的东西当作事实或理论陈述未免属于一种歧视或傲慢。所以,牛顿引力中的“与距离的平方成反比”缺少说服力。 2 )引力是一个物体对另一个物体施与,被施与者围绕施与者运动,不围绕运行的物体间不存在引力作用,因此引力不具备万有性。说白一点,金星对月球不存在引力作用。 3 )宇宙大爆炸产生的效果是万物彼此间相互远离,因此宇宙中心对万物不存在引力作用,说白一点,宇宙中心产生的是与引力相反的膨胀力,否则如何解释红移? 4 )一个星系的中心存在着对星系内任何物质的引力作用,对星系外物质未必。 5 )所谓的万有引力公式只是后人根据牛顿的描述,简单机械地拼凑出来的公式,既不符合量纲检验,也缺乏时间因素。 及待掩卷,陷入长思,本文探讨是否引力? 如果 ……
个人分类: 随笔|6431 次阅读|2 个评论
表达水分循环的两个通用函数—降水的水汽来源分析(3.1)
zhangxw 2015-7-31 12:59
表达水分循环的两个通用函数 — 降水的水汽来源分析( 3.1 ) 张学文。 2015 , 7 , 28-31 本博客系列已经从降水的水汽来源的距离和论域内部蒸发在本区域的降水权重角度分别对降水来源问题做了分析。这种分析丰富了对水分循环的知识,有收获,但它们都是笼统地回答问题而没有能力具体告诉我们地球各地的情况究竟与分析的一般模型(公式,函数,列表)有多大的偏差。为了获得更细致的水分循环图像,就需要进一步细化水分循环的基本模型。 我们要求给出一种表达工具可以提供某处的蒸发去了那里?或者在本地的降水中有多少究竟来自地球的何处? 在科学上正确地提出问题有时比正确地解决问题更基础、更重要。 我们是否可以把前面看似笼统的问题提炼为对应的形式化的数学化的问题呢? 2006 年本人的一篇《大气水分循环方程》的文章为此提出了思路和数学的表达方式。哪里定义了两个函数:水分辐合函数和水分辐散函数。 水分辐合函数 C = C ( λ 0 , φ 0 , λ,φ ) 给出 本地 A (用经度 λ 0 ,纬度 φ 0 表示)的每单位降水量中(自然是气候平均意义下的)有 C 这么多的(权重、百分比)水分来自地点( λ,φ )处蒸发的水分。地点( λ,φ )不同,它对本地 A 的贡献不同,即 C ( λ 0 , φ 0 , λ,φ ) 值显然是经纬度的函数(各地蒸发对本地降水的每一份降水在理论上都有贡献)。 显然有 C 对地球各个经、纬度的积分 =1 ,即降水百分之百来自地球各地。水分辐合函数 C = C ( λ 0 , φ 0 , λ,φ ) 是表达各地的水分来源的数学工具。 水分辐散函数 D = D ( λ 0 , φ 0 , λ,φ ) 给出 本地 A (用经度 λ 0 ,纬度 φ 0 表示)的每单位蒸发量中(自然是气候平均意义下的)有 D 这么多的(权重,百分比)水分去了地点( λ,φ )处降落。地点( λ,φ )不同,它获得本地 A 的水分不同,即 D 值显然是经纬度的函数(本地蒸发对各地降水在理论上都有贡献)。 显然有 D ( λ 0 , φ 0 , λ,φ ) 对地球各个经、纬度的积分 =1 ,即蒸发的水分百分之百落在地球上。水分辐散函数 D = D ( λ 0 , φ 0 , λ,φ ) 是表达本地蒸发去向的数学工具。 以上内容还可以在《空中水文学初探》一书中得到说明。 在已经知道全球各地的蒸发量 E ( λ,φ ) 的情况下通过水分辐散函数 D = D ( λ 0 , φ 0 , λ,φ ) 可以把全球各地降水量计算出来(具体公式在下一个博客给出离散公式)。 或者在已经知道全球各地的降水量 R ( λ,φ ) 的情况下通过水分辐合函数 C = C ( λ 0 , φ 0 , λ,φ ) 把全球各地蒸发量计算出来 (具体公式在下一个博客给出离散公式 )。 即在这种数学公式表达下,各地的降水来源各地的蒸发去向都可以用公式表达得一清二楚。 这样我们就把各地降水的水分来源、各地蒸发的水汽去向在气候语言中用清楚的数学语言表达清楚了。当然如何获得者两个 4 元函数 D ( λ 0 , φ 0 , λ,φ ) , C ( λ 0 , φ 0 , λ,φ ) 是另外的难题。但是这样的函数使降水、蒸发、水分循环的内在联系获得了清楚的、形式化的表达。 好了,本博客就写到此,这里给的公式理论上回答了我们关于各地降水来源。蒸发去向的一般内在关系。我们在这里不多做说明了。 在下一个博客我们再设法简化问题,给出以上公式的可能解。
个人分类: 水分循环17|2649 次阅读|0 个评论
张学文博客访问量的曲线方程(140902)
zhangxw 2014-9-2 10:47
张学文博客访问量的曲线方程( 140902 ) 张学文 ,2014/9/2 今天把最近 3 年 , 即从 2011 年 7 月 1 日到 2014 年 9 月 2 日的每天早晨的我的科学网博客 http://blog.sciencenet.cn/home.php?mod=spaceuid=2024 的访问量做了个简单统计分析。发现访问量的逐步增加情况很好地符合二次多项式。其 R 平方值高达 0.9964. 下面是对应的图,公式 欢迎分析与评论。
个人分类: 统计、概率、熵、信息、复杂性.1.|3679 次阅读|0 个评论
代数几何小科普3:怎么知道方程(组)有解?
热度 5 mathlujun 2014-8-8 13:31
博主按:本文发表于善科网,今稍作修改,移至本博客。 我们在中学和大学时代涉及的很多数学内容都与方程(组)有关。解方程就像猜谜语。方程告诉你谜面,你则需要自己动脑筋寻求谜底--也就是求方程的解。遗憾的是,很多时候,我们根本无法确切地知道谜底。 在这种情况下,人们可以退而求其次,先判断方程是否有解。 一、求解的范围 在判断方程有无解之前,我们首先要明确自己求解的范围,否则这样的讨论是没有意义的。因为对于同样的方程,在不同的求解范围内,上述问题的答案可以不一样。这就好比每条谜语后面都要说明是猜什么东西。比如考虑方程 2x=1. 它在有理数范围内有解 x=1/2, 但是在整数范围内没有解 (因为1/2不是整数)。类似地, 二次方程 x 2 +x+1=0 在实数范围内没有解,但是在复数范围内却有两个不同解。 从历史的角度看,人类对于方程求解范围的限定是有一个逐步扩展的过程的。可能一开始人们主要关心方程的整数解和有理数解。初等数论中的不定方程主要就是讨论这类范围内的求解。通常来说,求方程的整数解和有理数解是很困难的,比如著名的费马猜想 X n +Y n =Z n , n2 断言该方程没有正整数解(X,Y,Z). 这个猜想被很多人--诸如欧拉、高斯等--讨论过,最后由外尔斯于1995年前后利用高深的数学工具和技巧才得以解决。以后我们将介绍一下这方面的有趣话题。 随着历史发展,求解的范围被允许扩展到实数。 这得归功于毕达哥拉斯学派,他们很早发现了√2 是无理数的事实。这个重要的发现显然对当时普遍的哲学观点构成了致命的冲击。 此后人们可以更从容地讨论一个实系数多项式方程 x n +a n-1 x n-1 +a n-2 x n-2 +...+a 1 x+a 0 =0 的求解问题。遗憾的是,这样的方程有可能没有实数解。 比如解二次方程(即n=2) 时, 如果遇到判别式小于0, 方程没有实根,只有两个虚根。以前人们采取的策略就是将这样的虚根简单地抛弃掉--这种令人担忧的做法或许在今天的中学里仍被采用, 因为当时的人无法坦然接受复数的概念。 现在我们已经知道,复数可以看成平面上的点或者平面上的向量。 有人试图从这类实现方式中去探寻更一般的“超复数”(比如格拉斯曼), 这就是后来我们大学里学到的n维向量空间理论的起源之一。 美中不足的是,高维向量一般没有实数或复数那样自然的乘法运算。 也有人用其他方式去构造更一般的“数”,比如哈密尔顿构造了四元数。然而这样的数无法满足乘法交换律。 在人们接受了复数之后, 方程的求解限制再一次被大大放宽。高斯证明了如下著名的结论---称为高斯代数学基本定理: “复系数多项式方程 x n +a n-1 x n-1 +a n-2 x n-2 +...+a 1 x+a 0 =0 恰好有n个复数根 (这里允许有重根)。” 这个结论告诉你很多事情。比如, 你无法指望通过对复数开根来得到“超复数”--超越复数范围的新“数”。从这个意义上说, 复数集合--称为复数域--是最大的数系了。复数域的这种性质叫做代数封闭性。 这里说一些题外话。 代数学基本定理并不是高斯第一个发现的。达朗贝尔在此之前就知道这个结论,但是没有给出正确严格的证明。 代数学基本定理有很多不同的证明,但是这些证明都不是纯代数的!事实上,这个定理本质上是拓扑的(也就是说它由某些几何性质所决定)。 方程求解的范围也可以朝着其他不同的方向发展。比如对于数论中的一些不定方程,人们可以引进所谓的 p-adic 数来扩大求解范围。 这里我们不再展开。 二、如何判断单变量多项式方程有解? 我们还是先考虑 多项式方程 x n +a n-1 x n-1 +a n-2 x n-2 +...+a 1 x+a 0 =0 (*) 的解。 如果我们是在复数范围内讨论它,那么高斯代数学基本定理已经告诉了你存在n个解--尽管你还是求出不解。现在我们暂时把目光集中在实数解上。 对于次数不超过4的方程, 人们可以寻求精确的求解公式来了解有多少解是实根。但是对于次数大于4的方程,问题就来了。 阿贝尔和伽罗华两位天才的工作告诉人们,一般说来此时的方程没有求根公式。 找不到精确的根,不代表我们无法判断根的存在性。数学的一大魅力在于,我们可以通过某些间接的方式来证明某些东西是存在的--称为存在性证明。 比如利用连续函数的介值定理,人们可以轻松断言“上面的方程的次数n如果是奇数的话,则必有一个实根存在。 ”这个结论完全不能帮助你找到精确的实根,但是却奇妙地确认了实根的存在性! 顺便说一下, 利用这个结论,人们可以证明高斯代数学基本定理。前面我们说,高斯这个定理不可能是纯代数的。在这个证明中, 非代数的部分就是上面的介值定理--它实际上是拓扑的。 研究方程 (*)的实根往往是很困难的。 比如在一个给定区间内,是否存在实根?有多少实根?等等。 数学家斯图谟给出了一种很漂亮的方法,可以确定实系数方程(*)在给定区间内的实根个数。 有兴趣的读者可以去了解一下(比如下图的书)。 三、如何判断二元多项式方程有解? 现在我们可以考虑两个变量的方程 f(x,y)=0. 这里 f 是关于 x,y 的多项式。 如果你在复数范围内求解 (x,y), 你会得到无数的解! 这是因为你任取一个复数 $y$, 上面的方程是关于 $x$ 的一个单变量多项式方程。高斯代数学基本定理告诉你这样的x总是存在。 这样的解(x,y)在复数坐标系下构成的集合是一个几何图形--叫做“代数曲线”。根据上一篇文章的讨论, 这个“代数曲线”其实是实四维空间中的一个曲面。我们之所以把它叫曲线,只是因为我们习惯上把它类比成该方程在实坐标平面上所描绘的曲线。 代数曲线是代数几何中最基本的几何对象。如果你们把它想象称四维空间中的曲面,那么它们的形状基本上就是气球或者带有若干个“洞眼”的救生圈。 以后我们将专门介绍它们,比如其中最著名的三次曲线 y 2 =x 3 +ax+b. 假如我们把求解放在实数范围内呢? 那么问题将变得极其复杂。可能方程会没有实数解,例如 x 2 +y 2 +1=0. 也可能仅有一个解, 例如 x 2 +y 2 =0 仅有实数解(x,y)=(0,0). 当然,方程的也可能有无穷多个实数解,这些解描绘了平面上的若条曲线分支。这些曲线分支中,有一些是闭合的--就是说自己围成一个圈,有一些不闭合。一个有趣且非常困难的问题是“到底有多少个闭合的曲线分支”?关于这方面的研究只有零星的结果。 如果我们再缩小解的范围到有理数上呢?这就差不多是数论所关心的范畴了。问题的困难程度也进一步上升。一个有趣的初等结论是“一次和二次有理系数方程 f(x,y)=0 有无穷多个有理数解。” 我们甚至可以精确求出这些解。 比如, 单位圆周 x 2 +y 2 =1 的所有有理解可以表述为 x= 2t/(1+t 2 ), y=(1-t^2)/(1+t^2), t∈Q∪∞ 这个通解实际上是从解析几何初等方法推出来的,并没有用到太多数论知识。 利用这个结果,你可以很容易得到勾股方程 X 2 +Y 2 =Z 2 的全部整数解(X,Y,Z). 我们以后会在另一文章中介绍。 对于三次方程 y 2 =x 3 +ax+b, a,b∈ Q, 求解有理数解是个让人非常着迷的问题。费马很早就关心过这类问题。我们现在知道的同余数问题、费马猜想、BSD猜想等等难题都与此有关。 此时,这些有理数解构成的集合上可以引入一种类似“加减法”的运算,它们满足常见的交换律、结合律等。因此你可以通过相“加”两个有理解得到第三个有理解(允许相同)。莫代尔的著名定理告诉你:你可以寻找有限个有理数解,它们通过加加减减就能得到所有的有理数解。关于这方面还有许多有趣的性质,我们以后再详细介绍。 一般说来,很多三次有理系数方程会有无穷多个有理数解,当然也有一些只有有限个有理解。如何判断有多少解是很难的问题。对于更高次的有理系数方程来说,有个著名的定理显示,只要这个方程描述的代数曲线满足一定的几何条件,它就最多只有有限个有理数解。限于篇幅,我们这里不再展开。 最后我们把求解范围限制到整数上。这基本上已经达到了数论问题的困难极限了。 一般说来,没有什么固定的方法可以让你有效判断方程有无整数解。 除非一些特殊情形。 比如初等数论里研究的佩尔方程 x 2 -d y 2 =1 或者二次剩余问题 x 2 -py=q 它们的方程分别对应平面上的双曲线和抛物线。 佩尔方程的经典求解方法是使用连分数,二次剩余问题则涉及到经典数论中最出色的理论--高斯二次互反律。以后我们将会讨论这些有趣的话题。 上面的这些讨论也可以推广到多元多项式情形。这样的方程会在高维空间中描述一个几何图形,通常称为超曲面。这也是代数几何研究的主要对象之一。 四、如何判断二元多项式方程组有解? 假如我们关心方程组 f(x,y) =0, g(x,y) =0. 的复数解,又会出现一系列有趣的问题(f,g是多项式, 没有公因子)。 通过一些多项式的加减乘除,我们可以把x消掉, 从而得到一个关于 y的多项式(里面不出现x)--称为结式. 原始方程的解显然也满足y的这个方程。根据高斯代数学基本定理,这样的y至多只有有限个。同样地,我们也可以类似说明x最多只有有限个,因此原始方程组的解只有有限个。 几何上看,这两个方程分别描述了两条平面曲线,而两条曲线通常只能相交有限个点。有个贝祖定理说,这样两条曲线的交点个数恰好就是两个多项式的次数之积deg f ·deg g. 如果我们稍稍改变一下上面的方程组, 考虑 f(x,y) =u, g(x,y) =v. u,v是参数。 利用隐函数定理,我们可以得到它的一组参数解 x =φ 1 (u,v), y =φ 2 (u,v). 一个有趣的问题是:什么时候 φ 1, φ 2 会是u,v的多项式?这就引出了著名的雅可比猜想: φ 1, φ 2 是多项式的充分必要条件是如下的雅克比行列式是非零常数! 这个猜想也有更一般的形式。但即使是上述二元情形也未得到证明。张益唐曾经也考虑过这个问题,可惜没有成功。 五、如何判断多元多项式方程组有无解? 一般形式的方程组如下: f 1 (x 1 ,x 2 ,...,x n )=0, f 2 (x 1 ,x 2 ,...,x n )=0, .................. f r (x 1 ,x 2 ,...,x n )=0 这个方程组有n个复数变量 x 1 ,...,x n . 它的解集是高维空间中的几何图形--叫做代数簇。这就是代数几何要研究的东西。 根据前面二元方程组的讨论,你肯定会想到,如何通过消元,来逐步降低方程中的变量个数。当然这个计算量是很大的。 我们只关心如何判断有没有解的问题。 希尔伯特给出了如下著名的定理--称为希尔伯特零点定理: 上述方程组不存在解的充分必要条件是:你可以找到一些多项式 a 1 ,...,a r , 使得 a 1 f 1 +a 2 f 2 +...+a r f r =1. 这个定理看上去好像不具有可操作性,即无法实际判断那样的 a i 是否存在。其实不然,因为有研究发现,可以让那些 a i 的次数控制在一个具体的范围之内。这样,你只要用待定系数法,就能判断它们是否存在了--这个工作显然可以交给计算机去执行。 希尔伯特定理可以说是代数几何最基本的定理之一。它的一个特殊情形,其实 早在大学时代所学的高等代数出现过了:那就是线性方程组是否有解的判定条件。
个人分类: 科普|19161 次阅读|7 个评论
为儿子讲解椭球和椭圆方程
jlpemail 2014-6-4 12:52
昨天,有感而发,为中学学生讲说椭圆和椭球方程: x²/a²+y²/b²=1 x²/a²+y²/b²+z²/c²=1 起因是,发现有作者把二次方程的椭球公式,写成了四次 的.
个人分类: 读书笔记|6706 次阅读|0 个评论
过年了,搞几个小游戏----闲谈中医(二)
热度 4 rongqiaohe 2013-2-14 12:02
解二元一次方程 以下是一个简单的二元一次方程: 如果用“阴”代替 x,用“阳”替代 y 则:方程可以写成如下形式,并且可以得到相同的结果: 通过以上的替换,我们可以理解,阴、阳是对复杂事物的抽象和替代,就像数理化中的 x、y 一样。 疾病的症候群 如果我们将病人的症候群用 a, b, g, d, w 五种组合来替代, 如 d 包含:高烧、面色潮红、心跳加速、高血压、急躁、烦躁等等。 分别用 a, b, c, d, e, f...代替高烧、面色潮红、心跳加速、高血压、急躁、烦躁等等 则有: d 的组合关系。 还可以分别将不同疾病的征候群,分别由 a, b, g, w 来定义。症候群之间有如下的关系: 即:高热与寒战相对应,高血压与尿少相对应,烦躁与注意力分散相对应等等。各种症候群之间相互作用,相互联系,相互转换,这是一个复杂系统,各个因素之间相互关联。 同时,将各种药物按照 a, b, g, d, w 进行分类,有针对性地治疗 a, b, g, d, w 相关症候群。这样就治疗了疾病。 如针对 d 症候群的组合,有:a, 退烧药;b, 收缩血管药;c, 调节心动过速的药;d, 降压药;e, 镇静药;f, 调节神经系统的药,...] 换字练习 如果用金、木、水、火、土分别代替 a, b, g, d, w ,则存在下述关系图: 其中有:火 的组合关系。 如针对 火 症候群的组合,有:a, 清火药(退烧药);b, 收敛药等(收缩血管药);c, 降阳补阴等药(调节心动过速的药);d, 降阳调理药等(降压药);e, 调痰药等(镇静药);f, 调理肝经等药(调节神经系统的药),...] 通过换字联系,我们明白了,原来“金、木、水、火、土”仅仅是不同疾病症候群的代表与组合。为什么写成“x,y,z”我们就接受,而写成“金、木、水、火、土”就不认识了呢? 其实,中西医的根本差别,前者辨症,后者辨病。 中医比西医更容易实现现代化医疗 以上是对中医理论基本思路的一种猜测和比喻。如果仔细研究“中医理论”,就会发现,几千年的中医理论通过无数病例的统计,组合与归类,更有可能实现智能化和现代化;更有可能实现自动化、网络化、远程化和个性化治疗。如果对不同脉象、痰征、苔征等等通过现代信息技术进行统计、分析、让计算机来识别各种症状,是否可以实现比西医更为现代化的医疗系统? 将西药纳入中医理论体系实现个性化治疗 为什么不可以按照中药的功效对西药进行分类呢?比如:青霉素属于清热解毒药,胰岛素属于补阴去湿药等等。。。将西药纳入中药理论的范畴,按照中医理论处方西药,根据中医辨症,根据不同的情况使用西药与中药。是否可以解决中医急症治疗相对较慢的问题呢? 在此作者声明,我只是非常片面和浅显地做了一个游戏,远远没有把祖国传统医学理论搞懂。敬请各位谅解! 大过年了,仅仅玩笑而已。 祝愿各位幸福安康!
个人分类: 浅谈|5125 次阅读|7 个评论
不可压缩 Navier-Stokes 方程的正则性和衰减性
热度 5 yxhan2006 2012-7-28 18:43
这是2011年5月在中科院数学与系统科学研究院青年午餐会上做的关于不可压缩 Navier-Stokes 方程的一个简短报告,题目:不可压缩 Navier-Stokes 方程的正则性和衰减性。现在将原文的PDF文件以附件上传的方式贴出来,希望大家感兴趣。注:以附件上传的方式可以把所有数学公式保留下来。 青年报告2011.05.pdf
2253 次阅读|5 个评论
不可压缩 Navier-Stokes 方程
热度 2 yxhan2006 2012-6-26 13:57
下面是本人在2011年5月应邀在中科院数学与系统科学研究院青年午餐会上做的关于不可压缩 Navier-Stokes 方程的一个简短报告,现在贴出来和大家交流共享一下。注:原文中由Latex编译产生的大量数学公式在下面的叙述中省略了。 Navier-Stokes 方程的背景和问题 Navier-Stokes 方程是描述粘性不可压缩流体动量守恒的运动方程,反映了粘性流体(又称真实流体)流动的基本力学规律,在流体力学中有十分重要的意义。自然界中大量的流体模型,诸如具有热传导效应的流体动力学模型、磁流体动力学模型、海洋动力学模型以及描述血液流动的管道流的数学模型,其主部均为Navier-Stokes方程。Navier-Stokes方程是当今非线性科学研究中的重点和热点问题,其研究现已成为非线性偏微分方程、数值分析和动力系统研究的推动力量,该方程本身不能做任何的改动,研究起来有极大的困难。Navier-Stokes方程的研究已有一百多年的历史,很多世界一流数学家,如 Leray, Lions, Serrin, Nirenberg, Caffarelli, Fefferman 等都深入地研究过该方程,获得了很多深刻的结果。 2000年, 美国克莱数学研究所的把Navier-Stokes方程是否存在光滑的整体解列为七个``千禧难题"(又称世界七大数学难题)之一。 研究的内容和结果 长期以来, Navier-Stokes 方程的研究一直受到人们的广泛关注. 但是对 Navier-Stokes 方程的真正的数学理论研究始于 20 世纪 30 年代。 法国数学家 Leray 1934 年在他的开创性工作中构造了三维 Navier-Stokes 方程的一类整体弱解。后来,德国数学家 Hopf 也对该方程的弱解进行了研究,所以 Navier-Stokes 方程的弱解通常也称之为 Leray-Hopf 弱解. 但迄今为止,弱解的唯一性和正则性,即强解的整体存在性,仍然是一个极具挑战性的问题.著名数学家 Fefferman 2006 年 专门为这个问题作了介绍和评论.他断言,如果没有新的分析工具和数学思想,这个难题是很难完全解决的.但目前仍有一大批数学家们一直对这个难题进行着不懈地探讨和研究. 中科院数学院国家数学交叉中心把 Navier-Stokes 方程列为一个重要的研究对象:“研究三维不可压缩Navier-Stokes方程光滑解的整体存在性和稳定性,为航空航天飞行器外形气动布局、气候异常环流解、海洋层流的运动等科学问题研究提供理论基础”。 正则性 Prodi (1959), Ohyama (1960), Serrin (1962), Sohr--von Wahl (1986) 和 Struwe (1988) 对三维 Navier-Stokes 方程的弱解建立了正则性准则, 很多年之后, Eskauriaza-Seregin-Sverak (2003) 证明了端点指标情形。Eskauriaza-Seregin-Sverak 在建立正则性的过程中,所用的创新方法主要是Harmonic 函数的性质和两个重要的引理:不需要边值条件Backward uniqueness和连续性方法。Caffarelli-Kohn-Nirenberg 在 1982 年证明了一个较深刻的结果:首先他们给出一类适当弱解的定义并在有界区域上证明了这类整体适当弱解的存在性。特别证明了这类适当弱解的时空奇异点集的一维 Hausdorff 测度为零. 此后,林芳华教授在 1998 年利用调和函数的性质证明了同样的结果. Constantin--Fefferman 在1993 年从物理和几何的角度给出了另一个较深刻的正则性结果。此外,如果弱解的部分分量在在适当的函数空间内,Yong Zhou(2005, 2007,2010)建立了一系列的有趣的正则性结果。 衰减性 在全空间情形下,Heywood (1980), Schonbek (1991, 1992, 1996), Wiegner (1987, 1994) 等人系统地研究了 Navier-Stokes 方程的整体解及其关于空间变量的导数的大时间衰减估计;Borchers--Miyakawa (1988, 1990), Kozono--Sohr (1996),Cheng He (2003, 2006, 2009) 等人在半空间、外区域情形下系统地研究了时间的衰减估计. 本人近几年(2011, 2012)对Navier-Stokes 方程的整体解在端点空间中的衰减性建立了一些结果。
3346 次阅读|3 个评论
方程与初值边界条件的协调性
肖建华 2012-3-26 17:34
方程与初值边界条件提法上的协调性是非常重要的。但是,大多数论述是从数学上解的存在性、唯一性、稳定性上说的。 在物理上、力学上如何理解呢?典型的如电磁场方程,给出了法向的连续性条件就不能再给出切向的条件,只能任其为任意(不管它)。等等,很多此类“技巧”。 其中隐蔽的东西是:还有某些效应没有考察进来。其实,更为明显的问题是:如果要求多个物理定律都得到满足,则无解。因此,选择那些定律,而又放弃那些定律还是很有讲究的,当然这取决于实际问题。如果没搞对,也就解决不了问题。 对一个特定的具体问题,只不过是考查它的抽象提法,就迫不及待的拿所有的定律都试一下,把各种可能的 初值边界条件提法都来一遍,顺带的,把各种算法也来一遍,由此而形成的论文占已发表论文的主体。这可不是夸大其词。 这种现象能迷惑刚入门的研究工作者,但是,最难被迷惑的是面对 具体问题(实际问题)的工程师。 作为工程师,他希望看到的是能解决具体问题(实际问题)的路数,而不是被某些定律束缚,但是,肯定要得到某些定律的支持,但他决不会犯要求满足所有定律的错误。因而,工程上的大多数问题在于某些特定规律在起作用,但决不会是全部定律。 换句话说, 面对 具体问题(实际问题),无法把规律全套上去,只能选择出必须满足的,而隐蔽的认为有的定律得不到满足。 研究人员与工程人员在这个根本点上的差别是明显的。但是,要克服却是很困难的。 现在很清楚的是:如果克服不了这个困难,那么研究归研究,问题归问题。而这正是我国科学技术领域表现最为突出的问题。 因而,判定 方程与初值边界条件提法上的协调性的标准应该是以 具体问题(实际问题)为参照,而不是以理论本身为参照。 可悲的是,如果你以具体问题(实际问题)为参照,而不是以理论本身为参照来写论文的话,十有八九会被审阅者认为是违反某某规律而退稿。 反之,如果你以理论本身为参照来写论文,而又对具体问题(实际问题)做出客观评价的话,很可能形成矛盾,十有八九会被审阅者认为是没有应用价值而退稿。 事实上,这两类退稿是常见的。因而,很多论文的作者是:以理论本身为参照来写论文,对解决具体问题(实际问题)做出“有利”的评价。此类论文最好刊登。 这个路数在欧美已经流行了近 30 年,在我国也很是流行,大有后来居上的趋势。 因而,如果能够客观的看待学术期刊上登出的铺天盖地的论文,而保持一个客观的态度,看出问题的本质,则有所作为是必然的。反之,完全被动的被这类论文所牵引,也就只能是:每一次都差一点儿。 我国的科研大军被动就被动在这一点上。而这一点的根本又归结为何种因素呢?对基础科学理论的生吞活剥,而不是消化吸收(理解)。在基础科学理论方面出成果很难,但是,要撇开基础科学理论方面的素质出成果也是很难的。 只有一种“成果”很容易取得:对一个特定的具体问题,只不过是考查它的抽象提法,就迫不及待的拿所有的定律都试一下,把各种可能的 初值边界条件提法都来一遍,顺带的,把各种算法也来一遍。但是,这几乎没有任何价值。 劳而无功的事情大家反而热衷。这就是全球学术界的总体面貌。
个人分类: 生活点滴|3258 次阅读|0 个评论
方程本天成 妙手偶得之
wangxiong868 2012-3-18 15:20
人可以写出方程 但很难完全理解方程 科学史上 往往如是 方程是上帝创造的 我们不过是偶然得到 方程本天成 妙手偶得之 我不奢求一下子完全懂得方程 只要能写出 足矣
1111 次阅读|0 个评论
[转载]copy
haixia 2012-3-5 14:37
光子晶体与常规的晶体虽然有相同的地方,也有本质的不同,如光子服从的是麦克斯韦(Maxwell)方程,电子服从的是 薛定谔方程 ;光子波是矢量波,而电子波是标量波;电子是自旋为1/2的费米子,光子是自旋为1的玻色子;电子之间有很强的相互作用,而光子之间没有。
1562 次阅读|0 个评论
与其相信实验 我更相信美妙的方程
热度 1 wangxiong868 2012-2-24 20:09
这种事情我见得多了 实验是人做的,人难免犯错误,实验就难免犯错误,这些都很正常 而方程是上帝写的, 你说该更相信哪一个 哈哈
1329 次阅读|1 个评论
[转载]结构方程
ivymissjlu 2012-2-19 16:08
结构方程模型(Structural·Equation·Modeling,SEM) 结构方程模型是社会科学研究中的一个非常好的方法。该方法在20世纪80年代就已经成熟,可惜国内了解的人并不多。“在社会科学以及经济、市场、管理等研究领域,有时需处理多个原因、多个结果的关系,或者会碰到不可直接观测的变量(即潜变量),这些都是传统的统计方法不能很好解决的问题。20世纪80年代以来,结构方程模型迅速发展,弥补了传统统计方法的不足,成为多元数据分析的重要工具。 结构方程模型的优点 (一)同时处理多个因变量   结构方程分析可同时考虑并处理多个因变量。在回归分析或路径分析中,就算统计结果的图表中展示多个因变量,其实在计算回归系数或路径系数时,仍是对每个因变量逐一计算。所以图表看似对多个因变量同时考虑,但在计算对某一个因变量的影响或关系时,都忽略了其他因变量的存在及其影响。 (二)容许自变量和因变量含测量误差   态度、行为等变量,往往含有误差,也不能简单地用单一指标测量。结构方程分析容许自变量和因变量均含测量误差。变量也可用多个指标测量。用传统方法计算的潜变量间相关系数,与用结构议程分析计算的潜变量间相关系数,可能相差很大。 (三)同时估计因子结构和因子关系   假设要了解潜变量之间的相关,每个潜变量者用我个指标或题目测量,一个常用的做法是对每个潜变量先用因子分析计算潜变量(即因子)与题目的关系(即因子负荷),进而得到因子得分,作为潜变量的观测值,然后再计算因子得分,作为潜变量之间的相关系数。这是两个独立的步骤。在结构方程中,这两步同时进行,即因子与题目之间的关系和因子与因子之间的关系同时考虑。 (四)容许更大弹性的测量模型   传统上,我们只容许每一题目(指标)从属于单一因子,但结构方程分析容许更加复杂的模型。例如,我们用英语书写的数学试题,去测量学生的数学能力,则测验得分(指标)即从属于数学因子,也从属于英语因子(因为得分也反映英语能力)。传统因子分析难以处理一个指标从属多个因子或者考虑高阶因子等有比较复杂的从属关系的模型。 (五)估计整个模型的拟合程度   在传统路径分析中,我们只估计每一路径(变量间关系)的强弱。在结构方程分析中,除了上述参数的估计外,我们还可以计算不同模型对同一个样本数据的整体拟合程度,从而判断哪一个模型更接近数据所呈现的关系。 三种分析方法对比   线性相关分析 :线性相关分析指出两个随机变量之间的统计联系。两个变量地位平等,没有因变量和自变量之分。因此相关系数不能反映单指标与总体之间的因果关系。   线性回归分析 :线性回归是比线性相关更复杂的方法,它在模型中定义了因变量和自变量。但它只能提供变量间的直接效应而不能显示可能存在的间接效应。而且会因为共线性的原因,导致出现单项指标与总体出现负相关等无法解释的数据分析结果。   结构方程模型分析:结构方程模型是一种建立、估计和检验因果关系模型的方法。模型中既包含有可观测的显在变量,也可能包含无法直接观测的潜在变量。结构方程模型可以替代多重回归、通径分析、因子分析、协方差分析等方法,清晰分析单项指标对总体的作用和单项指标间的相互关系。   简单而言,与传统的回归分析不同,结构方程分析能同时处理多个因变量,并可比较及评价不同的理论模型。与传统的探索性因子分析不同,在结构方程模型中,我们可以提出一个特定的因子结构,并检验它是否吻合数据。通过结构方程多组分析,我们可以了解不同组别内各变量的关系是否保持不变,各因子的均值是否有显著差异。”   目前,已经有多种 软件 可以处理SEM,包括:LISREL,AMOS, EQS, Mplus. 结构方程模型假设条件   · 合理的样本量(James Stevens的Applied Multivariate Statistics for the Social Sciences一书中说平均一个自 变量大约需要15个case;Bentler and Chou (1987)说平均一个估计参数需要5个case就差不多了,但前提是数据质量非常好;这两种说法基本上是等价的;而Loehlin (1992)在进行 蒙特卡罗模拟 之后发现对于包含2~4个因子的模型,至少需要100个case,当然200更好;小样本量容易导致模型计算时收敛的失败进而影响到参数估计;特别要注意的是当数据质量不好比如不服从正态分布或者受到污染时,更需要大的样本量)   · 连续的正态内生变量(注意一种表面不连续的特例:underlying continuous;对于内生变量的分布,理想情况是联合多元正态分布即JMVN)   · 模型识别(识别方程)(比较有多少可用的输入和有多少需估计的参数;模型不可识别会带来参数估计的失败,我就吃过这个亏)   · 完整的数据或者对不完整数据的适当处理(对于缺失值的处理,一般的统计软件给出的删除方式选项是pairwise和listwise,然而这又是一对普遍矛盾:pairwise式的删除虽然估计到尽量减少数据的损失,但会导致协方差阵或者相关系数阵的阶数n参差不齐从而为模型拟合带来巨大困难,甚至导致无法得出参数估计;listwise不会有pairwise的问题,因为凡是遇到case中有缺失值那么该case直接被全部删除,但是又带来了数据信息量利用不足的问题——全杀了吧,难免有冤枉的;不杀吧,又难免影响整体局势)   · 模型的说明和因果关系的理论基础(实际上就是假设检验的逻辑——你只能说你的模型不能拒绝,而不能下定论说你的模型可以被接受) 1 什么是结构方程模型? 结构方程模型是应用线性方程表示观测变量与潜变量之间,以及潜在变量之间关系的一种多元统计方法,其实质是一种广义的一般线性模型。 • 結構方程模式 (Structural Equation Models ,簡稱 SEM) ,早期稱為線性結構方程模式 (Linear Structural Relationships ,簡稱 LISREL) 或稱為共變數結構分析 (Covariance Structure Analysis) 。 • 主要目的在於考驗潛在變項 (Latent variables) 與外顯變項 (Manifest variable, 又稱觀察變項 ) 之關係,此種關係猶如古典測驗理論中真分數 (true score) 與實得分數 (observed score) 之關係。它結合了因素分析 (factor analysis) 與路徑分析 (path analysis) ,包涵測量與結構模式。 • 1.1 介绍潜在变量与观察变量的概念 • ( 1 )很多社会、心理研究中所涉及到的变量,都不能准确、直接地测量,这种变量称为潜变量,如工作自主权、工作满意度等。 • ( 2 )这时,只能退而求其次,用一些外显指标,去间接测量这些潜变量。如用工作方式选择、工作目标调整作为工作自主权(潜变量)的指标,以目前工作满意度、工作兴趣、工作乐趣、工作厌恶程度(外显指标)作为工作满意度的指标。 • ( 3 )传统的统计分析方法不能妥善处理这些潜变量,而结构方程模型则能同时处理潜变量及其指标。 ( 4 )书上第 7 页 观测变量:能够观测到的变量 ( 路径图中以长方形表示 ) 潜在变量:难以直接观测到的抽象概念,由测量变量推估出来的变量(路径图中以椭圆形表示) 内生变量:模型总会受到任何一个其他变量影响的变量(因变量;路径图会受到任何一个其他变量以单箭头指涉的变量 外生变量:模型中不受任何其他变量影响但影响其他变量的变量(自变量;路径图中会指向任何一个其他变量,但不受任何变量以单箭头指涉的变量) 中介变量:当内生变量同时做因变量和自变量时,表示该变量不仅被其他变量影响,还可能对其他变量产生影响。 内生潜在变量:潜变量作为内生变量 外生观测变量:外生潜在变量的观测变量 外生潜在变量:潜变量作为外生变量 外生观测变量:外生潜在变量的观测变量 中介潜变量:潜变量作为中介变量 中介观测变量:中介潜在变量的观测变量 1.2 介绍测量模型与结构模型的概念 (书上第 9 页) • 1.3 模型检验方法(书上第 2 、 3 页) • EFA • CFA • 探索式 (data-driven) • 验证式 (theory-driven) • 因素个数由资料决定 • 因素个数由研究者指定 • 问卷设计的前端 • 问卷应用的后端 • PCA 是常用的估计法 • ML 法是常用的估计法 • 只提供标准化结果 • 提供标准及非标准化结果 • 没有 loading 显著性报告 • 有 loading 显著性报告 • EFA 无法做额外的设定 • CFA 模型设定有弹性 • 无法执行跨群组比较 • 可执行跨群组 ( 时间 ) 的比较 • 因子分析法 因子分析法(Factor Analysis Method) 什么是因子分析    因子分析法 是指从研究指标相关矩阵内部的依赖关系出发,把一些信息重叠、具有错综复杂关系的变量归结为少数几个不相关的综合因子的一种多元统计分析方法。基本思想是:根据相关性大小把变量分组,使得同组内的变量之间相关性较高,但不同组的变量不相关或相关性较低,每组变量代表一个基本结构一即公共因子。 因子分析法的步骤   应用因子分析法的主要步骤如下:   (1)对数据样本进行标准化处理。   (2)计算样本的相关矩阵R。   (3)求相关矩阵R的特征根和特征向量。   (4)根据系统要求的累积 贡献率 确定主因子的个数。   (5)计算因子载荷矩阵A。   (6)确定因子模型。   (7)根据上述计算结果,对系统进行分析。 因子分析法的实例 【例:1】   假设某一社会经济系统问题,其主要特性可用4个指标表示,它们分别是生产、技术、交通和环境。其相关矩阵为:      相应的特征值、占总体百分比和累计百分比如下表:      对应特征值的特征向量矩阵为:   假如要求所取特征值反映的信息量占总体信息量的90%以上,则从累计特征值所占百分比看,只需取前两项即可。也就是说,只需取两个主要因子。对应于前两列特征值的特征向量,   可求的其因子载荷矩阵A为:      于是,该问题的因子模型为:    X l = 0.60 f 1 + 0.71 f 2    X 2 = 0.85 f 1 + 0.38 f 2    X 3 = 0.93 f 1 − 0.32 f 2    X 4 = 0.74 f 1 − 0.40 f 2 由以上可以看出,两个因子中, f 1 是全面反映生产、技术、交通和环境的因子,而 f 2 却不同,它反映了对生产和技术这两项增长有利,而对交通和环境增长不利的因子。也就是说,按照原有统计资料得出的相关矩阵分析的结果是如果生产和技术都随 f 2 增长了,将有可能出现交通紧张和环境恶化的问题, f 2 反映了这两方面的相互制约状况。 因子分析与主成分分析的区别    因子分析法与主成分分析法都属于 因素分析法 ,都基于 统计分析方法 ,但两者有较大的区别: 主成分分析 是通过坐标变换提取主成分,也就是将一组具有相关性的变量变换为一组独立的变量,将主成分表示为原始观察变量的线性组合;而因子分析法是要构造因子模型,将原始观察变量分解为因子的线性组合。通过对上述内容的学习,可以看出因子分析法和主成分分析法的主要区别为:   (1)主成分分析是将主要成分表示为原始观察变量的线性组合,而因子分析是将原始观察变量表示为新因子的线性组合,原始观察变量在两种情况下所处的位置不同。    (2)主成分分析中,新变量Z的坐标维数j(或主成分的维数)与原始变量维数相同, 它只是将一组具有相关性的变量通过正交变换转换成一组维数相同的独立变量,再按总方差误差的允许值大小,来选定q个(qp)主成分; 而因子分析法是要构造一个模型,将问题的为数众多的变量减少为几个新因子,新因子变量数m小于原始变量数P ,从而构造成一个结构简单的模型。可以认为, 因子分析法是主成分分析法的发展。   (3)主成分分析中,经正交变换的变量系数是相关矩阵R的特征向量的相应元素;而 因子分析模型的变量系数取自因子负荷量,即 。因子负荷量矩阵A与相关矩阵R 满足以下关系:      其中,U为R的特征向量。    在考虑有残余项 ε 时,可设包含 ε i 的矩阵 ρ 为误差项,则有 R − A A T = ρ 。    在因子分析中,残余项应只在 ρ 的对角元素项中,因特殊项只属于原变量项,因此, 的选择应以 ρ 的 非对角元素 的方差最小为原则。而在主成分分析中,选择原则是使舍弃成分所对应的方差项累积值不超过规定值,或者说被舍弃项各 对角要素 的自乘和为最小,这两者是不同的。 相关条目 主成分分析法 参考文献 白思俊等编著.系统工程.电子工业出版社,2006年7月. 郁滨.系统工程理论.中国科学技术大学出版社,2009.02 因子分析 中文名称:因子分析 英文名称:factor analysis 其他名称:因子分析法 定义1:把若干个变量看成由某些公共的因素所制约,并把这些公共因素分解出来的分析方法。 应用学科:大气科学(一级学科);动力气象学(二级学科) 定义2:对主成分分析的基标准化后的一种统计方法。 应用学科:地理学(一级学科);数量地理学(二级学科) 因子分析是指研究从变量群中提取共性因子的统计技术。最早由 英国 心理学家C.E.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设。 隐性变量   因子分析的主要目的是用来描述隐藏在一组测量到的变量中的一些更基本的,但又无法直接测量到的隐性变量 (latent variable, latent factor)。比如,如果要测量学生的学习积极性(motivation),课堂中的积极参与,作业完成情况,以及课外阅读时间可以用来反应积极性。而学习成绩可以用期中,期末成绩来反应。在这里,学习积极性与学习成绩是无法直接用一个测度(比如一个问题) 测准,它们必须用一组测度方法来测量,然后把测量结果结合起来,才能更准确地来把握。换句话说,这些变量无法直接测量。可以直接测量的可能只是它所反映的一个表征(manifest),或者是它的一部分。在这里,表征与部分是两个不同的概念。表征是由这个隐性变量直接决定的。隐性变量是因,而表征是果,比如学习积极性是课堂参与程度 (表征测度)的一个主要决定因素。 从显性的变量中得到因子   那么如何从显性的变量中得到因子呢?因子分析的方法有两类。一类是探索性因子分析,另一类是 验证性因子分析 。探索性因子分析不事先假定因子与测度项之间的关系,而让数据“自己说话”。 主成分分析 是其中的典型方法。验证性因子分析假定因子与测度项的关系是部分知道的,即哪个测度项对应于哪个因子,虽然我们尚且不知道具体的系数。 探索性因子分析   因子分析的方法约有10多种,如重心法、影像分析法,最大似然解、最小平方法、 阿尔发 抽因法、拉奥典型抽因法等等。这些方法本质上大都属近似方法,是以相关系数 矩阵 为基础的,所不同的是相关系数矩阵对角线上的值,采用不同的共同性□2估值。在社会学研究中,因子分析常采用以主成分分析为基础的反覆法。   主成分分析为基础的反覆法 主成分分析的目的与因子分析不同,它不是抽取变量群中的共性因子,而是将变量□1,□2,…,□□进行线性组合,成为互为正交的新变量□1,□2,…,□□,以确保新变量具有最大的方差:   在求解中,正如因子分析一样,要用到相关系数矩阵或 协方差矩阵 。其特征值□1,□2,…,□□,正是□1,□2,…,□□的方差,对应的标准化 特征向量 ,正是方程中的系数□,□,…,□。如果□1□2,…,□□,则对应的□1,□2,…,□□分别称作第一主成分,第二主成分,……,直至第□主成分。如果信息无需保留100%,则可依次保留一部分主成分□1,□2,…,□□(□□)。   当根据主成分分析,决定保留□个主成分之后,接着求□个特征向量的行平方和,作为共同性□:   □并将此值代替相关数矩阵对角线之值,形成约相关矩阵。根据约相关系数矩阵,可进一步通过反复求特征值和特征向量方法确定因子数目和因子的系数。   因子旋转为了确定因子的实际内容,还须进一步旋转因子,使每一个变量尽量只负荷于一个因子之上。这就是简单的结构准则。常用的旋转有直角旋转法和斜角旋转法。作直角旋转时,各因素仍保持相对独立。在作斜角旋转时,允许因素间存在一定关系。   Q型因子分析上述从变量群中提取共性因子的方法,又称R型因子分析和R型主要成分分析。但如果研究个案群的共性因子,则称Q型因子分析和Q型主成分分析。这时只须把调查的□个方案,当作□个变量,其分析方法与R型因子分析完全相同。   因子分析是社会研究的一种有力工具,但不能肯定地说一项研究中含有几个因子,当研究中选择的变量变化时,因子的数量也要变化。此外对每个因子实际含意的解释也不是绝对的。 验证性因子分析   探索的因子分析有一些局限性。第一,它假定所有的因子(旋转后) 都会影响测度项。在实际研究中,我们往往会假定一个因子之间没有因果关系,所以可能不会影响另外一个因子的测度项。第二,探索性因子分析假定测度项残差之间是相互独立的。实际上,测度项的残差之间可以因为单一方法偏差、子因子等因素而相关。第三,探索性因子分析强制所有的因子为独立的。这虽然是求解因子个数时不得不采用的机宜之计,却与大部分的研究模型不符。最明显的是,自变量与应变量之间是应该相关的,而不是独立的。这些局限性就要求有一种更加灵活的建模方法,使研究者不但可以更细致地描述测度项与因子之间的关系,而且并对这个关系直接进行测试。而在探索性因子分析中,一个被测试的模型(比如正交的因子) 往往不是研究者理论中的确切的模型。 验证性因子分析描述   验证性因子分析(confirmatory factor analysis) 的强项正是在于它允许研究者明确描述一个理论模型中的细节。那么一个研究者想描述什么呢?我们曾经提到因为测量误差的存在,研究者需要使用多个测度项。当使用多个测度项之后,我们就有测度项的“质量”问题,即有效性检验。而有效性检验就是要看一个测度项是否与其所设计的因子有显著的载荷,并与其不相干的因子没有显著的载荷。当然,我们可能进一步检验一个测度项工具中是否存在单一方法偏差,一些测度项之间是否存在“子因子”。这些测试都要求研究者明确描述测度项、因子、残差之间的关系。对这种关系的描述又叫测度模型 (measurement model)。对测度模型的质量检验是假设检验之前的必要步骤。   验证性因子分析往往用 极大似然估计法 求解。它往往与结构方程的方法连用。具体的使用过程与原理可以参看扩展阅读中的《 社会调查研究方法 》。 因子分析在市场调研中的应用   在 市场调研 中,研究人员关心的是一些研究指标的集成或者组合,这些概念通常是通过等级评分问题来测量的,如利用 李克特量表 取得的变量。每一个指标的集合(或一组相关联的指标)就是一个因子,指标概念等级得分就是因子得分。   因子分析在市场调研中有着广泛的应用,主要包括:   (1)消费者习惯和态度研究(UA)   (2)品牌形象和特性研究   (3)服务质量调查   (4)个性测试   (5)形象调查   (6)市场划分识别   (7)顾客、产品和行为分类   在实际应用中,通过因子得分可以得出不同因子的重要性指标,而管理者则可根据这些指标的重要性来决定首先要解决的市场问题或产品问题。 扩展阅读: 徐云杰,《社会调查研究方法》,网上文档: http://hi.baidu.com/research001 。 数据分析论坛: www.spsschina.com 相关的因子分析、主成分分析、验证性因子分析的知识 路径分析 简介   一种统计程序,通过分析变量之间假设的因果效应,来测试研究人员提出的关于一套观察或者呈现变量之间因果关系的理论。由美国遗传学家S.赖特于1921年首创,后被引入 社会学 的研究中,并发展成为社会学的主要分析方法之一。   目的   路径分析的主要目的是检验一个假想的因果模型的准确和可靠程度,测量变量间因果关系的强弱,回答下述问题:①模型中两变量 x j 与 x i 间是否存在相关关系;②若存在相关关系,则进一步研究两者间是否有因果关系;③若 x j 影响 x i ,那么 x j 是直接影响 x i ,还是通过中介变量间接影响或两种情况都有;④直接影响与间接影响两者大小如何。 一种研究多个 变量 之间多层因果关系及其相关强度的方法。由美国遗传学家S.赖特于1921年首创,后被引入 社会学 的研究中,并发展成为社会学的主要分析方法之一。路径分析的主要目的是检验一个假想的因果模型的准确和可靠程度,测量变量间因果关系的强弱,回答下述问题:①模型中两变量 x j 与 x i 间是否存在相关关系;②若存在相关关系,则进一步研究两者间是否有因果关系;③若 x j 影响 x i ,那么 x j 是直接影响 x i ,还是通过中介变量间接影响或两种情况都有;④直接影响与间接影响两者大小如何。   路径分析的主要步骤是:①选择变量和建立因果关系模型。这是路径分析的前提。研究人员多用路径图形象地将变量的层次,变量间因果关系的路径、类型、结构等,表述为所建立的因果模型。下图是5个变量因果关系的路径。   图中带箭头的直线“→”连接的是具有因果关系的两个变量,箭头的方向与因果的方向相同;当两变量只有相关关系而无因果关系时,用弧线双向箭头表示。图中变量分为:a.外生变量。因果模型中只扮演因,从不扮演果的变量,是不受模型中其他变量影响的独立变量,如 x 1 与 x 2 。b.内生变量。模型中既可为因又可为果的变量,其变化受模型中其他变量的影响,如 x 3 、 x 4 与 x 5 。c.残差变量。来自因果模型之外的影响因变量的所有变量的总称,如 e 3 、 e 4 、 e 5 。   若变量间的关系是线性可加的,则图中的因果模型可用3个标准化多元线性回归方程表示:            p ij 称为由 x j 到 x i 的路径系数,它表示 x j 与 x i 间因果关系的强弱,即当其他变量均保持不变时,变量 x j 对变量 x i 的直接作用力的大小。 称为残差路径系数,它表示所有自变量所不能解释的因变量的变异部分,其大小对于因果模型的确定有重要作用。   ②检验假设。路径分析要以下列假定为前提:a.变量间的因果关系是单向的,不具有反馈性,又称递归模型;b.变量间具有线性可加关系;c.变量具有等距以上测量尺度;d.所有 误差 均为随机的,外生变量无测量误差;e.所有内生变量的误差变量间及与内生变量有因果关系的所有自变量间无相关。当某些假定,如递归性或变量的测量尺度不满足时,要做适当的处理才能应用路径分析。   ③估计参数。首先计算路径系数与残差路径系数,然后计算两变量间相关系数 r ji 。此外,要计算两变量间总因果作用力,包括变量 x j 对 x i 的直接作用力、 x j 经中间变量而对 x i 的间接作用力两部分。例如,上图的因果模型中, x 1 对 x 5 的总作用力由直接作用力 p 51 和间接作用力构成。这两部分作用力的大小可由两变量间的相关系数 r ij 的分解得到。最后还要计算决定系数嵀,它表示所有作用于 x i 的自变量所能解释 x i 变异量的比例。公式是:   ④评估因果模型。评估的主要指标是:a. 嵀,若嵀太小,则要考虑是否需要增加新的自变量,以保证模型精度。b. ,一个理想的因果模型 应当很小,当它很大时,则有必要重新估计此因果路径, 也可由公式 计算。c.进行F检验。 式中 Q 为残差平方和, U 为回归平方和, N 为样本数, K 为变量数,检验不显著时要修改模型。   路径分析是多元回归分析的延伸,与后者不同的是:①路径分析间的因果关系是多层次的,因果变量之间加入了中介变量,使路径分析模型较一般回归模型对于现实因果关系的描述更丰富有力。②路径分析不是运用一个而是一组回归方程,在分析时更应注意保证各方程式所含意义的一致性。 图书信息   书名: 结构方程模型   作 者:吴明隆     出版社 : 重庆大学出版社   出版时间: 2009-7-1    ISBN : 9787562449478   开本: 16开   定价: 59.80元   书名:结构方程模型及其应用   作者: 侯杰泰 、 温忠麟 、成子娟   出版社: 教育科学出版社   出版时间:2004-7-1   ISBN:7-5041-2816-3   定价:39(含光盘) 内容简介   本书详细详解和演示结构方程模型多种分析方法和操作步骤,是一本理想的AMOS与结构方程模型应用方面的指导读物。   本书前半部介绍结构方程模型(SEM)的概念与Amos G raphics窗口界面的基本操作;后半部以各种实例介绍Amos G raphics在各种 SEM模型 中的应用。全书采用AMOS图像界面,完全没有复杂的SEM理论推导和语法,最大的特点就是对利用AMOS进行结构方程模型各种分析的每一个步骤都有详细的讲解和图示。这是一本“使用者界面”取向的书籍,即使是不懂传统SEM语法使用者,也能在最短时间内学会用AMOS绘制各种SEM模型图,并将模型估计、模型识别判断、模型修正与模型验证,实际应用于自己的研究领域中。   本书的读者对象是结构方程模型分析方法的学习者和使用者,适合社会科学各学科高年级本科生、硕博士研究生自学,也适合教师教学辅助参考。 目录   第一章 结构方程模型的基本概念   第一节 结构方程模型的特性   第二节 测量模型   第三节 结构模型   第四节 结构方程模型图中的符号与意义   第五节 参数估计方法   第六节 模型的概念化   第七节 模型的修正   第八节 模型的复核效化   第二章 模型适配度统计量的介绍   第一节 模型适配度检核指标   一、模型基本适配指标   二、整体模型适配度指标(模型外在质量的评估)   三、模型内在结构适配度的评估(模型内在质量的检验)   四、模型统计检验力的评估   第二节 模型识别的范例   一、正好识别模型   二、过度识别模型   三、低度识别模型   第三章 Amos Graphics界面介绍   第一节 Amos Graphics窗口的介绍   一、开启【Amos Graphic】 应用软件   二、 工具箱 窗口的图像钮操作介绍   第二节 图像钮综合应用   一、绘制第一个测量模型   二、绘制第二个测量模型   三、绘制第三个测量模型   第四章 Amos执行步骤与程序   第一节 路径分析的程序与执行   一、建立路径模型图   二、开启数据文件   三、设定观察变量   四、设定误差变量的变量名称   五、设定文字报表要呈现的统计量   六、将路径模型图存盘与计算估计值   七、浏览模型的结果   第二节 路径因果模型图的设定   一、外因变量间没有相关的设定   二、内因变量没有界定残差项   第三节 饱和模型与独立模型   一、饱和模型   二、独立模型   第四节 结构方程模型图   一、结构方程模型图的绘制步骤   二、执行结果的标准化参数估计值路径图   三、模型的平行检验   第五节 结构模型与修正指标   一、模型A:初始模型   二、模型B:修正模型1   三、模型c:修正模型2   四、模型D:修正模型3   第六节 单一文件多重模型的设定   第五章 参数标签与测量模型   第一节 参数标签的设定与特定样本的分析   一、更改特定群体名称与模型名称   二、开启数据文件选人指标变量   三、设定分析属性与计算估计值   四、增列模型变量或对象的参数标签名称   五、增列参数标签名称的模型估计结果   六、全体群体假设模型的修正   第二节 特定群体的分析   一、分析男生群体   二、分析女生群体   第三节 测量模型参数值的界定   一、测量模型假设模型   二、限制不同测量指标的路径参数A   三、低度辨识的模型   四、增列参数限制条件   五、误差变量的界定   六、测量模型的修正   七、测量模型参数标签名称的设定   第四节 测量模型的平行测验检验   第五节 多因子测量模型潜在变量的界定   一、初始模型   二、修正模型   三、斜交关系的测量模型   四、界定测量模型潜在变量间没有相关   五、完全独立潜在变量参数修正   六、单向度测量模型与多向度测量模型   第六章 验证性因素分析   第一节 一阶验证性因素分析——多因素斜交模型   一、假设模型   二、输出结果   第二节 一阶验证性因素分析——多因素直交模型   一、假设模型   二、模型适配度摘要表   第三节 二阶验证性因素分析   第四节 一阶CFA模型多模型的比较   第五节 一阶CFA模型测量不变性检验   一、描绘一阶CFA假设模型图   二、单一群组多个模型的设定   三、模型估计结果   第七章 路径分析   第一节 路径分析的模型与效果   第二节 路径分析模型——递归模型   一、研究问题   二、采用传统复回归求各路径系数   三、Amos Graphics的应用   四、模型图执行结果l   五、文字报表输出结果   第三节 饱和模型的路径分析   一、饱和模型假设模型图   二、参数估计的模型图   三、参数估计及适配度结果   第四节 非递归模型的路径分析一   一、假设模型图   二、参数估计的模型图   三、参数估计值   四、模型适配度摘要表   第五节 非递归模型的路径分析二   一、设定回归系数的变量名称   二、设定回归系数值W5=W6   三、参数估计的模型图   四、参数估计值   五、设定两个内因变量测量误差的方差相等   第六节 模型界定搜寻   一、饱和模型图   二、执行模型界定搜寻   第八章 潜在变量的路径分析   第一节 潜在变量路径分析的相关议题   一、原始数据文件变量排列   二、快速复制对象及参数格式   三、增列简要图像标题   四、增列参数标签名称   五、估计值模型图参数移动   六、模型适配度的评估   七、模型的修正   八、PA—LV模型修正   第二节 数学效能PA—LV理论模型的检验   一、研究问题   二、AITl08 Graphics窗口中的模型图   三、计算估计的模型图   四、参数估计相关报表   第三节 模型的修正   一、参数格式的模型图   二、参数估计相关统计量   第四节 混合模型的路径分析   一、路径分析假设模型图   二、增列模型图像标题   三、路径分析模型估计结果   四、采用潜在变量路径分析模型   五、混合路径分析模型范例二   六、混合路径分析模型范例三   七、混合路径分析模型——非递归模型   第九章 多群组分析   第一节 多群组分析的基本理念   一、绘制男生群体路径分析模型图   二、开启数据文件及选择目标群组变量   三、开启数据文件界定观察变量   四、设定参数标签名称   五、设定群组名称   六、输出结果   七、女生群体的分析模型图   八、多群组分析   第二节 多群组路径分析   一、绘制理论模型图   二、读取数据文件及观察变量   三、设定群体名称   四、界定群体的水平数值及样本   五、界定群体模型图的参数名称   六、界定输出格式   七、预设模型输出结果   第三节 多重模型的设定   一、预设模型(未限制参数)   二、协方差相等模型   三、方差相等模型   四、路径系数相等模型   五、模型不变性模型   六、多个模型的输出结果   第四节 多群组验证性因素分析   一、绘制理论模型图   二、读取数据文件及观察变量   三、设定群体名称   四、界定群体分组变量名称及其水平数值   五、设定多群组分析模型   六、输出结果   第五节 多群组结构方程模型   一、绘制Amos理论模型图   二、读取数据文件并设定群组变量及水平数值   三、设定多群组分析模型   四、群组模型执行结果   五、模型注解说明   第六节 三个群组测量恒等性的检验   第七节 多群组路径分析   一、绘制模型图与读人数据文件   二、增列群组及设定群组名称   三、设定两个群组数据文件变量与变量水平   四、执行多群组分析   五、计算估计值   六、输出结果   第十章 多群组结构平均数的检验   一、SPSS数据文件   二、设定平均数参数   三、范例一模型A   四、范例一模型B   五、范例二模型A   六、范例二模型B   第一节 结构平均数的操作程序   一、绘制理论模型与设定模型变量   二、增列群组与群组的变量水平数值   三、增列平均数与截距项参数标签   四、执行多群组分析程序   五、模型估计   第二节 增列测量误差项间有相关   一、执行多群组分析   二、模型截距项、平均数相等模型评估   三、测量残差模型的修正   第三节 结构平均数的因素分析   一、增列平均数与截距项参数标签   二、更改女生群体共同因素平均数的参数名称标签   三、设定多群组分析模型   四、输出结果   第十一章 SEM实例应用与相关议题   第一节 社会支持量表测量模型的验证   一、测量模型的区别效度   二、测量模型的收敛效度   第二节 缺失值数据文件的处理   一、观察变量中有缺失值   二、增列估计平均数与截距项   三、数据取代   第三节 SEM模型适配度与参数估计关系   一、模型A:初始模型   二、模型B   第四节 样本大小与适配度卡方值   一、样本数N为100   二、样本数N为300   三、样本数N为500   四、样本数N为700   五、样本数N为900   六、样本数N为1100   七、样本数N为1500   八、样本数N为2000   第十二章  典型相关分析 与结构方程模型关系   第一节 典型相关分析   一、CANCORR语法指令   二、典型相关分析结果   第二节 SEM执行程序   一、第一个典型变量   二、第二个典型变量   三、MIMIC分析结果   参考文献 扩展阅读: 《结构方程模型及其应用》 《AMOS教程及结构方程模型介绍》 结构方程论坛: www.semchina.net
4217 次阅读|0 个评论
[转载]怎么用matlab把传递函数转成差分方程
willzhang198 2012-2-10 17:33
以下是PID控制的部分代码(matlab的m文件): ts=0.001;采样时间=0.001s sys=tf(400, );建立被控对象传递函数 dsys=c2d(sys,ts,'z');把传递函数离散化(问题1) =tfdata(dsys,'v');离散化后提取分子、分母 rin=1.0;输入为阶跃信号 u_1=0.0; u_2=0.0; 什么东西的初始状态(问题2) y_1=0.0; y_2=0.0; 是不是输出的初始状态 error_1=0;初始误差 x= ';PID的3个参数Kp Ki Kd组成的数组 p=100;仿真时间100ms for k=1:1:p r(k)=rin; u(k)=kpidi(1)*x(1)+kpidi(2)*x(2)+kpidi(3)*x(3) if u(k)=10 u(k)=10; end if u(k)=-10 u(k)=-10; end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;(问题3) error(k)=r(k)-yout(k); %返回pid参数 u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); x(1)=error(k); x(2)=(error(k)-error_1)/ts; x(3)=x(3)+error(k)*ts; error_2=error_1; error_1=error(k); end 问题1:把传递函数离散化 =C2D(SYSC,Ts,METHOD)这里面的method有好多种,而且用的method不一样得出的结果也不一样,这些参数究竟有什么区别? 问题2:这些是不是PID控制器输出的初始状态,“rin--①--PID控制器--②--被控对象--③---”是不是就是上面②的地方的信号值? 问题3(关键问题):这个式子是怎么得出来的?从传递函数得出差分方程是个什么步骤,要具体点的或者给本参考书。 又如:在《先进PID控制MATLAB仿真(第二版)》P146有 被控对象G(s)=133/(s^2+25s),采样时间为1ms,采用z变换进行离散化,经过z变换后的离散化对象为yout(k)=-den(2)yout(k-1)—den(3)yout(k-2)十num(2)u(k-1)+num(3)u(k-2)(实在是搞不明白怎么来的) 问题4:不是线性的对象可不可以写成差分方程的形式,比如G(s)=20e^(-0.02s)/(1.6s^2+4.4s+1)带了个纯延迟的该怎么弄。或者换成个3阶对象怎么写成差分方程 最佳答案 1、c2d:假设在输入端有一个零阶保持器,把连续时间的状态空间模型转到离散时间状态空间模型。 =C2D(SYSC,Ts,METHOD)里面的method包括: zoh 零阶保持, 假设控制输入在采样周期内为常值,为默认值。 foh 一阶保持器,假设控制输入在采样周期内为线性。 tustin 采用双线性逼近。 matched 采用SISO系统的零极点匹配法 2、只有U_1是2处的初始状态值,而U_2是用来传递U(k)的,所以U_2是U_1在下一个ts时间内的值 3、从差分方程获取传递函数: y(k)+a1(k-1)+……+an(k-n)=b0x(k)+b1x(k-1)+……+bmx(k-m)在零初始条件下对,对方程两边进行Z变换,得到该系统的脉冲传递函数G(Z)=Y(Z)/X(X)= / 其中m《n 或等效形式G(Z)=Y(Z)/X(X)= / 其中m《n 从脉冲传递函数到差分方程 G(Z)=Y(Z)/X(X)= / 其中m《n 交叉相乘得Y(Z) =X(X) 对X(z)和Y(z)进行z逆变换的到差分方程y(k)+a1y(k-1)+……+any(k-n)=b0x(k)+b1x(k-1)+……+bmx(k-m) http://218.6.168.52/wlxt/ncourse/jsjkzjs/web/ppt/ch4.files/frame.htm 4、纯延迟系统G(s)=20e^(-0.02s)/(1.6s^2+4.4s+1) num= ; den= ; sys=tf(num,den,'inputdelay',0.02)
8996 次阅读|0 个评论
[转载]离散格式对求解器性能的影响
jiangfan2008 2012-2-5 07:59
控制方程的扩散项一般采用中心差分格式离散,而对流项则可采用多种不同的格式进行离散。 Fluent 允许用户为对流项选择不同的离散格式 ( 注意:粘性项总是自动地使用二阶精度的离散格式 ) 。默认情况下,当使用分离式求解器时,所有方程中的对流项均用一阶迎风格式离散;当使用耦合式求解器时,流动方程使用二阶精度格式,其他方程使用一阶精度格式进行离散。此外,当选择分离式求解器时,用户还可为压力选择插值方式。 当流动与网格对齐时,如使用四边形或六面体网格模拟层流流动,使用一阶精度离散格式是可以接受的。但当流动斜穿网格线时,一阶精度格式将产生明显的离散误差 ( 数值扩散 ) 。因此,对于 2D 三角形及 3D 四面体网格,注意使用二阶精度格式,特别是对复杂流动更是如此。一般来讲,在一阶精度格式下容易收敛,但精度较差。有时,为了加快计算速度,可先在一阶精度格式下计算,然后再转到二阶精度格式下计算。如果使用二阶精度格式遇到难于收敛的情况,则可考虑改换一阶精度格式。 对于转动及有旋流的计算,在使用四边形及六面体网格式,具有三阶精度的 QUICK 格式可能产生比二阶精度更好的结果。但是,一般情况下,用二阶精度就已足够,即使使用 QUICK 格式,结果也不一定好。乘方格式 (Power-law Scheme) 一般产生与一阶精度格式相同精度的结果。中心差分格式一般只用于大涡模拟,而且要求网格很细的情况。
2659 次阅读|0 个评论
[转载]关于CFD计算中的常见问题(1)
热度 1 jiangfan2008 2012-2-2 21:10
1、流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么? 答:这个问题的范畴好大啊。简要的说一下个人的理解吧:流场数值求解的目的就是为了得到某个流动状态下的相关参数,这样可以节省实验经费,节约实验时间,并且可以模拟一些不可能做实验的流动状态。主要方法有有限差分,有限元和有限体积法,好像最近还有无网格法和波尔兹曼法(格子法)。基本思路都是将复杂的非线性差分/积分方程简化成简单的代数方程。相对来说,有限差分法对网格的要求较高,而其他的方法就要灵活的多。 2、可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难? 答:注:这个问题不是一句两句话就能说清楚的,大家还是看下面的两篇小文章吧,摘自《计算流体力学应用》,读完之后自有体会。 3、可压缩Euler及Navier-Stokes方程数值解 描述无粘流动的基本方程组是Euler方程组,描述粘性流动的基本方程组是Navier-Stokes方程组。用数值方法通过求解Euler方程和Navier-Stokes方程模拟流场是计算流体动力学的重要内容之一。由于飞行器设计实际问题中的绝大多数流态都具有较高的雷诺数,这些流动粘性区域很小,由对流作用主控,因此针对Euler方程发展的计算方法,在大多数情况下对Navier-Stokes方程也是有效的,只需针对粘性项用中心差分离散。 用数值方法求解无粘Euler方程组的历史可追溯到20世纪50年代,具有代表性的方法是1952年Courant等人以及1954年Lax和Friedrichs提出的一阶方法。从那时开始,人们发展了大量的差分格式。Lax和Wendroff的开创性工作是非定常Euler(可压缩Navier-Stokes)方程组数值求解方法发展的里程碑。二阶精度Lax-Wendroff格式应用于非线性方程组派生出了一类格式,其共同特点是格式空间对称,即在空间上对一维问题是三点中心格式,在时间上是显式格式,并且该类格式是从时间空间混合离散中导出的。该类格式中最流行的是MacCormack格式。 采用时空混合离散方法,其数值解趋近于定常时依赖于计算中采用的时间步长。尽管由时间步长项引起的误差与截断误差在数量级上相同,但这却体现了一个概念上的缺陷,因为在计算得到的定常解中引进了一个数值参数。将时间积分从空间离散中分离出来就避免了上述缺陷。常用的时空分别离散格式有中心型格式和迎风型格式。空间二阶精度的中心型格式(一维问题是三点格式)就属于上述范畴。该类格式最具代表性的是Beam-Warming隐式格式和Jameson等人采用的Runge-Kutta时间积分方法发展的显式格式。迎风型差分格式共同特点是所建立起的特征传播特性与差分空间离散方向选择的关系是与无粘流动的物理特性一致的。第一个显式迎风差分格式是由Courant等人构造的,并推广为二阶精度和隐式时间积分方法。基于通量方向性离散的Steger-Warming和Van Leer矢通量分裂方法可以认为是这类格式的一种。该类格式的第二个分支是Godunov方法,该方法在每个网格步求解描述相邻间断(Riemann问题)的当地一维Euler方程。根据这一方法Engquist、Osher和Roe等人构造了一系列引入近似Riemann算子的格式,这就是著名的通量差分方法。 对于没有大梯度的定常光滑流动,所有求解Euler方程格式的计算结果都是令人满意的,但当出现诸如激波这样的间断时,其表现确有很大差异。绝大多数最初发展起来的格式,如Lax-Wendroff格式中心型格式,在激波附近会产生波动。人们通过引入人工粘性构造了各种方法来控制和限制这些波动。在一个时期里,这类格式在复杂流场计算中得到了应用。然而,由于格式中含有自由参数,对不同问题要进行调整,不仅给使用上带来了诸多不便,而且格式对激波分辨率受到影响,因而其在复杂流动计算中的应用受到了一定限制。 另外一种方法是力图阻止数值波动的产生,而不是在其产生后再进行抑制。这种方法是建立在非线性限制器的概念上,这一概念最初由Boris和Book及Van Leer提出,并且通过Harten发展的总变差减小(TVD, Total Variation Diminishing)的重要概念得以实现。通过这一途径,数值解的变化以非线性的方式得以控制。这一类格式的研究和应用,在20世纪80年代形成了一股发展浪潮。1988年,张涵信和庄逢甘利用热力学熵增原理,通过对差分格式修正方程式的分析,构造了满足熵增条件能够捕捉激波的无波动、无自由参数的耗散格式(NND格式)。该类格式在航空航天飞行器气动数值模拟方面得到了广泛应用。 1987年,Harten和Osher指出,TVD格式最多能达到二阶精度。为了突破这一精度上的限制引入了实质上无波动(ENO)格式的概念。该类格式“几乎是TVD”的,Harten因此推断这些格式产生的数值解是一致有界的。继Harten和Osher之后,Shu和Osher将ENO格式从一维推广到多维。J.Y.Yang在三阶精度ENO差分格式上也做了不少工作。1992年,张涵信另辟蹊径,在NND格式的基础上,发展了一种能捕捉激波的实质上无波动、无自由参数的三阶精度差分格式(简称ENN格式)。1994年,Liu、Osher和Chan发展了WENO(Weighted Essentially Non-Oscillatory)格式。WENO格式是基于ENO格式构造的高阶混合格式,它在保持了ENO格式优点的同时,计算流场中虚假波动明显减少。此后,Jiang提出了一种新的网格模板光滑程度的度量方法。目前高阶精度格式的研究与应用是计算流体力学的热点问题之一。 不可压缩Navier-Stokes方程求解 不可压缩流体力学数值解法有非常广泛的需求。从求解低速空气动力学问题,推进器内部流动,到水动力相关的液体流动以及生物流体力学等。满足这么广泛问题的研究,要求有与之相应的较好的物理问题的数学模型以及鲁棒的数值算法。 相对于可压缩流动,不可压缩流动的数值求解困难在于,不可压缩流体介质的密度保持常数,而状态方程不再成立,连续方程退化为速度的散度为零的方程。由此,在可压缩流动的计算中可用于求解密度和压力的连续方程在不可压缩流动求解中仅是动量方程的一个约束条件,由此求解不可压缩流动的压力称为一个困难。求解不可压缩流动的各种方法主要在于求解不同的压力过程。 目前,主要有两类求解不可压缩流体力学的方法,原始变量方法和非原始变量方法。求解不可压缩流动的原始变量方法是将Navier-Stokes方程写成压力和速度的形式,进行直接求解,这种形式已被广为应用。非原始变量方法主要有Fasel提出的流函数-涡函数法、Aziz和Hellums提出的势函数-涡函数方法。在求解三维流动问题时,上述每一个方法都需要反复求解三个Possion方程,非常耗时。原始变量方法可以分为三类:第一种方法是Harlow和Welch首先提出的压力Possion方程方法。该方法首先将动量方程推进求得速度场,然后利用Possion方程求解压力,这一种方法由于每一时间步上需要求解Possion方程,求解非常耗时。第二种方法是Patanker和Spalding的SIMPLE(Semi-Implicit Method for Pressure-Linked Equation)法,它是通过动量方程求得压力修正项对速度的影响,使其满足速度散度等于零的条件作为压力控制方程。第三种方法是虚拟压缩方法,这一方法是Chorin于1967年提出的。该方法的核心就是通过在连续方程中引入一个虚拟压缩因子,再附加一项压力的虚拟时间导数,使压力显式地与速度联系起来,同时方程也变成了双曲型方程。这样,方程的形式就与求解可压缩流动的方程相似,因此,许多求解可压缩流动的成熟方法都可用于不可压缩流动的求解。 目前,由于基于求解压力Possion方程的方法非常复杂及耗时,难于求解具体的工程实际问题,因此用此方法解决工程问题的工作越来越少。工程上常用的主要是SIMPLE方法和虚拟压缩方法。 4、什么叫边界条件?有何物理意义?它与初始条件有什么关系? 边界条件与初始条件是控制方程有确定解的前提。 边界条件是在求解区域的边界上所求解的变量或其导数随时间和地点的变化规律。对于任何问题,都需要给定边界条件。 初始条件是所研究对象在过程开始时刻各个求解变量的空间分布情况,对于瞬态问题,必须给定初始条件,稳态问题,则不用给定。对于边界条件与初始条件的处理,直接影响计算结果的精度。 在瞬态问题中,给定初始条件时要注意的是:要针对所有计算变量,给定整个计算域内各单元的初始条件;初始条件一定是物理上合理的,要靠经验或实测结果。 5、在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别? 我们知道很多描述物理问题的控制方程最终就可以归结为偏微分方程,描述流动的控制方程也不例外。 从数学角度,一般将偏微分方程分为椭圆型(影响域是椭圆的,与时间无关,且是空间内的闭区域,故又称为边值问题),双曲型(步进问题,但依赖域仅在两条特征区域之间),抛物型(影响域以特征线为分界线,与主流方向垂直;具体来说,解的分布与瞬时以前的情况和边界条件相关,下游的变化仅与上游的变化相关;也称为初边值问题); 从物理角度,一般将方程分为平衡问题(或稳态问题),时间步进问题。 两种角度,有这样的关系:椭圆型方程描述的一般是平衡问题(或稳态问题),双曲型和抛物型方程描述的一般是步进问题。 至于具体的分类方法,大家可以参考一般的偏微分方程专著,里面都有介绍。关于各种不同近似水平的流体控制方程的分类,大家可以参考张涵信院士编写《计算流体力学—差分方法的原理与应用》里面讲的相当详细。 三种类型偏微分方程的基本差别如下: 1)三种类型偏微分方程解的适定性(即解存在且唯一,并且解稳定)要求对定解条件有不同的提法; 2)三种类型偏微分方程解的光滑性不同,对定解条件的光滑性要求也不同; 椭圆型和抛物型方程的解是充分光滑的,因此对定解条件的光滑性要求不高。而双曲型方程允许有所谓的弱解存在(如流场中的激波),即解的一阶导数可以不连续,所以对定解条件的光滑性要求很高,这也正是采用有限元法求解双曲型方程困难较多的原因之一。 3)三种类型偏微分方程的影响区域和依赖区域不一样。 在双曲型和抛物型方程所控制的流场中,某一点的影响区域是有界的,可采用步进求解。如对双曲型方程求解时,为了与影响区域的特征一致,采用上风格式比较适宜。而椭圆型方程的影响范围遍及全场,必须全场求解,所采用的差分格式也要采用相应的中心格式。 6、在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解? 数值计算的与实验值之间的误差来源只要有这几个:物理模型近似误差(无粘或有粘,定常与非定常,二维或三维等等),差分方程的截断误差及求解区域的离散误差(这两种误差通常统称为离散误差),迭代误差(离散后的代数方程组的求解方法以及迭代次数所产生的误差),舍入误差(计算机只能用有限位存储计算物理量所产生的误差)等等。在通常的计算中,离散误差随网格变细而减小,但由于网格变细时,离散点数增多,舍入误差也随之加大。 由此可见,网格数量并不是越多越好的。 再说说网格无关性的问题,由上面的介绍,我们知道网格数太密或者太疏都可能产生误差过大的计算结果,网格数在一定的范围内的结果才与实验值比较接近,这样在划分网格时就要求我们首先依据已有的经验大致划分一个网格进行计算,将计算结果(当然这个计算结果必须是收敛的)与实验值进行比较(如果没有实验值,则不需要比较,后面的比较与此类型相同),再酌情加密或减少网格,再进行计算,再与实验值进行比较,并与前一次计算结果比较,如果两次的计算结果相差较小(例如在2%),说明这一范围的网格的计算结果是可信的,说明计算结果是网格无关的。再加密网格已经没有什么意义(除非你要求的计算精度较高)。但是,如果你用粗网格也能得到相差很小的计算结果,从计算效率上讲,你就可以完全使用粗网格去完成你的计算。加密或者减少网格数量,你可以以一倍的量级进行。 7、在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节? 判断网格质量的方面有: Area单元面积,适用于2D单元,较为基本的单元质量特征。 Aspect Ratio长宽比,不同的网格单元有不同的计算方法,等于1是最好的单元,如正三角形,正四边形,正四面体,正六面体等;一般情况下不要超过5:1. Diagonal Ratio对角线之比,仅适用于四边形和六面体单元,默认是大于或等于1的,该值越高,说明单元越不规则,最好等于1,也就是正四边形或正六面体。 Edge Ratio长边与最短边长度之比,大于或等于1,最好等于1,解释同上。 EquiAngle Skew通过单元夹角计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。最好是要控制在0到0.4之间。 EquiSize Skew通过单元大小计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。2D质量好的单元该值最好在0.1以内,3D单元在0.4以内。 MidAngle Skew通过单元边中点连线夹角计算的歪斜度,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。 Size Change相邻单元大小之比,仅适用于3D单元,最好控制在2以内。 Stretch伸展度。通过单元的对角线长度与边长计算出来的,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。 Taper锥度。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。 Volume单元体积,仅适用于3D单元,划分网格时应避免出现负体积。 Warpage翘曲。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。 以上只是针对Gambit帮助文件的简单归纳,不同的软件有不同的评价单元质量的指标,使用时最好仔细阅读帮助文件。 另外,在Fluent中的窗口键入:grid quality 然后回车,Fluent能检查网格的质量,主要有以下三个指标: 1.Maxium cell squish: 如果该值等于1,表示得到了很坏的单元; 2.Maxium cell skewness: 该值在0到1之间,0表示最好,1表示最坏; 3.Maxium 'aspect-ratio': 1表示最好。 8、在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢? 这个问题就是非连续性网格的设置,一般来说就是把两个交接面设置为一对interface。 另外,作此操作可能出现的问题及可供参考的解决方法为: 问题:把两个面(其中一个实际是由若干小面组成,将若干小面定义为了group了)拼接在一起,也就是说两者之间有流体通过,两个面个属不同的体,网格导入到fluent时,使用interface时出现网格check的错误,将interface的边界条件删除,就不会发生网格检查的错误,如何将两个面的网格相连? 原因:interface后的两个体的交接面,fluent以将其作为内部流体处理(非重叠部分默认为wall,合并后网格会在某些地方发生畸变,导致合并失败,也可能准备合并的两个面几何位置有误差,应该准确的在同一几何位置(合并的面大小相等时),在合并之前要合理分块。 解决方法:为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面默认为interior.也可以将网格拼接一起. 9、在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)? 答:gambit默认为wall,一般情况下可以到fluent再修改边界类型。 内部边界如果是split产生的,那么就不需再设定了,如果不是,那么就需要设定为interface或者是internal 10、为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些? 答:要得到一个问题的定解就需要有定解条件,而边界条件就属于定解条件。也就是说边界条件确定了结果。不同的流体介质有不同的物理属性,也就会得到不同的结果,所以必须指定区域类型。对于gambit来说,默认的区域类型是fluid,所以一般情况下不需要再指定 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的? Fluid Zone是一个单元组,是求解域内所有流体单元的综合。所激活的方程都要在这些单元上进行求解。向流体区域输入的信息只是流体介质(材料)的类型。对于当前材料列表中没有的材料,需要用户自行定义。注意,多孔介质也当作流体区域对待。 Solid Zone也是一个单元组,只不过这组单元仅用来进行传热计算,不进行任何的流动计算。作为固体处理的材料可能事实上是流体,但是假定其中没有对流发生,固体区域仅需要输入材料类型。 Fluent中使用Zone的概念,主要是为了区分分块网格生成,边界条件的定义等等; 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么? 可以采用残差控制面板来显示;或者采用通过某面的流量控制;如监控出口上流量的变化;采用某点或者面上受力的监视;涡街中计算达到收敛时,绕流体的面上受的升力为周期交变,而阻力为平缓的直线。 怎样判断计算结果是否收敛? 1、观察点处的值不再随计算步骤的增加而变化; 2、各个参数的残差随计算步数的增加而降低,最后趋于平缓; 3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。 特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了,因为,如果松弛因子设置得太紧,各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。 还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以呢 22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响? 1、亚松驰(Under Relaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。用通用变量来写出时,为松驰因子(Relaxation Factors)。《数值传热学-214》 2、FLUENT中的亚松驰:由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了的变化量。亚松驰最简单的形式为:单元内变量等于原来的值 加上亚松驰因子a与 变化的积, 分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的亚松驰因子。在FLUENT中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh数自然对流问题),在计算开始时要慎重减小亚松驰因子。使用默认的亚松驰因子开始计算是很好的习惯。如果经过4到5步的迭代残差仍然增长,你就需要减小亚松驰因子。有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。注意:粘性和密度的亚松驰是在每一次迭代之间的。而且,如果直接解焓方程而不是温度方程(即:对PDF计算),基于焓的温度的更新是要进行亚松驰的。要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。对于大多数流动,不需要修改默认亚松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的亚松弛因子了,其中压力、动量、k和e的亚松弛因子默认值分别为0.2,0.5,0.5和0.5。对于SIMPLEC格式一般不需要减小压力的亚松弛因子。在密度和温度强烈耦合的问题中,如相当高的Rayleigh数的自然或混合对流流动,应该对温度和/或密度(所用的亚松弛因子小于1.0)进行亚松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,流动密度是常数,温度的亚松弛因子可以设为1.0。对于其它的标量方程,如漩涡,组分,PDF变量,对于某些问题默认的亚松弛可能过大,尤其是对于初始计算。你可以将松弛因子设为0.8以使得收敛更容易。 SIMPLE与SIMPLEC比较 在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默认是SIMPLE算法,但是对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的亚松驰迭代时,具体介绍如下: 对于相对简单的问题(如:没有附加模型激活的层流流动),其收敛性已经被压力速度耦合所限制,你通常可以用SIMPLEC算法很快得到收敛解。在SIMPLEC中,压力校正亚松驰因子通常设为1.0,它有助于收敛。但是,在有些问题中,将压力校正松弛因子增加到1.0可能会导致不稳定。对于所有的过渡流动计算,强烈推荐使用PISO算法邻近校正。它允许你使用大的时间步,而且对于动量和压力都可以使用亚松驰因子1.0。对于定常状态问题,具有邻近校正的PISO并不会比具有较好的亚松驰因子的SIMPLE或SIMPLEC好。对于具有较大扭曲网格上的定常状态和过渡计算推荐使用PISO倾斜校正。当你使用PISO邻近校正时,对所有方程都推荐使用亚松驰因子为1.0或者接近1.0。如果你只对高度扭曲的网格使用PISO倾斜校正,请设定动量和压力的亚松驰因子之和为1.0比如:压力亚松驰因子0.3,动量亚松驰因子0.7)。如果你同时使用PISO的两种校正方法,推荐参阅PISO邻近校正中所用的方法 23 在FLUENT运行过程中,经常会出现“turbulence viscous rate”超过了极限值,此时如何解决?而这里的极限值指的是什么值?修正后它对计算结果有何影响 Let's take care of the warning "turbulent viscosity limited to viscosity ratio****" which is not physical. This problem is mainly due to one of the following: 1)Poor mesh quality(i.e.,skewness 0.85 for Quad/Hex, or skewness 0.9 for Tri/Tetra elements). {what values do you have?} 2)Use of improper turbulent boudary conditions. 3)Not supplying good initial values for turbulent quantities. 出现这个警告,一般来讲,最可能的就是网格质量的问题,尤其是Y+值的问题;在划分网格的时候要注意,第一层网格高度非常重要,可以使用NASA的Viscous Grid Space Calculator来计算第一层网格高度;如果这方面已经注意了,那就可能是边界条件中有关湍流量的设置问题, 24 在FLUENT运行计算时,为什么有时候总是出现“reversed flow”?其具体意义是什么?有没有办法避免?如果一直这样显示,它对最终的计算结果有什么样的影响? 这个问题的意思是出现了回流,这个问题相对于湍流粘性比的警告要宽松一些,有些case可能只在计算的开始阶段出现这个警告,随着迭代的计算,可能会消失,如果计算一段时间之后,警告消失了,那么对计算结果是没有什么影响的,如果这个警告一直存在,可能需要作以下处理: 1.如果是模拟外部绕流,出现这个警告的原因可能是边界条件取得距离物体不够远,如果边界条件取的足够远,该处可能在计算的过程中的确存在回流现象;对于可压缩流动,边界最好取在10倍的物体特征长度之处;对于不可压缩流动,边界最好取在4倍的物体特征长度之处。 2.如果出现了这个警告,不论对于外部绕流还是内部流动,可以使用pressure-outlet边界条件代替outflow边界条件改善这个问题。 26 什么叫问题的初始化?在FLUENT中初始化的方法对计算结果有什么样的影响?初始化中的“patch”怎么理解? 问题的初始化就是在做计算时,给流场一个初始值,包括压力、速度、温度和湍流系数等。理论上,给的初始场对最终结果不会产生影响,因为随着跌倒步数的增加,计算得到的流场会向真实的流场无限逼近,但是,由于Fluent等计算软件存在像离散格式精度(会产生离散误差)和截断误差等问题的限制,如果初始场给的过于偏离实际物理场,就会出现计算很难收敛,甚至是刚开始计算就发散的问题。因此,在初始化时,初值还是应该给的尽量符合实际物理现象。这就要求我们对要计算的物理场,有一个比较清楚的理解。 初始化中的patch就是对初始化的一种补充,比如当遇到多相流问题时,需要对各相的参数进行更细的限制,以最大限度接近现实物理场。这些就可以通过patch来实现,patch可以对流场分区进行初始化,还可以通过编写简单的函数来对特定区域初始化。 27 什么叫PDF方法?FLUENT中模拟煤粉燃烧的方法有哪些? 概率密度函数输运输运方程方法(PDF方法)是近年来逐步建立起来的描述湍流两相流动的新模型方法。所谓的概率密度函数(Probability Density Function,简称PDF)方法是基于湍流场随机性和概率统计描述,将流场的速度、温度和组分浓度等特征量作为随机变量,研究其概率密度函数在相空间的传递行为的研究方法。PDF模型介于统观模拟和细观模拟之间,是从随机运动的分子动力论和两相湍流的基本守恒定律出发,探讨两相湍流的规律,因此可作为发展双流体模型框架内两相湍流模型的理论基础。它实质上是沟通E-L模型和E-E模型的桥梁,可以用颗粒运动的拉氏分析通过统计理论,即PDF方程的积分建立封闭的E-E两相湍流模型 非预混湍流燃烧过程的正确模拟要求同时模拟混合和化学反应过程。FLUENT 提供了四种反应模拟方法:即有限率反应法、混合分数PDF 法、不平衡(火焰微元)法和预混燃烧法。火焰微元法是混合分数PDF 方法的一种特例。该方法是基于不平衡反应的,混合分数PDF 法不能模拟的不平衡现象如火焰的悬举和熄灭,NOx 的形成等都可用该方法模拟。但由于该方法还未完善,在FLUENT 只能适用于绝热模型。 对许多燃烧系统,辐射式主要的能量传输方式,因此在模拟燃烧系统时,对辐射能量的传输的模拟也是非常重要的。在FLUENT 中,对于模拟该过程的模型也是非常全面的。包括DTRM、P-1、Rosseland、DO 辐射模型,还有用WSGG 模型来模拟吸收系数。 30 FLUENT运行过程中,出现残差曲线震荡是怎么回事?如何解决残差震荡的问题?残差震荡对计算收敛性和计算结果有什么影响? 31 数值模拟过程中,什么情况下出现伪扩散的情况?以及对于伪扩散在数值模拟过程中如何避免? 假扩散(false diffusion)的含义: 基本含义:由于对流—扩散方程中一阶导数项的离散格式的截断误差小于二阶而引起较大数值计算误差的现象。有的文献中将人工粘性(artificial viscosity)或数值粘性(numerical viscosity)视为它的同义词。 拓宽含义:现在通常把以下三种原因引起的数值计算误差都归在假扩散的名称下 1.非稳态项或对流项采用一阶截差的格式; 2.流动方向与网格线呈倾斜交叉(多维问题); 3.建立差分格式时没有考虑到非常数的源项的影响。 克服或减轻假扩散的格式或方法, 为克服或减轻数值计算中的假扩散(包括流向扩散及交叉扩散)误差,应当: 1. 采用截差阶数较高的格式; 2. 减轻流线与网格线之间的倾斜交叉现象或在构造格式时考虑到来流方向的影响。 3. 至于非常数源项的问题,目前文献中,还没有为克服这种影响而专门构造的格式,但是高阶格式显然对减轻其影响是有利的。 32 FLUENT轮廓(contour)显示过程中,有时候标准轮廓线显示通常不能精确地显示其细节,特别是对于封闭的3D物体(如柱体),其原因是什么?如何解决? FLUENT等高线(contour)显示过程中,可以通过调节显示的水平等级来调节其显示细节,Levels...最大值允许设置为100.对于封闭的3D物体,可以通过建立Surface,监视Surface上的量来显示计算结果。或者计算之后将结果导入到Tecplot中,作切片图显示。 33 如果采用非稳态计算完毕后,如何才能更形象地显示出动态的效果图? 对于非定常计算,可以通过创建动画来形象地显示出动态的效果图。 Solve-Animate-Define...,具体操作请参考Fluent用户手册。 34 在FLUENT的学习过程中,通常会涉及几个压力的概念,比如压力是相对值还是绝对值?参考压力有何作用?如何设置和利用它? GAUGE PRESSURE 就是静压。 GAUGE total PRESSURE 是总压。 这里需要强调一下 Gauge为名义值, 什么意思呢?如果, INITIAL Gauge PRESSURE =0 那么 GAUGE PRESSURE 就是实际的静压Pinf。 GAUGE total PRESSURE 是实际的总压Pt。 如果INITIAL Gauge PRESSURE 不等于零 GAUGE PRESSURE = Pinf - INITIAL Gauge PRESSURE GAUGE total PRESSURE = Pt - INITIAL Gauge PRESSURE 35 在FLUENT结果的后处理过程中,如何将美观漂亮的定性分析的效果图和定量分析示意图插入到论文中来说明问题? 三种方法来得到用于插入到论文的图片: 1.在Fluent中显示你想得到的效果图的窗口,可以直接在任务栏中右键该窗口将其复制到剪贴板,保存;或者打印到文件,保存。 2.在Fluent中,在你想要保存相关窗口的效果图时,首先激活效果图监视窗口,就是用鼠标左键监视窗口,然后在Fluent中操作,Fluent-File-Hardcopy...,选择好你想要的图片格式,然后就可以保存了。 3.将计算结果或者相关数据导入到Tecplot中,然后作出你想要的效果图,这种方法得出的图片,个人感觉比Fluent得到的图片美观简洁大方 36 在DPM模型中,粒子轨迹能表示粒子在计算域内的行程,如何显示单一粒径粒子的轨道(如20微米的粒子)? 首先选择DMP模型,在set injection properties 面板中,选择injection type的类型为single, 然后设置初始条件,如位置(x,y,z),速度,直径(如20微米的粒子),温度,质量流率等! 设定完成后,你就可以行迭代了。等气相和离散相收敛以后,你就可以追踪粒子轨迹。在display中打开particle tracks面板进行操作! 37 在FLUENT定义速度入口时,速度入口的适用范围是什么?湍流参数的定义方法有哪些?各自有什么不同? 速度入口的边界条件适用于不可压流动,需要给定进口速度以及需要计算的所有标量值。速度入口边界条件不适合可压缩流动,否则入口边界条件会使入口处的总温或总压有一定的波动。 关于湍流参数的定义方法,根据所选择的湍流模型的不同有不同的湍流参数组合,具体可以参考Fluent用户手册的相关章节,也可以参考王福军的书《计算流体动力学分析—CFD软件原理与应用》的第214-216页, 38 在计算完成后,如何显示某一断面上的温度值?如何得到速度矢量图?如何得到流线? 这些都可以用tecplot来处理 将fluent计算的date和case文件倒入到tecplot中 断面可以做切片 速度矢量图流线图 直接就可以选择相应选项来查看 39 分离式求解器和耦合式求解器的适用场合是什么?分析两种求解器在计算效率与精度方面的区别 分离式求解器以前主要用于不可压缩流动和微可压流动,而耦合式求解器用于高速可压流动。现在,两种求解器都适用于从不可压到高速可压的很大范围的流动,但总的来讲,当计算高速可压流动时,耦合式求解器比分离式求解器更有优势。 Fluent默认使用分离式求解器,但是,对于高速可压流动,由强体积力(如浮力或者旋转力)导致的强耦合流动,或者在非常精细的网格上求解的流动,需要考虑耦合式求解器。耦合式求解器耦合了流动和能量方程,常常很快便可以收敛。耦合式求解器所需要的内存约是分离式求解器的1.5到2倍,选择时可以根据这一情况来权衡利弊。在需要耦合隐式的时候,如果计算机内存不够,就可以采用分离式或耦合显式。耦合显式虽然也耦合了流动和能量方程,但是它还是比耦合隐式需要的内存少,当然它的收敛性也相应差一些。 需要注意的是,在分离式求解器中提供的几个物理模型,在耦合式求解器中是没有的。这些物理模型包括:流体体积模型(VOF),多项混合模型,欧拉混合模型,PDF燃烧模型,预混合燃烧模型,部分预混合燃烧模型,烟灰和NOx模型,Rosseland辐射模型,熔化和凝固等相变模型,指定质量流量的周期流动模型,周期性热传导模型和壳传导模型等。 而下列物理模型只在耦合式求解器中有效,在分离式求解器中无效:理想气体模型,用户定义的理想气体模型,NIST理想气体模型,非反射边界条件和用于层流火焰的化学模型。 43 FLUENT中常用的文件格式类型:dbs,msh,cas,dat,trn,jou,profile等有什么用处? 在Gambit目录中,有三个文件,分别是default_id.dbs,jou,trn文件,对Gambit运行save,将会在工作目录下保存这三个文件:default_id.dbs,default_id.jou,default_id.trn。 jou文件是gambit命令记录文件,可以通过运行jou文件来批处理gambit命令; dbs文件是gambit默认的储存几何体和网格数据的文件; trn文件是记录gambit命令显示窗(transcript)信息的文件; msh文件可以在gambit划分网格和设置好边界条件之后export中选择msh文件输出格式,该文件可以被fluent求解器读取。 Case文件包括网格,边界条件,解的参数,用户界面和图形环境。 Data文件包含每个网格单元的流动值以及收敛的历史纪录(残差值)。Fluent自动保存文件类型,默认为date和case文件 Profile文件边界轮廓用于指定求解域的边界区域的流动条件。例如,它们可以用于指定入口平面的速度场。 读入轮廓文件,点击菜单File/Read/Profile...弹出选择文件对话框,你就可以读入边界轮廓文件了。 写入轮廓文件,你也可以在指定边界或者表面的条件上创建轮廓文件。例如:你可以在一个算例的出口条件中创建一个轮廓文件,然后在其它算例中读入该轮廓文件,并使用出口轮廓作为新算例的入口轮廓。要写一个轮廓文件,你需要使用Write Profile面板(Figure 1),菜单:File/Write/Profile 44 在计算区域内的某一个面(2D)或一个体(3D)内定义体积热源或组分质量源。如何把这个zone定义出来?而且这个zone仍然是流体流动的。 在gambit中先将需要的zone定义出来,对于要随流体流动我觉得这个可以用动网格来处理 在动网格设置界面 将这个随流体流动的zone设置成刚体 这样既可以作为zone不影响流体流通 也可以随流体流动 只是其运动的udf不好定义 最好根据其流动规律编动网格udf 46 如何选择单、双精度解算器的选择 Fluent的单双精度求解器适合于所有的计算平台,在大多数情况下,单精度求解器就能很好地满足计算精度要求,且计算量小。 但在有些情况下推荐使用双精度求解器: 1, 如果几何体包含完全不同的尺度特征(如一个长而壁薄的管),用双精度的; 2, 如果模型中存在通过小直径管道相连的多个封闭区域,不同区域之间存在很大的压差,用双精度。 3, 对于有较高的热传导率的问题或对于有较大的长宽比的网格,用双精度。
10282 次阅读|1 个评论
[转载]Matlab符号运算总结
热度 1 pcabaqus 2012-1-21 22:08
%% 符号变量与符号表达式 %%%%%%%%%%%%%%%%%%%%%%%%%%% %1.符号变量与符号表达式 %%%%%%%%%%%%%%%%%%%%%%%%%%% clear all ; clc; close all; % f =sym( 'sin(x)+5x') % f —— 符号变量名 % sin(x)+5x—— 符号表达式 % ' '—— 符号标识 % 符号表达式一定要用' ' 单引号括起来matlab才能识别 % ' ' 的内容可以是符号表达式,也可以是符号方程。 % 例: % f1=sym('a*x^2+b*x+c') —— 二次三项式 % f2=sym('a*x^2+b*x+c=0' )—— 方程 % f3=sym('Dy+y^2=1') ——微分方程 % 符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算 % syms 命令用来建立多个符号量,一般调用格式为: % syms 变量1 变量2 ... 变量n %% 符号矩阵的创建 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %2.符号矩阵的创建 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 数值矩阵A= % A= —— 不识别 % @1.用matlab函数sym创建矩阵(symbolic的缩写) % 命令格式:A=sym(' ') % ※ 符号矩阵内容同数值矩阵 % ※ 需用sym指令定义 % ※ 需用' '标识 % 例如: A = sym(' ') % A = % % % 这就完成了一个符号矩阵的创建。 % 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。 %@2.用字符串直接创建矩阵(这种方法创建的没有什么用处) % ※模仿matlab数值矩阵的创建方法 % ※需保证同一列中各元素字符串有相同的长度。 % 例: A = '; ' '] % A = % % %@3.符号矩阵的修改 % a.直接修改 % 可用光标键找到所要修改的矩阵,直接修改 % b.指令修改 % ※用A1=sym(A,*,*,'new') 来修改。 这个经过测试,不能运行 % ※用A1=subs(A, 'new', 'old')来修改 % % 例如:A = % A = sym(' ') % A1=sym(A,2,2,'4*b') %%等效于A(2,2)='4*b'; % A1 = % A1=subs(A,'0','4*b') A2=subs(A1, 'c', 'b') % A2 = % %@4.符号矩阵与数值矩阵的转换 % ※将数值矩阵转化为符号矩阵 % 函数调用格式:sym(A) A= % A = % 0.3333 2.5000 % 1.4286 0.4000 B=sym(A) % ans = % % % ※将符号矩阵转化为数值矩阵 % 函数调用格式: numeric(A) % B = % % %numeric(B) 这个函数不存在了 VPA(B,4) %发现这个函数可用 % R = VPA(S) numerically evaluates each element of the double matrix % S using variable precision floating point arithmetic with D decimal % digit accuracy, where D is the current setting of DIGITS. % The resulting R is a SYM. % % VPA(S,D) uses D digits, instead of the current setting of DIGITS. % D is an integer or the SYM representation of a number. % ans = % % %% 符号运算 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%3. 符号运算 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 例1: f=sym( '2*x^2+3*x-5'); g=sym( 'x^2+x-7'); h= f+g % h= % 3*x^2+4*x-12 % 例2: f=sym('cos(x)');g=sym('sin(2*x)'); f/g+f*g % ans = % cos(x)/sin(2*x)+cos(x)*sin(2*x) %% 查找符号变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%4.查找符号变量 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % findsym(expr) 按字母顺序列出符号表达式 expr 中的所有符号变量 % % findsym(expr, N) 列出 expr 中离 x 最近的 N 个符号变量 % 若表达式中有两个符号变量与 x 的距离相等,则ASCII 码大者优先。 % ※常量 pi, i, j 不作为符号变量 % 例: f=sym('2*w-3*y+z^2+5*a'); findsym(f) % ans = % a, w, y, z findsym(f,3) % ans = % y,w,z findsym(f,1) % ans = % y %% 计算极限 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%5.计算极限 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % limit(f,x,a): 计算f(x)当x趋向于a的极限 % limit(f,a): 当默认变量趋向于 a 时的极限 % limit(f): 计算 a=0 时的极限 % limit(f,x,a,'right'): 计算右极限 % limit(f,x,a,'left'): 计算左极限 % 例:计算 syms x h n; L=limit((log(x+h)-log(x))/h,h,0) % L = % 1/x M=limit((1-x/n)^n,n,inf) % M = % exp(-x) %% 计算导数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%6.计算导数 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % g=diff(f,v):求符号表达式 f 关于 v 的导数 % g=diff(f):求符号表达式 f 关于默认变量的导数 % g=diff(f,v,n):求 f 关于 v 的 n 阶导数 syms x; f=sin(x)+3*x^2; g=diff(f,x) % g = % cos(x)+6*x %%计算积分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%7.计算积分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % int(f,v,a,b): 计算定积分f(v)从a到b % int(f,a,b): 计算关于默认变量的定积分 % int(f,v): 计算不定积分f(v) % int(f): 计算关于默认变量的不定积分 f=(x^2+1)/(x^2-2*x+2)^2; I=int(f,x) % I = % 3/2*atan(x-1)+1/4*(2*x-6)/(x^2-2*x+2) K=int(exp(-x^2),x,0,inf) % K = % 1/2*pi^(1/2) %%函数运算 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%8.函数运算 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.合并、化简、展开等函数 % collect函数:将表达式中相同幂次的项合并; % factor函数:将表达式因式分解; % simplify函数:利用代数中的函数规则对表达式进行化简; % numden函数:将表示式从有理数形式转变成分子与分母形式。 % 2.反函数 % finverse(f,v) 对指定自变量为v的函数f(v)求反函数 % 3.复合函数 % compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y)) % compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z)) % 4.表达式替换函数(前面讲到了) % subs(s) 用赋值语句中给定值替换表达式中所有同名变量 % subs (s, old, new) 用符号或数值变量new替换s中的符号变量old %% % mtaylor(f,n) —— 泰勒级数展开 % ztrans(f) —— Z变换 % Invztrans(f) —— 反Z变换 % Laplace(f) —— 拉氏变换 % Invlaplace(f) —— 反拉氏变换 % fourier(f) —— 付氏变换 % Invfourier(f) —— 反付氏变换 %% clear f1 =sym('(exp(x)+x)*(x+2)'); f2 = sym('a^3-1'); f3 = sym('1/a^4+2/a^3+3/a^2+4/a+5'); f4 = sym('sin(x)^2+cos(x)^2'); collect(f1) % ans = % x^2+(exp(x)+2)*x+2*exp(x) expand(f1) % ans = % exp(x)*x+2*exp(x)+x^2+2*x factor(f2) % ans = % (a-1)*(a^2+a+1) =numden(f3) %m为分子,n为分母 % m = % 1+2*a+3*a^2+4*a^3+5*a^4 % n = % a^4 simplify(f4) % ans = % 1 clear syms x y finverse(1/tan(x)) %求反函数,自变量为x % ans = % atan(1/x) f = x^2+y; finverse(f,y) %求反函数,自变量为y % ans = % -x^2+y clear syms x y z t u; f = 1/(1 + x^2); g = sin(y); h = x^t; p = exp(-y/u); compose(f,g) %求f = f(x) 和 g = g(y)的复合函数f(g(y)) % ans = % 1/(1+sin(y)^2) clear syms a b subs(a+b,a,4) %用4替代a+b中的a % ans = % 4+b subs(cos(a)+sin(b),{a,b},{sym('alpha'),2}) %多重替换 % ans = % cos(alpha)+sin(2) f=sym('x^2+3*x+2') % f = % x^2+3*x+2 subs(f, 'x', 2) %求解f当x=2时的值 % ans = % 12 %% 方程求解 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%9.方程求解 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1代数方程 % 代数方程的求解由函数solve实现: % solve(f) 求解符号方程式f % solve(f1,…,fn) 求解由f1,…,fn组成的代数方程组 % % 2常微分方程 % 使用函数dsolve来求解常微分方程: % dsolve('eq1, eq2, ...', 'cond1, cond2, ...', 'v') clear syms a b c x f=sym('a*x*x+b*x+c=0') solve(f) % ans = % % solve('1+x=sin(x)') % ans = % -1.9345632107520242675632614537689 dsolve( ' Dy=x ','x') %求微分方程y'=x的通解,指定x为自变量。 % ans = % 1/2*x^2+C1 dsolve(' D2y=1+Dy ','y(0)=1','Dy(0)=0' ) %求微分方程y''=1+y'的解,加初始条件 % ans = % -t+exp(t) =dsolve('Dx=y+x,Dy=2*x') %微分方程组的通解 % x = % -1/2*C1*exp(-t)+C2*exp(2*t) % y = % C1*exp(-t)+C2*exp(2*t) % ezplot(y)方程解y(t)的时间曲线图 %% funtool funtool %该命令将生成三个图形窗口,Figure No.1用于显示函数f的图形, % Figure No.2用于显示函数g的图形, % Figure No.3为一可视化的、可操作与显示一元函数的计算器界面。 % 在该界面上由许多按钮,可以显示两个由用户输入的函数的计算结果: % 加、乘、微分等。funtool还有一函数存储器,允许用户将函数存入, % 以便后面调用。在开始时, % funtool显示两个函数f(x) = x与g(x) = 1在区间 上的图形。 % Funtool同时在下面显示一控制面板, % 允许用户对函数f、g进行保存、更正、重新输入、联合与转换等操作。 %% taylortool %该命令生成一图形用户界面,显示缺省函数f=x*cos(x) % 在区间 内的图形,同时显示函数f % 的前N=7项的Taylor多项式级数和(在a=0附近的)图形, % 通过更改f(x)项可得不同的函数图形。 % taylortool('f') %对指定的函数f,用图形用户界面显示出Taylor展开式 %% maple内核访问函数 % % 可以访问maple内核的matlab函数: % maple ——— 访问maple内核函数 % mapleinit —— maple函数初始化 % mpa ———— maple函数定义 % mhelp ——— maple函数帮助命令 % procread —— maple函数程序安装 % 具体的操作参看相关说明
个人分类: 编制程序|27561 次阅读|1 个评论
这蝙蝠够数学的
热度 3 jiangxun 2011-10-28 08:50
作者:蒋迅 网上有消息说: 洋教师用方程式画出“蝙蝠侠曲线” ,激发了一批数学迷的兴趣。 蝙蝠侠方程 (Batman equation) 大多数人看过之后都是一笑置之,我本人也是。但有人认真研究了一下, 发现图像中必须挖去一些顶点 。我给了链接,有兴趣的读者不妨去看一看。那么,到底软件是否可以做出这张图来呢?我们不妨 用Wolfram|Alpha来试一试 。 这个方程本身虽然有意思,但没有什么太多的意义。但如果它确实能激发学生的学习兴趣的话,还是值得提倡的。也许按照这个思路还能得到更多有意思的图形,比如小到 一根香蕉 ,大到 一头大象 。
个人分类: 够数学|4769 次阅读|7 个评论
相對論、量子場論及其發展(86)
可变系时空多线矢主人 2011-6-25 11:59
相對論、量子力學及其場論的 , 本質、規律 , 及其必然且必需的發展 ( 86 ) 粒子对 处,单位电荷的两体电磁场强度 2- 线矢量场的时空旋度 ( 接 ( 85)) ()86.doc (未完待续)
个人分类: 物理|1900 次阅读|0 个评论
这首诗够数学的
jiangxun 2010-10-30 04:45
作者:蒋迅 在搜弧博克上看到一首诗: 曲线和方程 :   你是方程   我是曲线   我的形状由你决定   我的行踪在你安排之间   你是二元一次方程   我就是一往无前的直线   你是二元二次方程   我就是雍容华贵的圆锥曲线   抛物线、椭圆、双曲线   还有无与伦比的圆   你若是满足方程的一组数对   我就是曲线上相应的一个点   你若是一点的横坐标   我就以纵坐标的面貌出现   今生与你结下不解之缘   今世与你一一对应心心相连   我们共同拥有一个蓝天   坐标系是我们的家园   啊,方程与曲线   你是惊天泣地的美丽的神话   你是漫天飞舞的古老的誓言 作者不详。如果哪位作曲家喜欢,请给谱个曲,可以是一首好听的校园歌曲。英国哲学家培根有一 句名言:诗词使人灵秀;数学使人周密 (poems witty; the mathematics subtle)。那么既会吟诗词又能谈数学的人应该具有双重表现了。如果你是一位数学老师,不妨试一试把诗词巧妙地融入到教学中去。下面是一些这方面的文 章。谷歌一下还有很多。 数学与诗词 谷超豪戏称研究金三角诗词中融合数学定理 钟珍玖:妙用古诗词,巧解数学味 数学和诗词的内在联系
个人分类: 够数学|4047 次阅读|3 个评论
十个方程
wdfzacw 2010-6-25 08:00
十个方程可以解决80%的流体工程问题 1 伯努利 2 N-S 3 连续 4 能量守恒 5 雷诺 6 状态 7 椭圆型 8 抛物线型 9 双曲线型 10 特征
个人分类: 未分类|2408 次阅读|1 个评论
[转载]科学家眼中的世界
Penrose 2010-6-21 15:32
From http://jandan.net/ and http://www.reddit.com/r/science/comments/cg88h/how_scientists_see_the_world_pic/
个人分类: 网络文摘|5383 次阅读|3 个评论
地下水动力学课件(2)-第一章 渗流理论基础
xcl2822 2010-4-8 17:27
肖长来,吉林大学环境与资源学院,2010-4-7 第一章 渗流理论基础 1.1 渗流的基本概念 1.2 渗流基本定律 1.3 岩层透水特征及水流折射定律 1.4 流网及其应用 1.5 渗流连续方程 1.6 渗流基本微分方程 1.7 数学模型的建立及求解 1.1 渗流的基本概念 1.2 渗流基本定律 1.3 岩层透水特征及水流折射定律 1.4 流网及其应用
个人分类: 教学实践|5517 次阅读|1 个评论
三农新三化,是方程与工程、理论与实践合和同统的社会场弦膜命题
mg 2009-12-31 09:12
三农新三化 作者:郭世胜 农业工程化、农村工庄化、农民工人化。简称三农新三化。 三农新三化,是方程与工程、理论与实践合和同统的社会场弦膜命题。解析三农社会场、社会膜、社会弦方程,现在已经具备科学前提、技术前提和政治前提。目前要做的是勇于探索和善于探索的实践工程和理论建模。 三农问题,是社会工程命题和社会方程命题,是社会系统工程命题社会系统方程命题。破解城乡二元结构,推动城镇化进程,从根本上说是社会生产方式变革、社会生活方式变革和社会生存方式变革;是社会交换方式变革、社会交际方式变革、社会分配方式变革;最终将导致社会结构变革、实现社会结构调整、使社会结构功能表达机制更加自觉。 顺应信息化社会潮流,加速工业化社会进程,前提之一是实现农业现代化,加快农业现代化进程实现农业现代化的本质是实现农业工程化。 实施和实现农业工程化,既是国家现代化的有机组成部分,同时也是,实现中华民族现代化的文化方程式、政治经济方程式和历史使命方程式。 农业工程化是农业现代化的必由之路、必须举措、必然选择。简称三必。 实现农业工程化战略必须培育新兴农业体、新型农业体、现代农业体。简称三体。 培育三农体,必须以实现农业工程化为载体、为路径、为方向。简称三为。 推进农业工程化,实质上既是中国城市化进程的内容,也是中国城市化进程的关键。 农业大改观,设立工程院。建议:成立中国农业工程院,设置三农社会方程课题组。把农业工程化、农村工庄化、农民工人化作为解决三农问题的战略战术命题、战略战术课题、战略战术考题。简称三题。 (作者为北京工庄文化中心主任,三农新三化课题组成员。信箱: twna8@sina.com ,手机13691530978。本文为作者在三农新三化战略研讨会上的发言提纲) 注:工庄,现代农业经济体;城镇新兴、新型经济体。详见《工庄论》
个人分类: 人文社科|605 次阅读|0 个评论
第一次写自己的博客文章
huguixin2002 2009-11-3 15:10
我自08年秋季读博士以来,一直从事随机微分方程的研究工作,对这方面的知识掌握较为充分。由于研究生期间读了比较多的随机方面的文献,所以对于博士期间所做的方向不是很生疏的。 09年的3月份开始在我导师的帮助下开始我的第一篇文章的写作,在整理文章和投稿的整个过程中,我大致到7月份才真正的理解投稿的困难,竞争的激烈。 我的目标是在09年结束之前,至少得有四篇文章投出去。只有去做了,才会有希望的,科研的道路是很艰苦的,既然选择了就不会抱怨不公平,不走运,时来运转,总有一天自己的努力会得到回报的。 预计2010年继续沿着自己的方向做下去,在2010年春季按照学校的要求完成博士开题报告的工作,在此之前,每个月写好自己的学习日志!做好投稿记录,好好的做自己的工作!
个人分类: 生活点滴|2722 次阅读|0 个评论
社会方程
mg 2009-7-11 13:52
作者郭世胜。 社会方程 , 用数学结构方程式来表达社会结构及其功能和社会运动方向方位时空状态量度的方程式被称作社会方程。社会方程按照功能性质可划分为教育方程、管理方程、经济方程、文化方程、法律方程、法权方程等;按照时空状态可划分为历史方程、向位方程、参照系方程、未来方程等;按照社会结构可划分为社会运动方程、社会交换方程、社会意识方程、社会虚拟方程等。 科学的社会方程式,一般含有未知数和已知数,并且可以进行社会计算,能够从已知量推导出未知量。但不排除可以提出社会方程猜想和社会命题猜想方程式。 很显然,社会方程仅仅是人们对已知的某一社会规律的一种表达式和计算方式,并不能用来说明全部社会现象和所有社会问题,应特别注意社会方程式的真理彧限性。
个人分类: 人文社科|516 次阅读|0 个评论
中国社会方程院 旨在提出社会方程猜想 命题和解析社会方程
mg 2009-7-1 10:31
中国社会方程院,旨在提出社会方程猜想,命题和解析社会方程,设计和计算社会工程。 中国社会方程院, 2009 年 7 月 1 日成立。 中国社会方程院是中国社会工程院下属的学术体和社会工程计算体。中国社会方程院的宗旨是:为社会工程提供计算技术支撑。中国社会方程院的任务定位是:提出社会方程猜想,命题社会方程,解析社会方程,设计社会工程,计算社会工程,发布社会方程报告,进行社会方程评价。
个人分类: 人文社科|710 次阅读|0 个评论
Matlab_dsolve
snowdeer 2009-1-17 22:39
function varargout = dsolve(varargin) %s=dsolve('方程1','方程2',...,'初始条件1','初始条件2',...,'自变量'). % 均用字符串方式表示,自变量缺省值为t. % 导数用D表示,2阶导数用D2表示,以此类推. % s返回解析解.方程组情形,s为一个符号结构. %narg = nargin; % The default independent variable is t. x = 't'; % Pick up the independent variable, if specified. if all(varargin{narg} ~= '='), x = varargin{narg}; narg = narg-1; end; % Concatenate equation(s) and initial condition(s) inputs into SYS. sys = varargin{1}; for k = 2: narg sys = ;; end % Break SYS into pieces. Each such piece, Dstr, begins with the first % character following a D and ends with the character preceding the % next consecutive D. Loop over each Dstr and do the following: % o add to the list of dependent variables % o replace derivative notation. E.g., D3y -- (D@@3)y % % A dependent variable is defined as a variable that is preceded by Dk, % where k is an integer. % % new_sys looks like: eqn(s), initial condition(s) (i.e., no brackets) % var_set looks like: { x(t), y2(t), ... } (i.e., with brackets) var_set = '{'; % string representing Maple set of dependent variables % Add dummy D so that last Dstr acts like all Dstr's d = ; new_sys = sys(1:d-1); % SYS rewritten with (D@@k)y notation for kd = 1:length(d)-1 Dstr = sys(d(kd)+1:d(kd+1)-1); iletter = find(isletter(Dstr)); % index to letters in Dstr % Replace Dky with (D@@k)y if iletter(1)==1 % First derivative case (Dy) new_sys = ; else new_sys = ; end % Store the dependent variable. Find this variable by looking at the % characters following the derivative order and pulling off the first % consecutive chunk of alphanumeric characters. Dstr1 = Dstr(iletter(1):end); ialphanum = find(~isletter(Dstr1) (Dstr1 '0' | Dstr1 '9')); var_set = ; end % Get rid of duplicate entries in var_set var_set(end) = '}'; var_set = maple( ); % Generate var_str, the Maple string representing the set of dependent % variables. % Replace all dependent variables with their functional equivalents, % i.e., replace y - (y)(x). % Break the system string into its equation and initial condition parts. % This is done by looking for the first occurrence of y(, where y is a % dependent variable. indx_ic = length(new_sys); % points to starting character of ic string ic_str = ; % preceding comma delimits variable vars(find(vars==' '))= ; % Look for first occurrence of v(. If it's before the first occurrence % of the previous dependent variable, change value of indx_ic and % shorten the equation string. indx = findstr(eq_str, ); % index to current dependent var. if isempty(indx), indx = indx_ic; end indx_ic = min(indx_ic,indx(1)); eq_str = new_sys(1:min(indx_ic)); end % Finish var_str var_str(end) = '}'; % Stuff after the last comma belongs in the initial condition string if indx_ic length(new_sys) last_comma = max(find(eq_str==',')); ic_str = new_sys(last_comma:end); eq_str = eq_str(1: last_comma-1); end % In the equation string, replace all occurrences of y with (y)(x). for j = 1:length(kommas)-1 v = vars(kommas(j)+1:kommas(j+1)-1); m = length(v); e = length(eq_str); for k = fliplr(findstr(v,eq_str)) if k+m e | ~isvarname(eq_str(k:k+m)) eq_str = ; end end end % In the ic string, replace all occurrences of y with (y). for j = 1:length(kommas)-1 v = vars(kommas(j)+1:kommas(j+1)-1); m = length(v); e = length(ic_str); for k = fliplr(findstr(v,ic_str)) if k+m e | ~isvarname(ic_str(k:k+m)) ic_str = ; end end end % Convert system to rational form and solve = maple('dsolve', ... , var_str, 'explicit'); if stat error(R) end % If no solution, give up. if isempty(R) | ~isempty(findstr(R,'DESol')) warning('Explicit solution could not be found.'); varargout = cell(1,nargout); varargout{1} = sym( ; % Parse the result. if R(1) ~= '{', R = ; end vars(1) = ' '; vars = maple('sort',vars); vars(1) = '{'; vars(end) = '}'; nvars = sum(commas(vars))+1; if nvars == 1 nargout = 1 % One variable and at most one output. % Return a single scalar or vector sym. S = sym( ; end varargout{1} = S; else % Several variables. % Create a skeleton structure. c = ; S = ); end % Complete the structure. c = ; for p = find(R == '=') q = max(c(cp)); v = trim(R(q+1:p-1)); v(findstr(v,'('):findstr(v,')')) = ); end if nargout = 1 % At most one output, return the structure. varargout{1} = S; elseif nargout == nvars % Same number of outputs as variables. % Match results in lexicographic order to outputs. v = fieldnames(S); for j = 1:nvars varargout{j} = getfield(S,v{j}); end else error( ) end end function s = trim(s); %TRIM TRIM(s) deletes any leading or trailing blanks. while s(1) == ' ', s(1) = ; end function c = commas(s) %COMMAS COMMAS(s) is true for commas not inside parentheses. p = cumsum((s == '(') - (s == ')')); c = (s == ',') (p == 0);
个人分类: MATLAB类|7063 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 11:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部