常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现

导读:就爱阅读网友为您分享以下“一阶常微分方程数值解的C语言编程实现”资讯,希望对您有所帮助,感谢您对92的支持!

一阶常微分方程数值解的C语言编程实现

现实问题与分析学科自身的发展使得微积分及其涉及领域内出现了寻求数值解的诸多问题在其他数学领域亦是如此。这是由于多种原因造成的比如现实问题中函数表达式往往并不存在即使可以拟合也并没有得到表达式的必要且表达式的讨论可能出现较大误差。再比如很多复杂函数或函数约束条件很难使用甚至不能使用一般的分析工具像微分方程存在不可积、不可解的大量实例。所以数值解的相关理论不断产生、完善。特别是现代以来计算机的迅速发展为解决数值解问题提供了算法的计算机程序实现可能并提供了更多的求解思路。MathematicaMATLABMaple是最常用的数学软件对应于Mathematica语言MATLAB语言Maple语言。当然一般使用C语言也可以比较便捷地解决很多分析学科问题的数值解。举一元函数微积分学一些熟知的数值解例子数值导数常见有图解微分法、差商公式、插值多项式、拉格朗日公式拉格朗日插值公式得来、马尔科夫公式牛顿插值公式得来、等距公式、三次样条函数等等数值积分有内插求积公式最为基础的有梯形法、辛普森公式抛物线法、高斯型求积公式等等。这里考察一阶导数已解出的一阶常微分方程的初值问题的数值解。问题给出常微分方程数值解问题中一阶常微分方程与一阶常微分方程组一阶导数均解出形式的数值解法是最基础的也是非常常用的。一般数值解法有欧拉方法及改进的欧拉方法、龙格-库塔方法、阿达姆斯方法。现给出前两种方法它们都是单步法而阿达姆斯法是线性多步法各有优缺点此外计算机上常会加以使用浮动步长法如自动变步长计算方法。单步法的通用表达式是拉格朗日中值定理的形式差分代替微分是一种重要的近似思想反过来用微分代替差分亦重要欧拉方法改进的欧拉方法预报校正法龙格-库塔方法二阶龙格-库塔方法四阶龙格-库塔方法容易看出欧拉方法及改进的欧拉方法都是特殊的龙格-库塔方法。对于龙格-库塔公式常数的确立是通过单、双变量泰勒级数展式推理得到的不再叙述。另外微分方程数值解的相容性条件、收敛性问题、精度判断、误差分析等内容也不叙述。只说明龙格-库塔方法通常使用上述的二阶、四阶形式。下面给出一例这是变量可分离方程容易积分得到现写出该一阶常微分方程数值解法的一个C语言程序输出结果是分别使用欧拉方法、预报校正法、二阶龙格-库塔法、四阶龙格-库塔法得到的函数近似值组成的表格打印。程序如下 include stdio.h double fdouble xdouble y return y1-yy void main int ni float xyeyeuyeulyrk11k21yruk1k2k3k4x0y0h printfn请输入初值x scanffx0 printfy scanffy0 printf步长h scanffh printf总步数n scanfdn xx0 yeyeuyryruy0 printfn7s欧拉方法改进的欧拉方法二阶龙格-库塔方法四阶龙格-库塔方法nx fori1ini yehfxye yeulyeuhfxyeu yeuh/2fxyeufxyeul k11fxyr k21fxh/2yrh/2k11 yrhk21 k1fxyru k2fxh/2yruh/2k1 k3fxh/2yruh/2k2 k4fxhyruhk3 yruh/6k12k22k3k4 xh printf8.1f13.4f13.4f17.4f19.4fnxyeyeuyryru printfnn 执行结果如下这个程序涉及语句非常简单而且具有很强的可移植性即改变第四行return语句规定的被调函数返回值代以其它一阶常微分方程已解出的导数表达式注意相关变量的数据类型声明以及特殊常量的定义此外使用数学函数还需调用头文件math.h此程序依旧可以执行上述四种数值解法解决代换的方程的函数值求近似解问题。要说明的是这里步长应精确到十分位选取如果要进一步精确可在倒数第四行8.1f处将小数位数指定由1变成所需位数但不可过大而扰乱表格排列。本例属于基本类型的一阶微分方程直接积分已经得到结果。将精确解编入程序编写打印数值解误差的程序。突出改变重点地列出新程序语句 include math.h include stdio.h double fdouble xdouble y return y1-yy double Ydouble x return sqrt4exp2x/4exp2x-3 void main float y … xh yYx printf8.2f13.4f13.4f17.4f19.4fnxfabsye-yfabsyeu

