当前位置: 首页 > 编程日记 > 正文

[算法] [常微分方程] [欧拉法 改进欧拉法 经典R-K算法]


复制代码
 1 #include<iostream>
 2 #include<cmath>
 3 #include<cstdio>
 4 #include<iomanip>
 5 using namespace std;
 6 double h=0.1;//步差
 7 double xi[11]={0};
 8 double ol_yi[11]={1};
 9 double gol_yi[11]={1};
10 double rk_yi[11]={1};
11 double real_yi[11]={1};
12 double f(double x,double y){
13     return 2*x/(3*y*y);
14 }//f(x,y)
15 void OLFunction(){
16     for(int i=0;i<10;i++){
17         ol_yi[i+1]=ol_yi[i]+h*f(xi[i],ol_yi[i]);
18     }
19 }//欧拉方法
20 void GOLFunction(){
21     for(int i=0;i<10;i++){
22         gol_yi[i+1]=gol_yi[i]+
23             h*(
24                 f(xi[i],gol_yi[i])
25                 +f(xi[i+1],gol_yi[i]+h*f(xi[i],gol_yi[i]))
26             )/2;
27     }
28 }//改进欧拉方法
29 void RKFunction(){
30     double K1,K2,K3,K4;
31     for(int i=0;i<10;i++){
32         K1=f(xi[i],rk_yi[i]);
33         K2=f(xi[i]+h/2,rk_yi[i]+h*K1/2);
34         K3=f(xi[i]+h/2,rk_yi[i]+h*K2/2);
35         K4=f(xi[i]+h,rk_yi[i]+h*K3);
36         rk_yi[i+1]=rk_yi[i]+h*(K1+2*K2+2*K3+K4)/6;
37     }
38 }//经典龙格贝法
39 void RFunction(){
40     for(int i=1;i<11;i++){
41         real_yi[i]=pow(1.0+xi[i]*xi[i],1/3.0);
42     }
43 }//真实解
44 int main(){
45     int i;
46     for(i=1;i<11;i++){
47         xi[i]=xi[i-1]+h;
48     }//求xi[]
49     
50     OLFunction();//四种计算方法
51     GOLFunction();
52     RKFunction();
53     RFunction();
54 
55     printf("-------------------------------------------------\n");
56     printf("xi  | 欧拉     | 改进欧拉 | 经典R-K  | 准确解 \n");
57     printf("-------------------------------------------------\n");
58     for(i=0;i<11;i++){
59         printf("%.1lf | %.6lf | %.6lf | %.6lf | %.8lf\n",
60             xi[i],ol_yi[i],gol_yi[i],rk_yi[i],real_yi[i]);
61     }
62     getchar();
63     return 0;
64 }
复制代码


本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/3771104.html,如需转载请自行联系原作者

相关文章:

刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

轻松实现QQ用户接入

1. 申请合作伙伴ID (PID),Key (PKey)2. 发送请求 https://graph.qq.com/oauth2.0/authorize?response_typecode&client_id100000353&redirect_urihttp://www.wodongni.com/loginReturn.aspx redirect_uri:回传URL client_id: 合作伙伴ID (PID) 返回&#xff1a; …

web前端培训之Javascript如何改变数组的长度?

修改数组长度 使用“数组名.length”可以获取或修改数组的长度。数组长度的计算方式为数组中元素的最大索引值加1&#xff0c;示例代码如下。 var arr [a, b, c]; console.log(arr.length); //输出结果:3 在上述代码中&#xff0c;数组中最后一个元素是c&#xff0c;该元素的索…

刻意练习:LeetCode实战 -- Task17. 最长回文子串

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

CvBlobTrackerCC 多目标跟踪算法简析

&#xff08;1&#xff09;跟踪器的建立&#xff1a;对新产生的目标&#xff0c;且宽&#xff08;高&#xff09;大于5时&#xff0c;建立跟踪器 &#xff08;2&#xff09;Kalman滤波&#xff1a;用Kalman滤波器对目标当前的方位、大小做出预测 目标特征矢量采用(x, y, dx, dy…

linux基础学习(二)

------------------------------------------------------------------------------------------------------------------------------------------------0.真机远程管理虚拟机telnet 明文传输 tcp 23ssh 加密传输 tcp 22ssh -X root172.25.0.11 //真机远程管理 ser…

ui设计培训需要什么基础?如何入门学习?

​ UI设计是一种直观面向用户的一个技术岗位&#xff0c;在互联网公司&#xff0c;UI设计岗位是不可或缺的&#xff0c;那么对于零基础想要学习UI设计的同学来说&#xff0c;ui设计培训需要什么基础?如何入门学习呢?我们来看看下面的详细介绍。 ​  ui设计培训需要什么基础…

SQL Server日志清除的两种方法 .

在使用过程中大家经常碰到数据库日志非常大的情况&#xff0c;在这里介绍了两种处理方法…… 方法一 一般情况下&#xff0c;SQL数据库的收缩并不能很大程度上减小数据库大小&#xff0c;其主要作用是收缩日志大小&#xff0c;应当定期进行此操作以免数据库日志过大。 1、设置数…

刻意练习:LeetCode实战 -- Task18. 正则表达式匹配

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

CentOS7启动图形界面

1.yum groupinstall "GNOME Desktop" -y 2.systemctl get-default 3.systemctl set-default graphical.target 4.systemctl get-default 5.reboot

Java培训学习步骤有哪些

最近几年&#xff0c;有很多学习java技术的同学都有过半途而废的想法&#xff0c;认为java零基础是很难学会的&#xff0c;其实出现这样的问题&#xff0c;最主要的原因就是学习方法有问题&#xff0c;下面小编整理的Java培训学习步骤&#xff0c;希望能够帮助大家更有效的学习…

