精华内容
下载资源
问答
  • MATLAB 求解微分方程x=dsolve('Dx=r*(1-x/xm)*x','x(0)=x0','t')x=xm/(1+exp(-r*t)*(xm-x0)/x0)用matlab求解这个微分方程:dx/dt=36.86+xx=dsolve('Dx=36.86+x')x=-1843/50+exp(t)*C1单摆微分方程求解:x''+(g/l)sin...

    MATLAB 求解微分方程

    x=dsolve('Dx=r*(1-x/xm)*x','x(0)=x0','t')x=xm/(1+exp(-r*t)*(xm-x0)/x0)

    用matlab求解这个微分方程:dx/dt=36.86+x

    x=dsolve('Dx=36.86+x')x=-1843/50+exp(t)*C1

    单摆微分方程求解:x''+(g/l)sin(x)=0,用Matlab求解,

    1.这段程序基本没有什么错误,只是在最后调用ode45求解时候,格式有点错误,修改一下就能运行了:[t,x]=ode45(@Pendel_DGL,[0,4],[pi/2,0])2. 在编程时

    MATLAB 求解微分方程数值解

    结果:代码:clearallclcf=@(x,y)([y(2);   0.357*y(1)-0.1905*y(1)*y(2)]);[x,Y]=ode45(f,[0100]

    求解二阶微分方程

    ∵齐次方程y''-6y'+9y=0的特征方程是r²-6r+9=0,则r=3(二重根)∴此齐次方程的通解是y=(C1x+C2)e^(3x)(C1,C2是积分常数)∵设原方程的解为y=(Ax

    用Matlab编程求解 二阶微分方程:4*d^2y(t)/dt^2+y(t)=dx(t)/d(t)-0.5x(t)

    MATLAB提供了dsolve命令可以用于对符号常微分方程进行求解.语法:dsolve(‘eq’,’con’,’v’)%求解微分方程dsolve(‘eq1,eq2…’,’con1,con2…’,’v1

    利用MATLAB求解微分方程初值问题

    朋友,要根据初值积分对dM/dt积分求得M,才能求解M(t)=0或t(M)=0.solver(积分函数,积分时间,初值,设置)也是这样的数学方法.[时间,解]=solver(积分函数,积分时间,初值)

    matlab求解微分方程并画图

    symstv=dsolve('Dv=(190.708-90.64*v^2)/47.27','v(0)=0','t');t=0:0.00001:0.002;v=eval(v);plot(t,v)使用这样

    MATLAB 求解微分方程的错误

    看了看,运行了一下确实出问题 原因是在用ode数值求解时,x并不是1:0.01:3均匀分散的 解决方法:1.在画解析解和欧拉解时横轴用x的转置;在画数值解时横轴用x,已运行成功2.

    matlab求解微分方程的问题

    我运行的>>symsaknNzz1>>z=dsolve('Dx=a*x*(N-x)','t')z1=dsolve('Dx=a*x*(n-x)','t')结果:z=N0N/(exp(-N*(C3+a*t

    matlab ode45 求解二阶常微分方程

    functiontest()[t,y]=ode45(@func1,[0,1],[0;0;1;2;2;2]);figure(1);clf;plot(t,y);legend('x','y','z','dx

    matlab里的ode45求解二阶微分方程问题!

    新的matlab版本好像不鼓励采用global了.你的全局变量有点多了,哈哈.简单例子:m=2;[t,y]=ode45(@(t,x)f1(t,x,m),[0,10],[2])functiondy=f1

    matlab怎么求解偏微分方程

    Matlab偏微分方程工具箱应用简介1.概述本文只给出该工具箱的函数列表,读者应先具备偏微分方程的基本知识,然后根据本文列出的函数查阅Matlab的帮助,便可掌握该工具箱的使用.2.偏微分方程算法函数

    matlab 求解一阶偏微分方程

    i是虚数单位?那个1/3γ(u*v)中*是什么符号

    用matlab求解二阶微分方程数值解,程序出现错误,求大神指点

    1、把G=1/3*((5*Pp-2*P1)/(P1-2*Pp)-P1*c1^2/Pp*cp^2);改成G=1/3*((5*Pp-2*P1)/(P1+2*Pp)-P1*c1^2/(Pp*cp^2));表

    matlab 矩阵微分方程求解

    最常用的就是广义特征向量基础矩阵解方法.你要一个思路,我给一个2维情况的例子,其中特解x(t0)=x0的理解和如何使用都有,你看看是否够用.. Matlab下二维的例子:再问:嗯,这个不错,

    用MATLAB求解9阶微分方程用什么函数可以

    不管多少阶都可以用ode45,注意把高阶化成一阶即可,比如一个9阶微分方程可化为9个一阶方程,具体方法可网上找,很简单的

    matlab数值解法求解二阶微分方程 ODE45函数

    因为你x=0时2/x是无穷大呀,然后y'又是0,然后(2/x)y'就是nan了,所以后面算的全是nan了.

    用matlab方程求解微分方程

    y=dsolve('2000*Dy-(0.08-y*0.08)','y(0)=0','t')y=1-exp(-1/25000*t)即:C(t)=1-exp(-1/25000*t)

    展开全文
  • 最近在网上搜了很多基于C语言实现龙格-库塔法 求解二阶微分方程的相关文章,发现基本都没解决我的问题,代码也没开源,于是自己找了很多相关资料写了一个具体实现的例子方便大家理解,大家***窥一斑而知全豹*** ...

    最近在网上搜了很多基于C语言实现龙格-库塔法 求解二阶微分方程的相关文章,发现基本都没解决我的问题,代码也没开源,于是自己找了很多相关资料写了一个具体实现的例子方便大家理解,大家***窥一斑而知全豹***

    问题如下:

    在这里插入图片描述

    解题思路:

    只需要将以上式子转化成以下一阶常微分方程来求即可
    在这里插入图片描述

    实现代码:
    #include <stdio.h>
    
    double function(double x , double y[] , int j){
        if(j == 1)
            return x * y[1] + y[0] ;    //如果j = 1 ,f = x * y[1] + y[0],然后返回回去
        return y[1] ;   //否则f = y[1],然后返回f即可
    }
    
    void rungekutta(double x ,  double *y , double h){
        double ywork[2] , k0[2] , k1[2] , k2[2] , k3[2] ;
        int j ;
        for(j = 0 ; j < 2 ; ++ j)
            k0[j] = h * function(x , y , j) ;   //计算k1
        for(j = 0 ; j < 2 ; ++ j)
            ywork[j] = y[j] + 0.5 * k0[j] ;    
             //用数组ywork存储y的变化量
        for(j = 0 ; j < 2 ; ++ j)
            k1[j] = h * function(x + 0.5 * h , ywork , j);//计算k2
        for(j = 0 ; j < 2 ; ++ j)
            ywork[j] = y[j] + 0.5 * k1[j] ;   
             //将y的变化量存储到ywork中
        for(j = 0 ; j < 2 ; ++ j)
            k2[j] = h * function(x + 0.5 * h , ywork , j);//计算k3
        for(j = 0 ; j < 2 ; ++ j)
            ywork[j] = y[j] + k2[j] ;   
            //更新ywork数组,存储y的变化量
        for(j = 0 ; j < 2 ; ++ j)
            k3[j] = h * function(x + h , ywork , j) ;   //计算k4
        for(j = 0 ; j < 2 ; ++ j)
            y[j] = y[j] + (k0[j] + 2 * k1[j] + 2 * k2[j] + k3[j]) / 6;     //计算y0和y1,用j循环先求y0,再求y1
    }
    
    int main() {
        double h , x , y[2] ; //声明变量,y0,y1使用数组y[0],y[1]表示
        h = 0.1 ;
        x = 0 ;
        y[0] = 1 , y[1] = 1 ;   //设置运算初始值
        int i; 
        for(i = 0 ; i < 10 ; ++ i){
            rungekutta(x , y , h) ; 
            //调用Runge Kutta函数进行运算,传入需要用到的数值:x , y0 , y1 , h ;
            x = x + h ;
            printf("n = %d: x = %lf, y0 = %lf, y1 = %lf\n" , i + 1 , x , y[0] , y[1]) ;
        }
        return 0;
    }
    
    效果显示:

    在这里插入图片描述

    大家需要详细流程图的可以评论我,因学习繁重这里笔者就写这么多。

    展开全文
  • 朋友问题: 有微分方程如下: md2ydt2+dydtexp(t)−y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+dtdy​exp(t)−y2=5 其中, y(t=0)=1y(t=0)=1y(t=0)=1, dy/dt(t=0)=−10dy/dt (t=0) = -10...

    朋友问题: 有微分方程如下:
    md2ydt2+dydtexp(t)y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5
    其中,y(t=0)=1y(t=0)=1dy/dt(t=0)=10dy/dt (t=0) = -10
    请在区间[0,5][0, 5]内绘制两个子图,分别为dy/dtdy/dtyy,每个子图涵盖m=1m=1m=2m=2两种情况。

    所以本题的核心问题在于:用数值计算的方法求解该方程,得到各点,绘制点图。

    使用 matlab 自带的 ode45 ,方程组用句柄表示。

    ode45 参见教程:如何使用ODE45

    首先把题目方程转换,转换为 ode45 能理解的方式。

    先声明变量:
    y1=yy2=y\begin{aligned} y_1 & = y \\ y_2 & = y' \\ \end{aligned}

    于是整理方程:

    y1=y2y2=1m(5y1ey1+y12)\begin{aligned} y_1' & = y_2 \\ y_2' & = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2) \end{aligned}

    于是我们知道,ode45中要有2个变量,且将其右边的式子分别表示出来,即:

    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];
    

    其中:

    • y(2)代表 y1=y2y_1' = y_2
    • (5 - y(1)*exp(y(2)) + y(2)^2)/m代表 y2=1m(5y1ey1+y12)y_2' = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2)

    接着,规定初值:y(t=0)=1y(t=0)=1dy/dt(t=0)=10dy/dt (t=0) = -10

    y10 = 1;
    y20 = -10;
    

    规定自变量 tt 范围:

    tspan = [0, 5];
    

    输入 ode45 则为:

    [t, y] = ode45(dy, tspan, [y10, y20]);
    

    整个题目的代码为:

    % 表示该方程组
    m = 1;
    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];
    y10 = 1;
    y20 = -10;
    tspan = [0, 5];
    
    % m = 1
    [t_m_1, y_m_1] = ode45(dy, tspan, [y10, y20]);
    % m = 2
    m = 2;
    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];
    [t_m_2, y_m_2] = ode45(dy, tspan, [y10, y20]);
    
    % plot
    subplot(1, 2, 1);
    plot(t_m_1, y_m_1(:, 2));
    hold on
    plot(t_m_2, y_m_2(:, 2));
    title('dy/dt')
    legend('m=1','m=2')
    
    subplot(1, 2, 2);
    plot(t_m_1, y_m_1(:, 1));
    hold on
    plot(t_m_2, y_m_2(:, 1));
    title('y')
    legend('m=1','m=2')
    

    在这里插入图片描述

    顺便学了 ode45 ,不错。

    展开全文
  • 朋友问题: 有微分方程如下:m d 2 y d t 2 + d y d t e x p ( t ) − y 2 = 5 m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+dtdy​exp(t)−y2=5其中,y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / ...

    朋友问题: 有微分方程如下:

    m d 2 y d t 2 + d y d t e x p ( t ) − y 2 = 5 m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+dtdy​exp(t)−y2=5

    其中,y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。

    请在区间[ 0 , 5 ] [0, 5][0,5]内绘制两个子图,分别为d y / d t dy/dtdy/dt与y yy,每个子图涵盖m = 1 m=1m=1与m = 2 m=2m=2两种情况。

    所以本题的核心问题在于:用数值计算的方法求解该方程,得到各点,绘制点图。

    使用 matlab 自带的 ode45 ,方程组用句柄表示。

    ode45 参见教程:如何使用ODE45

    首先把题目方程转换,转换为 ode45 能理解的方式。

    先声明变量:

    y 1 = y y 2 = y ′ \begin{aligned} y_1 & = y \\ y_2 & = y' \\ \end{aligned}y1​y2​​=y=y′​

    于是整理方程:

    y 1 ′ = y 2 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) \begin{aligned} y_1' & = y_2 \\ y_2' & = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2) \end{aligned}y1′​y2′​​=y2​=m1​(5−y1′​ey1​+y12​)​

    于是我们知道,ode45中要有2个变量,且将其右边的式子分别表示出来,即:

    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

    其中:

    y(2)代表 y 1 ′ = y 2 y_1' = y_2y1′​=y2​;

    (5 - y(1)*exp(y(2)) + y(2)^2)/m代表 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) y_2' = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2)y2′​=m1​(5−y1′​ey1​+y12​)。

    接着,规定初值:y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。

    y10 = 1;

    y20 = -10;

    规定自变量 t tt 范围:

    tspan = [0, 5];

    输入 ode45 则为:

    [t, y] = ode45(dy, tspan, [y10, y20]);

    整个题目的代码为:

    % 表示该方程组

    m = 1;

    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

    y10 = 1;

    y20 = -10;

    tspan = [0, 5];

    % m = 1

    [t_m_1, y_m_1] = ode45(dy, tspan, [y10, y20]);

    % m = 2

    m = 2;

    dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

    [t_m_2, y_m_2] = ode45(dy, tspan, [y10, y20]);

    % plot

    subplot(1, 2, 1);

    plot(t_m_1, y_m_1(:, 2));

    hold on

    plot(t_m_2, y_m_2(:, 2));

    title('dy/dt')

    legend('m=1','m=2')

    subplot(1, 2, 2);

    plot(t_m_1, y_m_1(:, 1));

    hold on

    plot(t_m_2, y_m_2(:, 1));

    title('y')

    legend('m=1','m=2')

    ae93d99a1ef4c4496bcb76a96d246247.png

    顺便学了 ode45 ,不错。

    展开全文
  • 接到一个任务,要用四阶龙格库塔求解一个微分方程。虽然是计算机人,面对数学系的内容不能怕,果断下了个挑战书。
  • 二阶常系数线性微分方程一般形式 y'' +p y' + qy = f(x) ① (下面用到r1、r2、y1、y2、C1、C2) 一、二阶常系数齐次线性方程 其一般形式 y'' + py' + qy = 0...
  • 二阶导数的理解

    千次阅读 2019-08-25 23:28:58
    速度本身的变化率称为加速度,简单来说,就是导数的导数,记作f''(t)或者称作f(t)的二阶导数 伽利略(Galileo)观察到,经过时间t,自由落体经过的铅直距离x由公式: x=f(x)=1/2gt²给出(1) 其中g为重力加...
  • 定理: 首先要认识到二阶线性齐次微分方程的解满足的性质,值得注意的是这不仅仅是待会儿要提到的二阶线性常系数齐次微分方程满足,对于一般的二阶线性齐次微分方程也是满足的。 1.叠加原理:有限个方程的解的线性...
  • 研究了具有振动位势的二阶非线性时滞微分方程的区间强迫振动 。利用 H迸lder不等式与数学分析的方法,对于满足不同条件时的情形进行了讨论,给出了在不同条件下具有振动位势的二阶非线性时滞微分方程的区间强迫振动的...
  • 不要嘲笑我,我百度经验搬过来的二阶常系数线性非齐次方程的形式如下2基本求解思路如下,我们先要有一个总的思路用于解题3难点:对于特解的求法END一.特解求法一:待定系数法1优点:简单易懂,不易错缺点:计算量...
  • 先来介绍二阶微分方程 1,二阶线性微分方程 形如下面形式的微分方程叫做二阶线性微分方程: 若f(x)=0,称其为齐次的,否则是非齐次的。 先来看二阶微分方程解的一些性质,我们可以把这些性质推广到n阶(至少先人已经...
  • 二阶齐次线性微分方程 解的叠加 这样的处理可以让解的形式更加简洁,也便于理解的叠加原理 线性相关与线性无关 注:以下用到线性代数的知识,但这个我是上个学期自学的,可能会有错误。 就记两条准则来判断线性...
  • 二阶常系数非齐次线性微分方程 y′′+py′+qy=Pm(x)eλxy^{''}+py^{'}+qy=P_m(x)e^{\lambda x}y′′+py′+qy=Pm​(x)eλx 有形如 y∗=xkQm(x)eλxy*=x^kQ_m(x)e^{\lambda x}y∗=xkQm​(x)eλx 的特解,其中Qm(x)Qm(x)...
  • 二阶

    2020-06-08 16:49:03
    本文所说的二阶熵仅是一个定义,方便后续我的吹水,用来表示一个混乱的等级 为什么会用到这个有趣的定义?因为我需要描述我创建的系统的混乱程度,而这个系统是用来描述人工智能的。此时小伙伴千万不要认为有多...
  • D2表示二阶微分,D3表示三阶微分,以此类推。 二、函数功能介绍及例程 1、dsolve 函数 dsolve函数用于求常微分方程组的精确解,也称为常微分方程的符号解。如果没有初始条件或边界条件,则求出通解;如果有,则求...
  • 文章目录语法知识补充:(8.5 极限的计算)8.6 常微分方程的符号解8.7 平面曲线族的包络线实例演练8.6♪解二阶微分方程:♪求回路电流:♪追线问题:8.7♪直线滑动的包络线:♪炮弹抛物线包络线:总结思考 ...
  • 微分中值定理技巧,微分方程

    千次阅读 2020-06-06 08:36:53
    文章目录微分方程构造辅助函数解中值定理一阶线性微分方程构造辅助函数可降阶的二阶微分方程构造辅助函数例题拓展阅读 微分方程构造辅助函数解中值定理 一阶线性微分方程构造辅助函数 设函数f(x)f(x)f(x)在闭区间[a,...
  • 如果图像灰度变化剧烈,进行一阶微分则会形成一个局部的极值,由数学上的知识,对图像进行二阶微分则会形成一个过零点,并且在零点两边产生一个波峰和波谷,我们要设定一个阈值,检测到这个过零点,如下图所示: ...
  • 2.齐次线性微分方程

    2020-06-17 11:35:40
      本节关于二阶微分方程,首先泛化欧拉方法到二阶。其次介绍了两个定理,叠加定理和Wronskian定理。 1.欧拉方法用于高阶微分方程   对于二阶微分方程: x¨=f(t,x,x˙)\ddot{x}=f(t, x, \dot{x})x¨=f(t,x,x˙) ...
  • 本文主要介绍matlab中求解常微分方程(组)的dsolve和ode系列函数,并通过...D2表示二阶微分,D3表示三阶微分,以此类推。 二、函数功能介绍及例程 1、dsolve 函数 dsolve函数用于求常微分方程组的精确解,也称为常...
  • 1. 问题引入——以直代曲的思想、局部线性化(函数) 2. 微分的定义(可微分、可微) 3. 可微与可导具有等价关系(可微的充要条件) 4. 微分在近似计算中的应用 ...7. 二阶微分及高阶微分 ...
  • 二阶常系数线性方程的通解反推方程@(微积分)引例是这样的: 设cosxcosx与xexxe^x为某n阶常系数线性齐次方程的两个解,则最小的n = ?,相应的首项系数为1的方程是? 分析:由cosx是一个解,则必有另一解sinx,±i\...
  • 微分方程的求解方法

    千次阅读 2020-12-13 09:21:34
    二阶可降阶微分方程的求解3.高阶常系数线性微分方程的求解 前言 本文主要介绍了考研范围的微分方程的求解类型及对应的求解方法,主要内容参考自张宇《闭关修炼》,希望本文对您有所帮助。 Ⅰ.首先介绍一些关于微分...
  • 微分方程为:dx/dt=m.*A(P-(n.*R.*T)/(V-x)) 其中m=0.1、A=1.5、P=15、(n.*R.*T)=9.6814、V=4 如何用euler方法求解这个微分方程呢,如何用方向场来刻画呢,使用MATLAB来实现 求代码,感谢大佬
  • 一般都是采用教材上的待定系数法求出特解,这种方法易于理解,且步骤简单。 但是,这种方法最大的缺点就是运算繁琐,这里介绍一种运算简单的方法——微分算子法。这里我们以二阶为例说明(主要看懂例题就行了),...
  • 二阶微分方程 正文 一阶微分方程的求解 同样的,我们先通过一个例子来看一下微分方程的求解流程,然后再引出相应的问题:du1dt=−u1+2u2,du2dt=u1−2u2.initial u(0)=[10]\frac{du_1}{dt}=-u_1+2u_2,\frac{du_...
  • 微分方程

    2020-05-30 21:22:02
    经济学、物理学中的微分方程常常不可解,因为它们会涉及到二阶或者三阶导数,很难求出解析解,事实上,你只能求出数值解,数值解通常简单很多。 2. 区别 微分方程和普通方程区别:普通方程的解是一个数或一组数;...
  • 微分方程_偏微分方程

    2021-06-29 10:16:02
    通过一个经典的物理学例子来了解偏微分方程 金属板上的每一点的某一时刻的温度表示: 在简化到二维,假设有两根温度不同的金属杆,开始时每一根上所有点的温度相同 当它们的一端接触到一起之后,我们知道温度会...
  • 微分 积分 一阶导数是对原函数求导 二阶导数是对一阶导数求导 混合偏导数就是二阶导数,先对x求导数,再次对y求导数 圆的曲率是K,半径是R,半径越小的圆曲率越大,直线可以看作半径为无穷大的圆 雅可比矩阵 在向量...

空空如也

空空如也

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

二阶微分的理解