[算法] [常微分方程] [欧拉法 改进欧拉法 经典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 }
[算法] [常微分方程] [欧拉法 改进欧拉法 经典R-K算法]相关推荐
- matlab分类算法代码,实现几种经典的分类算法(ID3,C4.5等)
mitmatlab(分类) mitmatlab ADDC.m AGHC.m About.bmp Ada_Boost.m BIMSEC.m Backpropagation_Batch.m Backpro ...
- 一阶欧拉近似matlab,MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程.doc
MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程 姓名:樊元君 学号:2012200902 日期:2012.11.06 一.实验目的 掌握改进欧拉法与四阶龙格-库塔求解一阶常微分方程的初值问题 ...
- [常微分方程的数值解法系列三] 改进欧拉法(预估校正法)
改进欧拉法 简介 预估-校正 截断误差 例子 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其中主要就是求解微分方程.但之前求解微分方程的解析方法主 ...
- 微分方程的数值解法——常微分方程——欧拉法与改进欧拉法(2)
改进欧拉法 与上一篇中实例相比,改进欧拉法多了一步修正过程,正是应为有了该一步修正过程使得数值解法具有更高一级精度. 先看下面两幅图,第一幅是没有改进的欧拉法,第二幅是改进的欧拉法 两者相比误差有很大 ...
- 欧拉法,改进欧拉法吗,四阶龙格库拉法 c++代码
参考 https://blog.csdn.net/deepsprings/article/details/109850766 #include<iostream> #include< ...
- 欧拉法和改进欧拉法的matlab求解
期末作业,水博客 欧拉法 function result = Euler(f,y0,x0,x1,h)F = matlabFunction(f); l = (x1-x0)/h; result = zer ...
- 机器学习算法清单!附Python和R代码
来源:数据与算法之美 本文约6000字,建议阅读8分钟. 通过本文为大家介绍了3种机器学习算法方式以及10种机器学习算法的清单,学起来吧~ 前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人 ...
- 改进的白骨顶鸡优化算法(Improved Coot Optimization Algorithm,ICOOT)(原文作者)
改进的白骨顶鸡优化算法(Improved Coot Optimization Algorithm,ICOOT)(原文作者) 一.算法灵感 二.算法介绍 2.1 初始化 2.2 跟随者位置更新(探索阶段 ...
- 基于信息熵确立权重的topsis法_一种基于改进多目标粒子群算法的受端电网储能优化配置方法与流程...
本发明涉及受端电网中储能的规划问题,具体涉及一种基于改进多目标粒子群算法的受端电网储能优化配置方法. 背景技术: 随着煤炭等非可再生.高污染的能源总量日益减少,我国的电能结构正由火力发电向低碳化的清洁 ...
最新文章
- [转] SQL Server中变量的声明和使用方法
- 雷军:小米二为何不用1300万像素相机_TechWeb
- Java后端简历模板,转疯了!
- 如何去除C#Strings中的空格?
- 【CV】使用Keras和迁移学习从人脸图像中预测体重指数BMI
- 第1章 Express MongoDB 搭建多人博客
- SAP License:SAP顾问的可持续性发展
- 【白皮书分享】2020胡润大健康白皮书-胡润百富.pdf(附下载链接)
- 树莓派4B开机自动挂载移动硬盘,以及遇到the root account is locked问题
- aes 结尾 特殊字符_九阳语文班同学分享第一季“开头结尾” ——首尾呼应
- nagios的check_tcp,check_udp插件的使用文档
- android DVM
- STK之Commu模块之二-仿真同步卫星与地面站通信显示EIRP分布
- fastadmin常规错误排查
- 怎么修改teredo服务器,技术员设置win7系统通过teredo连接IPv6的修复方案
- python有道字典_Linux下自制有道词典 - python 解密有道词典JS加密
- 单线激光雷达(Lidar)学习一:使用单线lidar进行测距
- python修改悦跑圈数据_悦跑圈刷数据插件下载-悦跑圈刷步数插件下载5.9.2安卓版-西西软件下载...
- typescript Type 'NodeListOfany' must have a '[Symbol.iterator]()' method that returns an iterato
- 怎么使用ArcMap进行洪水淹没分析
热门文章
- TI IPNC Web网页之网页修改教程
- 【OpenCV 】直方图均衡化,直方图计算,直方图对比
- 一句话说清聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM
- spl_autoload_register与autoload区别
- 死锁问题分析的利器——valgrind的DRD和Helgrind
- LIVE555中RTSP客户端接收媒体流分析及测试代码
- CreateStructuringElementEx
- 大学生如何合理使用计算机,大学生计算机合理使用引导分析
- python字符串常量_python教程---字符串常量ascii_letters、punctuation、digits、whitespace等...
- 自定义html托管,10分钟搞定“傻瓜式”的静态网站搭建托管之旅