extjs 4 tab panel得strip在IE下右偏解决办法

这是受 align"center" 影响造成的转载于:https://www.cnblogs.com/rav009/archive/2011/12/31/5131240.html

Vbox共享文件夹不显示了

博主之前装的虚拟机没啥问题&#xff0c;按部就班&#xff0c;打开“我的电脑”可以看到主机上的共享文件夹&#xff0c;最近重装了一波&#xff0c;各种问题就来了&#xff0c;包括共享文件夹设置好后&#xff0c;看不见了。 介绍比较麻烦的方案&#xff0c;就是打开“我的电脑…

刻意练习:LeetCode实战 -- Task19. 相同的树

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

找Java培训机构需要注意那些

​ java技术在互联网行业已经是众所周知的一个编程热门技术&#xff0c;市面上也出现了很多java培训机构&#xff0c;那么想要找到一个适合自己且比较专业的java培训机构应该注意哪些呢?下面小编就为大家详细的介绍一下找Java培训机构需要注意那些? ​  找Java培训机构需要…

字符串的最大相似匹配

字符串的最大相似匹配计划中&#xff0c;kmp完后&#xff0c;本篇继续。。。转载于:https://www.cnblogs.com/springmvc-hibernate/archive/2011/12/31/2484048.html

刻意练习:LeetCode实战 -- Task20. 对称二叉树

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

洛谷 P1598 垂直柱状图【字符串+模拟】

P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母&#xff08;全都是大写的&#xff0c;每行不超过72个字符&#xff09;&#xff0c;然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。 输入输出格式 输入格式&…

java开发培训中消息中间件的优势有哪些

系统解耦 交互系统之间没有直接的调用关系&#xff0c;只是通过消息传输&#xff0c;故系统侵入性不强&#xff0c;耦合度低。 提高系统响应时间 例如原来的一套逻辑&#xff0c;完成支付可能涉及先修改订单状态、计算会员积分、通知物流配送几个逻辑才能完成;通过MQ 架构设计&…

UIView 的 autoresizingMask 属性 详解。

在 UIView 中有一个autoresizingMask的属性&#xff0c;它对应的是一个枚举的值&#xff08;如下&#xff09;&#xff0c;属性的意思就是自动调整子控件与父控件中间的位置&#xff0c;宽高。 enum { UIViewAutoresizingNone 0, UIViewAutoresizingFle…

刻意练习:LeetCode实战 -- Task21. 二叉树的最大深度

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

spring中@value注解需要注意

转自&#xff1a;https://blog.csdn.net/qiuhan/article/details/47089329 首先&#xff0c;value需要参数&#xff0c;这里参数可以是两种形式&#xff1a;Value("#{configProperties[t1.msgname]}")或者Value("${t1.msgname}")&#xff1b; 其次&#xf…

学Java需要用到的软件快收藏!

java编程语言学起来是比较繁琐的&#xff0c;很多java工程师不管是工作还是学习&#xff0c;都会用到一些辅助工具&#xff0c;对于想要学习java技术的人来说&#xff0c;利用java辅助软件学习会比较更有效率&#xff0c;下面小编就为大家一一整理一下学Java需要用到的软件有哪…

刻意练习:LeetCode实战 -- Task22. 二叉树的中序遍历

背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式&#xff0c;即选择了五个知识点&#xff08;数组、链表、字符串、树、贪心算法&#xff09;&#xff0c;每个知识点选择了…

Oracle round函数是什么意思?怎么运用?

如何使用 Oracle Round 函数 (四舍五入) 描述 : 传回一个数值&#xff0c;该数值是按照指定的小数位元数进行四舍五入运算的结果。 SELECT ROUND( number, [ decimal_places ] ) FROM DUAL 参数: number : 欲处理之数值 decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ) S…

Spring MVC前后端的数据传输

本篇文章主要介绍了Spring MVC中如何在前后端传输数据。 后端 ➡ 前端 在Spring MVC中这主要通过Model将数据从后端传送到前端&#xff0c;一般的写法为&#xff1a; RequestMapping(value "/index", method RequestMethod.POST) public String index(Model model)…

参加java培训,要避免这几个误区!

​ java技术在近几年学习的人越来越多&#xff0c;小编在这里提醒同学们&#xff0c;想要学好java技术&#xff0c;除了报班系统培训之外&#xff0c;还要找到适合自己的学习方法&#xff0c;以下几点误区同学们一定要避免! ​  参加java培训&#xff0c;要避免这几个误区! 1…

SQL优化整理。

其实SQL能力很差劲&#xff0c;简单查询还成&#xff0c;复杂查询以及优化&#xff0c;基本脑子里没有概念。了解一下概念&#xff0c;然后打算找本理论书好好看看。 先到处找了些优化的sql&#xff0c;整理出来&#xff0c;记录一下。1、对查询进行优化&#xff0c;应尽量避免…

PHP开发框架之YII框架学习——碾压ThinkPHP不是梦

前 言 JRedu 程序猿是一种慵懒的生物&#xff01;能少敲一行代码&#xff0c;绝对不会多敲一个字符&#xff01;所以&#xff0c;越来越多的开发框架应运而生&#xff0c;在帮助我们完成功能的同时&#xff0c;极大程度上也帮我们节省了人力物力&#xff0c;而且也提高了系统的…

刻意练习:LeetCode实战 -- 二叉树的前序遍历

背景 今天&#xff0c;第二期基础算法&#xff08;Leetcode&#xff09;刻意练习训练营 的打卡任务是二叉树的中序遍历&#xff0c;由于二叉树的遍历方式通常来说有四种&#xff1a;前序遍历、中序遍历、后序遍历以及层次遍历&#xff0c;而LeetCode也有二叉树的前序遍历题目&…