[算法] [常微分方程] [欧拉法 改进欧拉法 经典R-K算法]
#include<iostream>
#include<cmath>
#include<cstdio>
#include<iomanip>
using namespace std;
double h=0.1;//步差
double xi[]={};
double ol_yi[]={};
double gol_yi[]={};
double rk_yi[]={};
double real_yi[]={};
double f(double x,double y){
return *x/(*y*y);
}//f(x,y)
void OLFunction(){
for(int i=;i<;i++){
ol_yi[i+]=ol_yi[i]+h*f(xi[i],ol_yi[i]);
}
}//欧拉方法
void GOLFunction(){
for(int i=;i<;i++){
gol_yi[i+]=gol_yi[i]+
h*(
f(xi[i],gol_yi[i])
+f(xi[i+],gol_yi[i]+h*f(xi[i],gol_yi[i]))
)/;
}
}//改进欧拉方法
void RKFunction(){
double K1,K2,K3,K4;
for(int i=;i<;i++){
K1=f(xi[i],rk_yi[i]);
K2=f(xi[i]+h/,rk_yi[i]+h*K1/);
K3=f(xi[i]+h/,rk_yi[i]+h*K2/);
K4=f(xi[i]+h,rk_yi[i]+h*K3);
rk_yi[i+]=rk_yi[i]+h*(K1+*K2+*K3+K4)/;
}
}//经典龙格贝法
void RFunction(){
for(int i=;i<;i++){
real_yi[i]=pow(1.0+xi[i]*xi[i],/3.0);
}
}//真实解
int main(){
int i;
for(i=;i<;i++){
xi[i]=xi[i-]+h;
}//求xi[] OLFunction();//四种计算方法
GOLFunction();
RKFunction();
RFunction(); printf("-------------------------------------------------\n");
printf("xi | 欧拉 | 改进欧拉 | 经典R-K | 准确解 \n");
printf("-------------------------------------------------\n");
for(i=;i<;i++){
printf("%.1lf | %.6lf | %.6lf | %.6lf | %.8lf\n",
xi[i],ol_yi[i],gol_yi[i],rk_yi[i],real_yi[i]);
}
getchar();
return ;
}
[算法] [常微分方程] [欧拉法 改进欧拉法 经典R-K算法]的更多相关文章
- JavaScript 数据结构与算法之美 - 十大经典排序算法汇总(图文并茂)
1. 前言 算法为王. 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手:只有内功深厚者,前端之路才会走得更远. 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 ...
- 从K近邻算法谈到KD树、SIFT+BBF算法
转自 http://blog.csdn.net/v_july_v/article/details/8203674 ,感谢july的辛勤劳动 前言 前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章 ...
- (转)白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇
在我的博客对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行了详细的讲解,并做成了电子书以供大家下载.下载地址为:http://download.cs ...
- 【算法】经典的ML算法(后续结合工作实践完善心得)
18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学.目前追加了其他的一些经典的DM算法,在others的 ...
- paper 100:何恺明经典去雾算法
一:由简至美的最佳论文(作者:何恺明 视觉计算组) [视觉机器人:个人感觉学习他的经典算法固然很重要,但是他的解决问题的思路也是非常值得我们学习的] 那是2009年4月24日的早上,我收到了一封不同 ...
- 经典算法题每日演练——第七题 KMP算法
原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...
- 程序员编程艺术:第三章续、Top K算法问题的实现
程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha. 致谢:微软100题实现组,狂想曲创作组. 时间:2011年05月08日 ...
- 算法进阶面试题02——BFPRT算法、找出最大/小的K个数、双向队列、生成窗口最大值数组、最大值减最小值小于或等于num的子数组数量、介绍单调栈结构(找出临近的最大数)
第二课主要介绍第一课余下的BFPRT算法和第二课部分内容 1.BFPRT算法详解与应用 找到第K小或者第K大的数. 普通做法:先通过堆排序然后取,是n*logn的代价. // O(N*logK) pu ...
- 几种经典的hash算法
计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据.用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很 ...
随机推荐
- dubbo 使用总结
第一步: 安装注册中心Register,这里选择 zookeeper 1.zookeeper下载url:http://zookeeper.apache.org; 2.下载解压完后如下: 3.将zoo_ ...
- VC++ CEdit
CEDIT _1, //selection pEdit1->SetSel(0,strBuffer - m_strInput,0); pEdit1->SetFocus(); //the se ...
- 转载:mysql ODBC 在64位下提示找不到odbc驱动问题
在64位机器上,如果你想要连接32位mysql ,一般会安装mysql connector/ODBC 64位,并在配置ODBC数据源测试中连接正常,但在程序连接,如ASP.asp.net.VB.Del ...
- (转)iOS sqlite :truncate/delete/drop区分
转自:http://blog.sina.com.cn/s/blog_6755689f0101fofb.html 相同点: 1.truncate和不带where子句的delete.以及drop都会删除表 ...
- asp.net GDI+ 使用PathGradienBrush类实现彩色渐变
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- LeetCode OJ 150. Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- ELK日志管理
ELK一般由三部分组成:logstash(日志格式化) + elasticsearch(检索) + Kibana(前台报表展示) 官网地址:https://www.elastic.co/ 本人在这用的 ...
- 重置mysql数据库密码相关方法
方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...
- 20145225《Java程序设计》 实验五 Java网络编程及安全
20145225<Java程序设计> 实验五 Java网络编程及安全 实验报告 一.实验内容 基于Java Socket实现安全传输. 基于TCP实现客户端和服务器,结对编程一人负责客户端 ...
- 6本Android开发必备图书
学习一样新事物或许有多种方式,报培训班,看视频,向高手请教等等,但一本好书往往可以让你少走很多弯路,事半功倍.今天与大家分享一些Android开发值得一读的书籍,希望对新手安卓开发者们有所帮助. 1. ...