四阶龙格库塔c语言,四阶龙格库塔算法的C语言实现

解微分方程

2001年3月焦作大学学报

JOURNALOFJIAOZUOUNIVERSITY№ 1Mar.2001第1期

四阶龙格一库塔算法的C语言实现

毋玉芝

(焦作财会学校)

摘要本文叙述了四阶龙格一库塔算法的C语言实现过程、数据存储及其结果的曲线显

示,并以具体实例说明了这一过程。

关键词龙格库塔算法数据存储曲线显示

在科学技术中常常需要求解常微分方程的定解问题,这就需要一种合适的数值解法求出常微分方程的解。在诸多数值算法中龙格一库塔算法具有较高的精确度,是一种优先选取的算法。

1.四阶龙格一库塔算法简述

龙格一库塔方法实际上是间接地使用台劳级数法的一种技术。

龙格一库塔算法的数学描述如下:

Y。+l=y。+h (Kl+2K2+2K3+K4)/6;

Kl=厂(z。,Y。);

K2=f(z。+hi2,Y。+K1 h/2);

K3=f(z。+h12,Y。+K2 h/2);

K4=f(X。+h,y。+K3 h);

其中:h表示计算过程中选取的步长;K。表示X。点处的斜率;

K:表示利用K。求得的(z。+h/2)点处的斜率;

K,表示利用K:求得的(.717。+hi2)点处的斜率;

K。表示利用K,求得的(z。+h)点处的斜率;

2.C语言的实现过程

2.1算法实现

龙格一库塔算法关键是选择步长h,必须根据题目的要求选出合适的步长,这对龙格一库塔算法结果的精确度及其平滑性尤为重要。在选择了恰当的步长后,利用上述迭代表达式,并根据题目要求的迭代次数,或求解的精度,利用C语言加以实现。

2.2数据存储

由于此计算结果数据庞大,程序运行后数据不可能一屏显示,鉴于此首先利用fopen()函数创建并打开一文本文件,利用fprintf()函数将数据存储到数据文件,可将此文件打印输出,以检验结果的正确性。实现过程如下:

if(fp==NULL)

