龙格-库塔法解常微分方程(c++)】的更多相关文章

用龙格库塔法计算 #include <iostream> #include<iomanip> #include <cmath> using namespace std; int main() { double a = 1, b = 3;      //a,b表示[a,b]求解区间 double x0 = 1, y0 = 2;      //x0表示初始时刻x的值,y0表示初始时刻y的值 double x, y;                  //x,y分别表示变化的…
#include<stdio.h> #include<math.h> #define n 14 //double func1(double x, double y); double func2(double x, double y); int main(){ double a = 0.0, b = 1.4;//求解区间为[a,b] double h, m = 0.0;//h为步长,取0.1: m为y的初值. ] = { ] = { 0.0 };//初始化数组 h = (b - a)…
引言 考虑存在以下二阶偏微分方程 \[\begin{align} f_2 \cdot \ddot{X(t)}+f_1 \cdot \dot{X(t)} +f_0 \cdot {X(t)} =F(t) \end{align} \] 如何使用四阶龙格-库塔法求解该微分方程? 一阶微分方程的解法 首先回顾下对于一阶微分方程的解法,现在有以下一阶常系数非齐次微分方程 \[\begin{align} f_1 \cdot \dot{X(t)} +f_0 \cdot {X(t)} =F(t) \end{ali…
计算科学(也称科学计算 scientific computation 或 SC)是一个快速增长的多学科领域,使用先进的计算能力来理解和解决复杂的问题. 计算科学包括三个不同的方面: 1. 开发用于解决科学(例如生物,物理和社会).工程.人文问题的算法(数值和非数值),或建模软件,或仿真软件:    2. 计算机和信息科学,开发和优化高级系统硬件,软件,网络和数据管理组件,解决计算要求严苛的问题:    3. 计算基础设施,支持科学和工程问题解决.发展计算机和信息科学: 在实际使用中,通常是从数值…
(一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. 2.利用矩阵的分解来求解线性方程组(比单单进行左除速度快) (1)LU分解(只有方阵可以使用) LU分解就是分解成一个交换下三角矩阵(也就是说进行一定的操作后才是下三角矩阵)和一个上三角矩阵(不需要变换)的乘积形式.只要A是非奇异的,就可以进行LU分解. MATLAB提供的LU分解函数对于矩阵进行…
/* 解数值微分初值问题: 龙格-库塔法求前k个初值 + 亚当姆斯法 */ #include<bits/stdc++.h> using namespace std; double f(double x,double y){ //y(0) = 1 *x/y); } void getRungeResult(double *Runge_k,double x0,double y0,double h,int N){ //求解N个初值,保存在Runge_k[1 to N]中 double K1,K2,K3…
#先上代码后补笔记# #可以直接复制粘贴调用的MATLAB函数代码!# 1. 朗格-库塔(Runge-Kutta)方法族 目前只实现了四阶Runge-Kutta方法. function [ YMat ] = Runge_Kutta( func, tvec, y_init, order ) % 朗格-库塔(Runge-Kutta)算法解常微分方程(组): % 输入四个参数:函数句柄func(接收列向量.返回列向量),积分时间列向量tvec,初值行向量y_init,阶数order: % 输出一个参数…
首先得介绍一下,在matlab中解常微分方程有两种方法,一种是符号解法,另一种是数值解法.在本科阶段的微分数学题,基本上可以通过符号解法解决.   用matlab解决常微分问题的符号解法的关键命令是dslove命令.该命令中可以用D表示微分符号,其中D2表示二阶微分,D3表示三阶微分,以此类推.值得注意的是该微分默认是对自变量t求导,也可以很容易在命令中改为对其他变量求导.   说了半天,该命令的最完整的形式如下. r=dsolve('eqn1','eqn2',...,'cond1','cond…
FDM解常微分方程 问题描述 \[\frac{d^2\phi}{dx^2}=S_{\phi} \tag{1} \] 这是二阶常微分方程(second-order Ordinary Differential Equation, ODE),考虑最简单的情况即\(S=0\),积分后可得\(\phi=c_1x+c_2\),有两个待定系数,因此要求解该方程必须提供两个边界条件(因为方程中不包含时间项,因此无初始条件),例如 \[\phi(x_L)=\phi_L \quad \phi(x_R)=\phi_R…
15.1 工业乙醇生产与计算机仿真 乙醇作为可再生清洁能源不仅可以代替四乙基铅作为汽油的防爆剂,还可以制造汽油醇.这一巨大的潜在需求促使人们去寻找提高乙醇工业生产率的途径,使人们着手于发酵工程的研究.微生物学.发酵研究的发展,使微生物反应过程的种类和规模不断扩大,其应用也深入到多个工业领域,然而由于反应涉及活细胞的参与,菌体生长及产物生成等机理复杂多变,目前尚难为人们所了解和把握,更难以进行统一的描述.人们一般通过实验的方法寻找微生物的生长规律,通过数值分析和拟合了解发酵过程的规律.这样的做法周…