常微分方程数值解的c语言程序,常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现.doc...相关推荐

  1. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,程序设计(C)作业一(有答案)...

    程序设计(C)作业一 1.C语言程序的执行,总是起始于(). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2.以下叙述不正确的是(). A.一个 ...

  2. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,上海交通大学继续教育学院2012春——程序设计(C)作业1(有答案)...

    程序设计(C)作业一 1. C语言程序的执行,总是起始于( ). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2. 以下叙述不正确的是( ). ...

  3. 有确定项微分方程的matlab程序,微分方程的数值解法matlab四阶龙格—库塔法课件...

    <微分方程的数值解法matlab四阶龙格-库塔法课件>由会员分享,可在线阅读,更多相关<微分方程的数值解法matlab四阶龙格-库塔法课件(36页珍藏版)>请在人人文库网上搜索 ...

  4. 欧拉梯形格式C语言,常微分方程数值解法欧拉格式和梯形格式的比较.doc

    常微分方程数值解法欧拉格式和梯形格式的比较 PAGE PAGE 4 年级00000班号0000学号0000专业000姓名00000实验名称000000实验类型设计型综合型创新型实验目的或要求常微分的数 ...

  5. 在c语言程序中 对文件进行操作首先要,《C语言程序设计》试题八及答案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  6. 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?

    C语言是目前世界上流行.使用非常广泛的高级程序设计语言. 在TIOBE已公布2020年8月的编程语言排行榜.C语言依然保持排行第一! 前20名排行如下: C语言对操作系统和系统使用程序以及需要对硬件进 ...

  7. lt19264a+c语言程序,可以直接显示汉字的19264液晶驱动C语言程序

    19264 C语言程序资料 注:本程序是经过KEIL编译通过 ,并通过实验板测试通过的,直接按硬件电路连接好显示屏 然后将程序代码烧写入单片机 即可点亮,将显示 武汉2 字,并且 随意设置坐标,就可以 ...

  8. c语言程序代码应缩进几格,汉诺塔c语言程序代码

    汉诺塔c语言程序代码(通过vc++6.0验证)(附讲解) 让我们先看看代码吧 #include int hj(int a,int b, int c,int i) { int t; if(i==1) p ...

  9. 程序设计方法主要有两种 其中C 语言程序,程序设计方法主要有两种,其中C++语言程序设计所采用的设计方法是( ) 程序设计。...

    程序设计方法主要有两种,其中C++语言程序设计所采用的设计方法是( ) 程序设计. 更多相关问题 如图,向量A.B.C在一条直线上,且,则()A. B. C. D. 下列各项中,()是行政处罚的形式. ...

最新文章

  1. VirtualBox下安装rhel5.5 linux系统
  2. python开发面试题目_Python测试开发面试笔试题
  3. python为什么这么火 知乎-没想到吧!Google 排名第一的编程语言,为什么会这么火?...
  4. 利用计算机来模仿人,如何模仿人的学习模式来教计算机程序解数学题?
  5. 安装你自己的perl modules
  6. 男生追女生的超强数学建模分析
  7. 解决谷歌浏览器Chrome不能上网,其他浏览器可以正常上网问题
  8. vue项目项目启动步骤及常见错误处理
  9. vue-网页Logo标题及矢量图标
  10. linux服务器安装字体,删除字体,详细步骤
  11. python中np是什么意思_python中np的作用是什么
  12. 这个企业邮箱登陆入口更快捷
  13. 田野调查手记·浮山篇(九)
  14. [ITIL]-ITIL4考点考题
  15. 步进频雷达的一维距离像matlab仿真
  16. python是开源的跨平台编程语言_Python是一种跨平台、开源、免费的动态编程语言。...
  17. ff开发者必备插件列表
  18. Cesium 加载全球所有国家边界线以及添加button
  19. React 中同构(SSR)原理脉络梳理
  20. c基础部分:怎么在for循环中 对上一次循环的值和下一次循环的值作比较

热门文章

  1. SubString SAM+LCT
  2. java版红石电路修改_我的世界红石数模互换电路【红石小课堂】
  3. (回环检测)Scan Context++: Structural Place Recognition Robust to Rotation and Lateral Variations in Urba
  4. 20145221高其_免杀原理与实践
  5. 与谷歌AI领军科学家一较高下的梦想如何反应了中国对科技突破的追求?
  6. java小游戏贪吃蛇
  7. 2021-05-26
  8. 2021威海高考成绩查询电话,2021威海高考成绩查询系统
  9. 硬盘的主流技术,最新的硬盘技术
  10. DB Browser for sqlite