精华内容
下载资源
问答
  • 我们的重点是开发和实施新的两步混合方法,用于直接求解一般的二阶常微分方程。 在该方法的开发中,采用幂级数作为基础函数,并且将出现的方程组微分系统并置在所有电网和离网点。 所得方程在选定点处插值。 然后,...
  • 方程求解程序清单 a=-1,b=2,c=-1; w=1; m=2; n=1; h = 0.02; t=0:h:30; s1=dsolve('a*D2y+b*Dy+c*y=sin(w*t)','y(0)=m,Dy(0)=n','t'); s1_n = eval(s1); hold on plot(t,s1_n,'ko'); EulerOED(a,b,c,w,m,n,h); hold ...

    方程求解程序清单 a=-1,b=2,c=-1; w=1; m=2; n=1; h = 0.02; t=0:h:30; s1=dsolve('a*D2y+b*Dy+c*y=sin(w*t)','y(0)=m,Dy(0)=n','t'); s1_n = eval(s1); hold on plot(t,s1_n,'ko'); EulerOED(a,b,c,w,m,n,h); hold off function EulerOED(a,b,c,w,x0,x1,h) A = [x0;x1]; t=0:h:30; for i = 1:1:length(t)-1 A(:,i+1) = [1,h;(-(c/a)*h),(1-(b/a)*h)]*A(:,i) + [0;(h/a)]*sin(w*t(i)); end plot(t,A(1,:),'r*'); 对于二阶全微分方程a*y''(t)+b*y'(t)+c=sin(wt) ,不同的a,b,c,w取值和初始条件会求出不同的解,通解又是由齐次解和特解组成。其中,齐次解由特征方程决定,而特解的决定因素则比较复杂。 讨论思路 (1)通解随初始条件变化情况 (2)通解随a,b,c变化情况 b^2-4ac>0(两个不同的实根) b^2-4ac=0(两个相同的重根) b^2-4ac<0(两个不同的复数根) 1).b>0 2).b=0 3).b<0 (3)通解随w变化情况 b^2-4ac=0情况 b^2-4ac<0情况 (3)通解随w变化的规律 W属于(0,1)时,随w的增大在齐次解的旁边波动 w属于(1,+),随w的增大逐渐趋近于齐次解。 Matlab解二阶常微分方程 方程:a*y''(t)+b*y'(t)+c=sin(wt) 求解:1.解析解 2.数值解(欧拉方法) 目的:1.比较两种求解方式的拟合情况 2.通解随w变化的规律 (1)通解随初始条件变化情况 Ex1: a=2,b=3,c=1,y(0)=0;y'(0)=0,w=1 Ex2: a=2,b=3,c=1,y(0)=2;y'(0)=0,w=1 Ex3: a=2,b=3,c=1,y(0)=2;y'(0)=4,w=1 (2)通解随a,b,c变化情况 Ex1: a=2,b=3,c=1,y(0)=0;y'(0)=0,w=1 Ex4: a=-2,b=3,c=1,y(0)=0;y'(0)=0,w=1 Ex5: a=2,b=-3,c=1,y(0)=0;y'(0)=0,w=1 Ex6: a=2,b=3,c=-1,y(0)=2y'(0)=1,w=1 ? EX: a=2 ,b=2*sqrt(2) ,c=1,y(0)=0;y'(0)=0,w=1 (3).b^2-4ac<0 EX:a=4,b=-1,c=2,y(0)=0;y'(0)=0,w=1 EX:a=4,b=1,c=2,y(0)=3,y'(0)=0,w=1 EX:a=4,b=0,c=1,y(0)=2;y'(0)=0,w=1

    展开全文
  • 我们明确强调了一种新的数值算法方案的推导... 用这种方法解决了二阶常微分方程的一些初值问题,我们发现该结果与理论相吻合,得出的结论是,研究中得出的新数值算法方案是近似正确的,可以为任何相关的常微分方程。
  • 常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现导读:就爱阅读网友为您分享以下“一阶常微分方程数值解的C语言编程实现”资讯,希望对您有所帮助,感谢您对92的支持!一阶常微分方程数值解的C语言编程...

    常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现

    导读:就爱阅读网友为您分享以下“一阶常微分方程数值解的C语言编程实现”资讯,希望对您有所帮助,感谢您对92的支持!

    一阶常微分方程数值解的C语言编程实现

    现实问题与分析学科自身的发展使得微积分及其涉及领域内出现了寻求数值解的诸多问题在其他数学领域亦是如此。这是由于多种原因造成的比如现实问题中函数表达式往往并不存在即使可以拟合也并没有得到表达式的必要且表达式的讨论可能出现较大误差。再比如很多复杂函数或函数约束条件很难使用甚至不能使用一般的分析工具像微分方程存在不可积、不可解的大量实例。所以数值解的相关理论不断产生、完善。特别是现代以来计算机的迅速发展为解决数值解问题提供了算法的计算机程序实现可能并提供了更多的求解思路。MathematicaMATLABMaple是最常用的数学软件对应于Mathematica语言MATLAB语言Maple语言。当然一般使用C语言也可以比较便捷地解决很多分析学科问题的数值解。举一元函数微积分学一些熟知的数值解例子数值导数常见有图解微分法、差商公式、插值多项式、拉格朗日公式拉格朗日插值公式得来、马尔科夫公式牛顿插值公式得来、等距公式、三次样条函数等等数值积分有内插求积公式最为基础的有梯形法、辛普森公式抛物线法、高斯型求积公式等等。这里考察一阶导数已解出的一阶常微分方程的初值问题的数值解。问题给出常微分方程数值解问题中一阶常微分方程与一阶常微分方程组一阶导数均解出形式的数值解法是最基础的也是非常常用的。一般数值解法有欧拉方法及改进的欧拉方法、龙格-库塔方法、阿达姆斯方法。现给出前两种方法它们都是单步法而阿达姆斯法是线性多步法各有优缺点此外计算机上常会加以使用浮动步长法如自动变步长计算方法。单步法的通用表达式是拉格朗日中值定理的形式差分代替微分是一种重要的近似思想反过来用微分代替差分亦重要欧拉方法改进的欧拉方法预报校正法龙格-库塔方法二阶龙格-库塔方法四阶龙格-库塔方法容易看出欧拉方法及改进的欧拉方法都是特殊的龙格-库塔方法。对于龙格-库塔公式常数的确立是通过单、双变量泰勒级数展式推理得到的不再叙述。另外微分方程数值解的相容性条件、收敛性问题、精度判断、误差分析等内容也不叙述。只说明龙格-库塔方法通常使用上述的二阶、四阶形式。下面给出一例这是变量可分离方程容易积分得到现写出该一阶常微分方程数值解法的一个C语言程序输出结果是分别使用欧拉方法、预报校正法、二阶龙格-库塔法、四阶龙格-库塔法得到的函数近似值组成的表格打印。程序如下 include stdio.h double fdouble xdouble y return y1-yy void main int ni float xyeyeuyeulyrk11k21yruk1k2k3k4x0y0h printfn请输入初值x scanffx0 printfy scanffy0 printf步长h scanffh printf总步数n scanfdn xx0 yeyeuyryruy0 printfn7s欧拉方法改进的欧拉方法二阶龙格-库塔方法四阶龙格-库塔方法nx fori1ini yehfxye yeulyeuhfxyeu yeuh/2fxyeufxyeul k11fxyr k21fxh/2yrh/2k11 yrhk21 k1fxyru k2fxh/2yruh/2k1 k3fxh/2yruh/2k2 k4fxhyruhk3 yruh/6k12k22k3k4 xh printf8.1f13.4f13.4f17.4f19.4fnxyeyeuyryru printfnn 执行结果如下这个程序涉及语句非常简单而且具有很强的可移植性即改变第四行return语句规定的被调函数返回值代以其它一阶常微分方程已解出的导数表达式注意相关变量的数据类型声明以及特殊常量的定义此外使用数学函数还需调用头文件math.h此程序依旧可以执行上述四种数值解法解决代换的方程的函数值求近似解问题。要说明的是这里步长应精确到十分位选取如果要进一步精确可在倒数第四行8.1f处将小数位数指定由1变成所需位数但不可过大而扰乱表格排列。本例属于基本类型的一阶微分方程直接积分已经得到结果。将精确解编入程序编写打印数值解误差的程序。突出改变重点地列出新程序语句 include math.h include stdio.h double fdouble xdouble y return y1-yy double Ydouble x return sqrt4exp2x/4exp2x-3 void main float y … xh yYx printf8.2f13.4f13.4f17.4f19.4fnxfabsye-yfabsyeu

    展开全文
  • matlab 常微分方程数值解法 源程序代码所属分类:其他开发工具:matlab文件大小:16KB下载次数:41上传日期:2019-02-13 11:03:29上 传 者:XWLYF说明:11.1 Euler方法 38011.1.1 Euler公式的推导 38011.1.2 Euler...

    matlab 常微分方程数值解法 源程序代码

    所属分类:其他

    开发工具:matlab

    文件大小:16KB

    下载次数:41

    上传日期:2019-02-13 11:03:29

    上 传 者:XWLYF

    说明:  11.1 Euler方法 380

    11.1.1 Euler公式的推导 380

    11.1.2 Euler方法的改进 383

    11.2 Runge-Kutta方法 385

    11.2.1 二阶Runge-Kutta方法 385

    11.2.2 三阶Runge-Kutta方法 388

    11.2.3 四阶Runge-Kutta方法 390

    11.2.4 隐式Runge-Kutta方法 391

    11.3 线性多步法 392

    11.3.1 Adams外推公式 392

    11.3.2 Adams内插公式 394

    11.3.3 Adams预测校正公式 395

    11.4 微分方程组的数值解 397

    11.4.1 Euler方法 397

    11.4.2 经典四阶Runge-Kutta方法 398

    11.4.3 高阶方程组的求解 399

    11.5 刚性方程组的数值解 401

    11.5.1 梯形公式 401

    11.5.2 隐式Runge-Kutta方法 402

    11.5.3 Adams隐式公式 403

    11.6 边值问题的数值解 405

    11.6.1 打靶法 405

    11.6.2 差分法 409

    11.7 MATLAB自带函数应用 411

    11.7.1 ode系列函数 411

    11.7.2 bvp系列函数 414

    11.8 应用案例 416

    (numerical methods for ordinary differential equations)

    文件列表:[举报垃圾]

    CH11, 0 , 2019-02-13

    CH11\adamscoef.m, 395 , 2017-05-20

    CH11\addallnum.m, 63 , 2017-02-27

    CH11\addrownum.m, 898 , 2017-02-14

    CH11\dpendulum.m, 3386 , 2017-05-20

    CH11\euler_trape.m, 815 , 2017-05-20

    CH11\example11_9.m, 405 , 2017-05-20

    CH11\lindiff.m, 795 , 2017-05-20

    CH11\linsht.m, 604 , 2017-05-20

    CH11\nlinsht.m, 628 , 2017-05-20

    CH11\odes_AM.m, 1025 , 2017-05-20

    CH11\odes_euler.m, 512 , 2017-05-20

    CH11\odes_imrk4.m, 1037 , 2017-05-20

    CH11\odes_rk4.m, 767 , 2017-05-20

    CH11\odes_trape.m, 796 , 2017-05-20

    CH11\ode_AB.m, 888 , 2017-05-20

    CH11\ode_ABM.m, 1083 , 2017-05-20

    CH11\ode_AM.m, 1251 , 2017-05-20

    CH11\ode_euler.m, 543 , 2017-05-20

    CH11\ode_imeuler.m, 778 , 2017-05-20

    CH11\ode_imrk4.m, 1070 , 2017-05-20

    CH11\ode_rk2.m, 716 , 2017-05-20

    CH11\ode_rk3.m, 994 , 2017-05-20

    CH11\ode_rk4.m, 771 , 2017-05-20

    CH11\spendulum.m, 1666 , 2017-05-20

    近期下载者:

    相关文件:

    收藏者:

    展开全文
  • 大意就是一个力学模型,现在需要解一个二阶常微分方程但是很复杂,大概是有(D2y=f(y)的形式,f是一个由一些向量点乘、叉乘blabla得出来的以y为自变量的函数,但主要是三角函数与多项式、分式函数迭代,或者说,这个...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    如下是我写的计算步骤,稍后解释:(不想看可以跳过~)

    %main

    %input some parameters

    m1=input('please input the mass of your leg: ');

    m2=input('please input the mass of your upper body: ');

    h1=0.5*input('please input the length of your leg: ');

    h2=0.5*input('pleae input the length of your upper body:');

    sita=input('please input the angle of dip: ');

    ga=input('please input an angle that reflects your sensitivity on reflection: (should in (0,pi))');

    r=input('please input the radius of the aparatus:');

    m0=input('please input the mass of the aparatus:');

    g=9.8;

    %transfer matrix

    A=[cos(sita) 0 sin(sita);0 1 0;-sin(sita) 0 cos(sita)];

    %angle between your leg and your body

    beta=(2*sita/pi)*(alpha-ga);

    %centroid vector in the 'double index' frame

    cm11=[r*cos(alpha) r*sin(alpha) 0];

    cm22=[(r+h2*sin(beta))*cos(alpha) (r+h2*sin(beta))*sin(alpha) 0];

    %centroid position in the normal frame

    cm1=(A*cm11')';

    cm2=(A*cm22')';

    %moment of inertia

    J=m1*r^2+0.5*m0*r^2+m2*((4/3)*(h2^2)*(sin(beta))^2+r^2+2*r*h2*sin(beta));

    %unit vector of the rotation axis in both frames

    n0=[0 0 1];

    n=(A*n0')';

    %moment to the axis due to gravity

    component=dot(n0,n);

    gra1=m1.*g.*n0-component.*n;

    gra2=m2.*g.*n0-component.*n;

    moment1=cross(cm1,gra1);

    moment2=cross(cm2,gra2);

    %dynamic differential equation

    J*(D2alpha)=dot(n,moment1)+dot(n,moment2);

    大意就是一个力学模型,现在需要解一个二阶常微分方程但是很复杂,大概是有(D2y=f(y)的形式,f是一个由一些向量点乘、叉乘blabla得出来的以y为自变量的函数,但主要是三角函数与多项式、分式函数迭代,或者说,这个模型中角度是时间的函数,而惯量张量与力矩都与角度有关= =)。。。。我没有办法化简,求问这种情况怎么求数值解啊!!!

    展开全文
  • 在本文中,我们通过将其转化为优化问题来解决获得二阶初值问题的近似的问题。 假定该可以通过多项式近似。 然后使用模拟退火技术优化多项式的系数。 数值结果表明,与现有方法相比,该方法的准确性较高。
  • 相关的理论推导请参考: 神经网络求解二阶常微分方程. 以下是程序分享 import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf import matplotlib.pyplot as plt import numpy as np import ...
  • 讨论了求解二阶线性常微分方程初值问题的差分法,给出了边界条件的2种处理方法,并对数值结果与理论计算结果进行了比较。
  • 我们要求的就是theta角和时间t之间的关系曲线,这是一道典型的二阶常微分方程的求解,用四阶龙格库塔方程可以求解。 2 古典龙格库塔算法公式: 高等数值计算课本(清华大学出版社,186页) 但是古典龙格库塔方法...
  • 常微分数值解matlab代码symODE2:具有多项式系数的二阶常微分方程的符号分析 作者:Tolga Birkandan 电子邮件:伊斯坦布尔技术大学物理系,土耳其伊斯坦布尔 34469。 详情请参阅。 提出了一种用于对具有多项式系数的...
  • 由于计算机的发展,采用数值方法求解微分方程数值近似得到广泛应用。微分方程数值解法主要包括两大类:有限差分法和有限单元法。这里主要介绍有限单元法。 However,对于一个只学过微积分和矩阵论的工科生来...
  • 05常微分方程数值解.ppt第五章,常微分方程数值解法,(Numerical s for Ordinary Differential Equations ),常微分方程分为 (1)初值问题 (2)边值问题,一、初值问题的数值解法,1 引 言,一阶常微分方程初值问题的一般...
  • 第四十九篇 二阶常微分方程的打靶法 边界值问题 当我们试图用自变量的不同值所提供的信息来二阶或更高阶的常微分方程时,我们必须使用与前面描述的不同的数值方法。 前面提到的初值问题经常涉及到“时间”作为自...
  • 1.最简模型两点边值问题 2.一般模型二阶常微分方程 3.二维椭圆型方程 4.一维抛物线方程 5.二维非齐次热传导方程
  • 具体方程的解法和背景不在赘述,见https://blog.csdn.net/Mezikov/article/details/107461970 1 代码 import math import numpy as np import matplotlib.pyplot as plt from math import e from numpy
  • matlab求解常微分方程数值解

    千次阅读 2017-08-16 19:06:27
    求解如下常微分方程组,其中有s和i两个变量 首先声明这个函数文件 function y=infect(t,x) lamp=11; u=3; y=[lamp*x(1)*x(2)-u*x(1),-lamp*x(1)*x(2)]'; x(1)代表i x(2)代表s 利用ode45对其求数值解 ode...
  • MATLAB常微分方程数值解 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 1.一阶常微分方程初值问题 2.欧拉法 3.改进的欧拉法 4.四阶龙格库塔方法 5.例题 用欧拉法,改进的欧拉法及4阶...
  • 采用有限差分法,将一类二阶线性常微分方程两点边值问题转化为绝对值方程,并给出了一个迭代算法,证明了算法的收敛性.数值实验结果表明,该方法迭代次数少、精度高.
  • 常微分方程数值方法 差分法、有限元法、谱方法等。这里只介绍显式欧拉法。 欧拉法及其变种 问题描述:在x∈[a,b]x \in [a,b]x∈[a,b]求解yyy,满足 y′=f(x,y),y(x0)=y0 y&amp;amp;#x27;= f(x,y), y(x_0)=y_0 y...
  • R语言常微分方程数值解海强作业

    千次阅读 2019-04-13 16:27:34
    一阶微分方程:一元以人口增长为例 我们使用R package deSolve ODEs 函数。 A simplified form of the syntax for solving ODEs is: ode(y, times, func, parms, …) where times holds the times at which output ...
  • 本文主要对简单的连续系统微分方程(含系数矩阵)的MATLAB数值解求法进行归纳,并绘制仿真图像。同时也对一阶和高阶微分方程求法进行总结。 系统方程为一阶积分器的连续系统 目录1. 可求解析解的微分方程2. MATLAB...
  • 一阶常微分方程数值解的C语言编程实现现实问题与分析学科自身的发展,使得微积分及其涉及领域内出现了寻求数值解的诸多问题(在其他数学领域亦是如此)。这是由于多种原因造成的,比如现实问题中函数表达式往往并不...
  • 博主在这段时间将不断更新有限差分法在偏微分方程中的应用,并以python为工具讲解三类偏微分方程的有限差分法实现。 直通链接: ...将一个问题转化为微分方程后,如何得到尽可能逼近真解的数值解,是我们...
  • 用c语言实现Euler法,附带详细使用说明文档
  • Matlab求常微分方程组的数值解

    万次阅读 多人点赞 2020-03-08 09:50:50
    上篇博客介绍了Matlab求解常微分方程组解析解的方法:博客地址 微分方程组复杂时,无法求出解析解时,就需要求其数值解,这里来介绍。 以下内容按照Matlab官方文档提供的方程来展开(提议多看官方文档) 介绍一下...
  • 1 \begin{cases} y' = \frac{1}{x^2} - \frac{y}{x} , x\in [1,2]\\ y(1) = 1 \end{cases} {y′=x21​−xy​,x∈[1,2]y(1)=1​ 用欧拉方法和改进欧拉法(h = 0.05)求 x ∈ [ 1 , 2 ] x \in [1,2] x∈[1,2]的数值解。...
  • MATLAB算法-求解微分方程数值解和解析解.ppt
  • MATLAB四阶龙格库塔法 求解微分方程数值解 部分源码 clear;clc;close all h=0.2; t=0:h:3; x(1)=1; %使用Runge-Kutta方法,计算微分方程的数值解
  • 用休恩法求一阶常微分方程数值解 ,数值计算,计算结果精确

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,262
精华内容 504
关键字:

二阶常微分方程数值解