printf(”Can’t

exit(O);

for(i=0;i<=J;i++)

{t=ts+i*h:openthisfile\n,,);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8个超震撼的HTML5和纯CSS3动画源码

HTML5和CSS3之所以强大,不仅因为现在大量的浏览器的支持,更是因为它们已经越来越能满足现代开发的需要。Flash在几年之后肯定会消亡,那么HTML5和CSS3将会替代Flash。今天我们要给大家分享8个最新的HTML5和纯CSS3动画及其源码,这些…

c语言打砖块游戏代码,打砖块游戏的源代码(请多指教)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#include#include#includevoid draw(int x1){int m0,n0,x40,y20;int t0,i,j,k1;int a0,b127,c88;for(i0;i<8;i){ni*20;yn20;for(j0;j<16-t;j){m(ji)*40;xm40;int points[]{m,n,x,n,x,y,m,y}; setfillstyle(R…

git本地创建新分支并推送到远程仓库

1,在当前项目目录&#xff0c;从已有的分支创建新的分支(如从master分支),创建一个dev分支 git checkout -b dev 2,创建完可以查看一下,分支已经切换到dev git branch * dev master 3,提交该分支到远程仓库 git push origin dev 4,测试从远程获取dev git pull origin dev 5,我觉…

javadoc 开源项目_在下一个项目中不使用JavaDoc的5大原因

javadoc 开源项目JavaDoc对于框架和库的开发是绝对必需的&#xff0c;这些框架和库为其他框架&#xff08;例如Spring Framework&#xff0c;JDK&#xff09;提供了公共接口。 对于内部企业软件和/或产品开发&#xff0c;我有以下原因会在将来忽略“ 100&#xff05;JavaDoc Po…

android拍照功能无预览,Android 无预览拍照

最近得到了一个需求&#xff0c;在后台拍照并保存public void onTakePhotoClicked() {final SurfaceView preview new SurfaceView(this);SurfaceHolder holder preview.getHolder();// deprecated setting, but required on Android versions prior to 3.0holder.setType(Su…

vim选中字符复制/剪切/粘贴

问题描述&#xff1a; vim 中选中指定字符&#xff0c;进行复制/剪切/粘贴 问题解决&#xff1a; 进入vim中visual模式&#xff0c;visual模式进入&#xff0c;可以有三种方式&#xff1a; &#xff08;1&#xff09;在普通模式&#xff08;normal&#xff09;下&#xf…

使用JavaFX构建反应系统

JavaFX是用于在Java中构建图形应用程序的新标准库&#xff0c;但是许多程序员仍然对Swing甚至&#xff08;高音&#xff09;AWT感到困惑。 在Java诞生20年来&#xff0c;发生了很多事情。 两年前&#xff0c;当我开始研究Speedment UI的JavaFX库时&#xff0c;发现很多东西很着…

android中访问手机存储空间,android – 访问手机内部存储以推入SQLite数据库文件...

我正在使用Netbeans和java开发我的android应用程序.当我使用模拟器时,我可以通过访问以下路径,data / data / com.example.helloandroid / database来访问File explorer并将SQLite数据库插入设备内部存储器但是当我使用真实设备时,我无法访问此位置以将SQLite文件推送到手机的内…

Spring中@Autowired注解、@Resource注解的区别

Spring不但支持自己定义的Autowired注解&#xff0c;还支持几个由JSR-250规范定义的注解&#xff0c;它们分别是Resource、PostConstruct以及PreDestroy。Resource的作用相当于Autowired&#xff0c;只不过Autowired按byType自动注入&#xff0c;而Resource默认按 byName自动注…

android中白色怎么表示,通知栏图标在android 5中变成白色

接受的答案不完全正确。当然&#xff0c;它会使通知图标显示颜色&#xff0c;但是这样做有一个很大的缺点-将目标SDK设置为比AndroidLolliop低&#xff01;如果您按照建议将目标SDK设置为20来解决您的白色图标问题&#xff0c;您的应用程序将不会针对AndroidLolliop&#xff0c…

Merge Sorted Array

这是一道我觉得有点不是很好的简单题 题目&#xff1a; Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:     You may assume that nums1 has enough space (size that is greater or equal to m n) to hold additi…

阿里巴巴android图标素材网,阿里巴巴矢量图标库

网站简介&#xff1a;IconFont:阿里巴巴矢量图标库是由阿里巴巴体验团队倾力打造的中国第一个最大且功能最全的矢量图标库&#xff0c;提供矢量图标下载、在线存储、格式转换等功能&#xff0c;是设计师和前端开发的便捷工具。IconFont平台是由阿里巴巴UX部门推出的矢量图标管理…

gkz cloud sql_使用Cloud SQL的Google App Engine全文搜索

gkz cloud sql许多Google AppEngine开发人员一直在等待全文搜索功能&#xff0c;特别是来自网络上最大的搜索引擎Google。 我很高兴看到Google团队正在努力&#xff0c;您可以在Google I / O 2011会议上查看&#xff1a;Bo Majewski和Ged Ellis进行的全文本搜索 。 据我所知&am…

poj1419 Graph Coloring 最大独立集(最大团)

最大独立集&#xff1a; 顶点集V中取 K个顶点&#xff0c;其两两间无连接。 最大团&#xff1a; 顶点集V中取 K个顶点&#xff0c;其两两间有边连接。 最大独立集补图的最大团最大团补图的最大独立集 #include<iostream> #include<cstring> #include<cstdio>…

android短信增加条目,Android仿短信条目右上角的红色小圆球提示气泡

可以重写View的onDraw完成该功能&#xff0c;也可以写布局文件完成该功能。现在使用布局文件完成。暂时先简单写一个TextView右上角的提示小红球&#xff0c;也可以根据需要写一个ImageView右上角的小红球提示。android:layout_width"match_parent"android:layout_he…

AccuREST Stub Runner发布

最近发布时间不错&#xff01; 我在Too Much Coding博客上的博客更多是关于发布&#xff0c;然后是关于任何具体主题;&#xff09; 在作为Brixton RC1的一部分发布Spring Cloud Sleuth之后&#xff0c;我们刚刚发布了AccuREST 1.0.4版本。 我们修复了一些错误&#xff0c;但引…

idea使用码云

每更改项目的内容会弹出框提示你是否需要发送码云更新 如果没选yes后想要更新码云 联合开发 发现回到A同事的项目中&#xff0c;Student.java并没有修改 完成后&#xff0c;发现的Student.java已经更新了&#xff0c;跟B同事的代码也是一样。因为从服务器下载了最新的代码。 …

android webview rem,Android部分webview rem计算误差记录

上周做了一个原生H5小游戏页面&#xff0c;使用rem来布局&#xff0c;然后在三星和华为的部分机型里面出现了rem计算出现误差的情况&#xff0c;截图如下在页面rem计算完成后&#xff0c;用两种方式获取font-size。然后结果不一样&#xff0c;导致某些元素通过rem计算后的值&am…

android usb弹窗权限r,Android USB权限对话框永远不会出现

我写了一个简单的应用程序,通过USB将命令发送到连接到Android 4.0平板电脑的USB打印机.出于某种原因,我无法获得声明接口和打开连接的权限.这是相关的代码&#xff1a;public class TestPrintActivity extends Activity {private UsbManager mUsbManager;private UsbDevice mDe…

mvvm 耗时加载进度条_ZK的实际应用:MVVM –加载和渲染数据

mvvm 耗时加载进度条先前的文章简要介绍了RIA框架ZK&#xff0c;以及其CSS Selector启发的控制器机制如何通过使在控制器类中引用UI组件的任务变得相对灵活来减轻UI更改所带来的一些负担。 然后&#xff0c;我们在上一篇文章中探讨了ZK中的MVVM模式如何允许单个ViewModel提供不…