精华内容
下载资源
问答
  • 二阶常微分方程数值解
    千次阅读
    2021-04-20 11:59:23

    1.对于二阶全微分方程a,不同的a,b,c取值会求出不同的解析

    解,解析解又是由齐次解和特解组成。其中,齐次解由特征方程决定,而特解的决定因素则比较复杂。

    2.对于二阶全微分方程的分析,我们大致分为三种情况:

    b^2-4ac>0(两个不同的实根)

    b^2-4ac=0(两个相同的重根)

    b^2-4ac<0(两个不同的复数根)

    对三种情况进行MATLAB编程,分析齐次解和特解后,再改变W的值,观察解析解的变化

    3.b^2-4ac>0的情况

    STEP1:求解析解

    s1=dsolve('D2y+3*Dy+2*y=0','y(0)=2,Dy(0)=0','t');

    s2=dsolve('D2y+3*Dy+2*y=sin(t)','y(0)=2,Dy(0)=0','t');

    s3=dsolve('D2y+3*Dy+2*y=sin(2*t)','y(0)=2,Dy(0)=0','t');

    s4=dsolve('D2y+3*Dy+2*y=sin(5*t)','y(0)=2,Dy(0)=0','t');

    s5=dsolve('D2y+3*Dy+2*y=sin(13*t)','y(0)=2,Dy(0)=0','t');

    s6=dsolve('D2y+3*Dy+2*y=sin(25*t)','y(0)=2,Dy(0)=0','t');

    STEP2:绘制图形

    (1)求w=1情况下的通解和齐次解

    t=1:0.1:10;

    s1=4*exp(-t)-2*exp(-2*t) %general solution

    s2=-3/10*cos(t)+1/10*sin(t)-11/5*exp(-2*t)+9/2*exp(-t) %special solution

    subplot(2,1,1);

    plot(t,s2);

    xlabel('t')

    ylabel('y(t)')

    title('general solution ')

    subplot(2,1,2);

    plot(t,s1);

    xlabel('t')

    ylabel('y(t)')

    title('special solution')

    更多相关内容
  • 大意就是一个力学模型,现在需要解一个二阶常微分方程但是很复杂,大概是有(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为自变量的函数,但主要是三角函数与多项式、分式函数迭代,或者说,这个模型中角度是时间的函数,而惯量张量与力矩都与角度有关= =)。。。。我没有办法化简,求问这种情况怎么求数值解啊!!!

    展开全文
  • 方程求解程序清单 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

    展开全文
  • 在本文中,我们通过将其转化为优化问题来解决获得二阶初值问题的近似的问题。 假定该可以通过多项式近似。 然后使用模拟退火技术优化多项式的系数。 数值结果表明,与现有方法相比,该方法的准确性较高。
  • 我们明确强调了一种新的数值算法方案的推导... 用这种方法解决了二阶常微分方程的一些初值问题,我们发现该结果与理论相吻合,得出的结论是,研究中得出的新数值算法方案是近似正确的,可以为任何相关的常微分方程。
  • 介绍常微分方程的 边值...只含边界条件(boundary-value condition)作为定条件的常微分方程求解问题称为常微 分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为例介绍常 用的数值方法。
  • w摘 要本文主要研究二阶常微分方程边值问题的数值解法。对线性边值问题,我们总结了两类常用的数值方法,即打靶法和有限差分方法,对每种方法都列出了详细的计算步骤和Matlab程序代码,通过具体的算例对这两类方法的...

    w

    摘 要

    本文主要研究二阶常微分方程边值问题的数值解法。对线性边值问题,我们总结了两类常用的数值方法,即打靶法和有限差分方法,对每种方法都列出了详细的计算步骤和Matlab程序代码,通过具体的算例对这两类方法的优缺点进行了细致的比较。

    关键字:常微分方程边值问题;打靶法;差分法;

    ABSTRACT

    This article mainly discusses the numerical methods for solving Second-Order boundary value problems for Ordinary Differential Equations. On the one hand, we review two types of commonly used numerical methods for linear boundary value problems, i.e. shooting method and finite difference method. For each method, we give both the exact calculating steps and Matlab codes. Moreover, we compare the advantages and disadvantages in detail of these two methods through a specific numerical example.

    Key words:Boundary-Value Problems for Ordinary Differential Equations;Shooting Method;Finite Difference Method;

    目 录

    TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc262710959" 第一章 引言 PAGEREF _Toc262710959 \h - 1 -

    HYPERLINK \l "_Toc262710960" 第二章 二阶线性常微分方程 PAGEREF _Toc262710960 \h - 3 -

    HYPERLINK \l "_Toc262710961" 2.1试射法(“打靶”法) PAGEREF _Toc262710961 \h - 4 -

    HYPERLINK \l "_Toc262710962" 2.1.1简单的试射法 PAGEREF _Toc262710962 \h - 4 -

    HYPERLINK \l "_Toc262710963" 2.1.2 基于叠加原理的试射法 PAGEREF _Toc262710963 \h - 5 -

    HYPERLINK \l "_Toc262710964" 2.2 有限差分法 PAGEREF _Toc262710964 \h - 11 -

    HYPERLINK \l "_Toc262710965" 2.2.1 有限差分逼近的相关概念 PAGEREF _Toc262710965 \h - 12 -

    HYPERLINK \l "_Toc262710966" 2.2.2 有限差分方程的建立 PAGEREF _Toc262710966 \h - 14 -

    HYPERLINK \l "_Toc262710967" 2.2.3 其他边值条件的有限差分方程 PAGEREF _Toc262710967 \h - 15 -

    HYPERLINK \l "_Toc262710968" 2.2.4 有限差分方程的解法 PAGEREF _Toc262710968 \h - 17 -

    HYPERLINK \l "_Toc262710969" 第三章 二阶非线性微分方程 PAGEREF _Toc262710969 \h - 22 -

    HYPERLINK \l "_Toc262710970" 3.1基于牛顿迭代法的打靶法 PAGEREF _Toc262710970 \h - 22 -

    HYPERLINK \l "_Toc262710971" 3.1.1 第一类边值条件推导 PAGEREF _Toc262710971 \h - 22 -

    HYPERLINK \l "_Toc262710972" 3.1.2 其他边值条件的推导 PAGEREF _Toc262710972 \h - 24 -

    HYPERLINK \l "_Toc262710973" 3.1.3 算法及程序代码 PAGEREF _Toc262710973 \h - 25 -

    HYPERLINK \l "_Toc262710974" 3.2 基于改进的牛

    展开全文
  • 我们的重点是开发和实施新的两步混合方法,用于直接求解一般的二阶常微分方程。 在该方法的开发中,采用幂级数作为基础函数,并且将出现的方程组微分系统并置在所有电网和离网点。 所得方程在选定点处插值。 然后,...
  • Matlab求常微分方程组的数值解

    万次阅读 多人点赞 2020-03-08 09:50:50
    上篇博客介绍了Matlab求解常微分方程组解析解的方法:博客地址 微分方程组复杂时,无法求出解析解时,就需要求其数值解,这里来介绍。 以下内容按照Matlab官方文档提供的方程来展开(提议多看官方文档) 介绍一下...
  • ode45解二阶微分方程

    千次阅读 2021-04-23 17:43:20
    (2)).*y(1)+0.0001*(1-y(2)).^2; dy2dx = -1e4*dy1dx + ... 高阶微分方程odefile的编写求解: ......Runge-Kutta法是常微分方程的一种经典解法 ? MATLAB 对应命令:ode45 四阶Runge-Kutta公式 yn?1 ? yn ? h 6 (k1 ? ...
  • matlab--常微分方程数值解(ODE-s)

    千次阅读 2021-08-02 18:55:22
    用ODE(ordinary differential equations)23和ODE45求解微分方程 ODE(ordinary differential equations)23 通过使用二阶和三阶隆哥-库塔方法积分微分方程得出
  • 由于计算机的发展,采用数值方法求解微分方程数值近似得到广泛应用。微分方程数值解法主要包括两大类:有限差分法和有限单元法。这里主要介绍有限单元法。 However,对于一个只学过微积分和矩阵论的工科生来...
  • 第四十九篇 二阶常微分方程的打靶法 边界值问题 当我们试图用自变量的不同值所提供的信息来二阶或更高阶的常微分方程时,我们必须使用与前面描述的不同的数值方法。 前面提到的初值问题经常涉及到“时间”作为自...
  • 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...
  • 神经网络求解二阶常微分方程(代码)

    千次阅读 2020-11-29 20:24:27
    相关的理论推导请参考: 神经网络求解二阶常微分方程. 以下是程序分享 import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf import matplotlib.pyplot as plt import numpy as np import ...
  • 1 二阶线性微分方程边值问题的 MATLAB 求解* 云 文 在 ( 包头师范学院 数学科学学院,内蒙古 包头 014030) 摘 要: 本文给出二阶线性微分方程边值问题数值算法的 MATLAB 实现,并举例进行了求解仿真及与的...
  • 采用4阶龙格库塔算法求解二阶微分方程。用VC实现数值分析中的算法。采用4阶龙格库塔算法求解二阶微分方程。用VC实现数值分析中的算法。采用4阶龙格库塔算法求解二阶微分方程。用VC实现数值分析中的算法。采用4阶龙格...
  • 1.最简模型两点边值问题 2.一般模型二阶常微分方程 3.二维椭圆型方程 4.一维抛物线方程 5.二维非齐次热传导方程
  • 本文是自己写的关于怎样利用MATLAB求解常微分方程数值解的,文中从Euler法讲起,最后总结了常用的odeXX的用法及其原理,其中包含各个函数怎样使用的MATLAB代码
  • 我们要求的就是theta角和时间t之间的关系曲线,这是一道典型的二阶常微分方程的求解,用四阶龙格库塔方程可以求解。 2 古典龙格库塔算法公式: 高等数值计算课本(清华大学出版社,186页) 但是古典龙格库塔方法...
  • 常微分数值解matlab代码symODE2:具有多项式系数的二阶常微分方程的符号分析 作者:Tolga Birkandan 电子邮件:伊斯坦布尔技术大学物理系,土耳其伊斯坦布尔 34469。 详情请参阅。 提出了一种用于对具有多项式系数的...
  • 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分...该系列主要介绍一些常用的常微分方程数值解法,主要包括:这个系列后面文章会用到前面文章的理论和技术,所以建议按照顺序查看。简介在之...
  • 接到一个任务,要用四阶龙格库塔求解一个微分方程。虽然是计算机人,面对数学系的内容不能怕,果断下了个挑战书。
  • 摘要:本课题主要研究运用有限差分法来数值求解线性及非线性的二阶常微分方程的边值问题,以差商公式替换微分方程中的各阶导数,得到差分方程。经过分析差分方程的本质,联系三对角线性方程组的Crout分解法和解非...
  • 1、如下公式: 其中x、y、m、n为参数,a、b为未知数,利用MATLAB求解方程; syms x y m n a b;[a,b]=solve('x=m*cos(a)+n*cos(a+b)','y=m*sin(a)+n*sin(a+b)','a','b');会得到四组;对a(3)、b(3)、a(4)、b(4)进行...
  • 科学计算方法21(常微分方程数值解).ppt
  • 引入首先用高数知识求解非齐次系数微分方程image.png再利用信号与系统中冲激响应求解验证image.png利用MATLAB求解验证y=dsolve('D2y+3*Dy+2*y=exp(-t)','y(0)=1','Dy(0)=2','t')得出结果:y =(t - 2 exp(-t) + 3) ...
  • 二阶初值问题常微分方程的求解

    千次阅读 2021-01-04 17:32:13
    '欧拉法函数值数值计算结果', '欧拉法导数数值计算结果']) plt.show() import numpy as np from matplotlib import pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']...
  • MATLAB-6-5常微分方程数值求解

    千次阅读 2020-06-12 15:29:23
    常微分方程数值求解1. 常微分方程数值求解的一般概念2. 常微分方程数值求解函数3. 常微分方程数值求解函数统一命名格式4. 刚性问题 1. 常微分方程数值求解的一般概念 2. 常微分方程数值求解函数 [t,y]=solver...

空空如也

空空如也

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

二阶常微分方程数值解