精华内容
下载资源
问答
  • 2021-04-21 01:41:38

    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)

    更多相关内容
  • 二阶微分方程matlab代码 this code works on matlab. It is shooting method impementation for solving second order differential equations
  • 该程序通过使用线性插值的 Rayleigh Ritz 方法给出了具有可变系数的二阶微分方程的解
  • 利用matlab的s函数求解二阶微分方程,是基于PD控制理论的学习,程序是正确可以用的。如有疑问可以看相应的博客文章说明
  • odetb23求解二阶微分方程,采用固定步长,并且可以显示计算结果,供大家参考。
  • 使用matlab解决二元二阶微分方程组的求解问题,并画出包括极坐标图在内的多幅变量间的关系图
  • 如何用matlab求解二阶微分方程,以及程序实例[归类].pdf
  • MATLAB利用ode求解二阶微分方程

    万次阅读 2020-12-17 15:02:10
    求解微分方程为: MATLAB的m文件代码如下: function xp=order1(t,x) xp=zeros(2,1); %x1=y,x2=y' xp(1)=x(2); xp(2)=(200*t-0.5*(x(2))^2)/(20*t); end 在命令行中调用代码如下: [t,x]=ode45(‘order1’,[1 ...

    MATLAB利用ode45求解二阶微分方程

    ==================================================

    求解微分方程为:
    在这里插入图片描述

    ==================================================
    MATLAB的m文件代码如下:

    function xp=order1(t,x)
    xp=zeros(2,1);          %x1=y,x2=y'
    xp(1)=x(2);
    xp(2)=(200*t-0.5*(x(2))^2)/(20*t);
    end
    
    

    ==================================================

    在命令行中调用代码如下:

    [t,x]=ode45(‘order1’,[1 40],[0 0]);
    figure;
    plot(t,x(:,1),‘r’);

    ==================================================

    这是一套固定思路,因ode45只能对y’=f(t,y)形式的函数求解,故做变化:
    在这里插入图片描述
    这样变化以后,就可以求解二阶微分方程了。

    plot(t,x(:,1))plot(t,x(:,2)) 可以分别显示 y’y’’ 的解,这里不一一列出,具体过程参考程序

    ==================================================

    运行结果如下:
    在这里插入图片描述

    展开全文
  • 近几天没事,开始学习一下Matlab S函数求解二阶微分方程,具体方程表达式如下: D(q)q¨+C(q,q˙)q˙=τD\left( q \right)\ddot q + C(q,\dot q)\dot q = \tauD(q)q¨​+C(q,q˙​)q˙​=τ (2.1) τ=Kde˙+Kpe\tau ...

    近几天没事,开始学习一下Matlab S函数求解二阶微分方程,具体方程表达式如下:
    D ( q ) q ¨ + C ( q , q ˙ ) q ˙ = τ D\left( q \right)\ddot q + C(q,\dot q)\dot q = \tau D(q)q¨+C(q,q˙)q˙=τ (2.1)
    τ = K d e ˙ + K p e \tau = {K_d}\dot e + {K_p}e τ=Kde˙+Kpe (2.2)
    其中, e ˙ = q ˙ d − q ˙ \dot e = {\dot q_d} - \dot q e˙=q˙dq˙ e = q d − q e = {q_d} - q e=qdq q q q实际输出结果, q d q_d qd期望输出的结果。
    仿真参数设置如下:
    p = [ 2.90 ,   0.76 ,   0.87 ,   3.04 ,   0.87 ] T p=[2.90, \space 0.76, \space 0.87, \space 3.04, \space 0.87]^T p=[2.90, 0.76, 0.87, 3.04, 0.87]T q 0 = [ 0.0 ,   0.0 ] T q_0 = [0.0,\space 0.0]^T q0=[0.0, 0.0]T q ˙ 0 = [ 0.0 ,   0.0 ] T \dot q_0 = [0.0,\space 0.0]^T q˙0=[0.0, 0.0]T q d ( 0 ) = [ 1.0 ,   1.0 ] T q_d(0) = [1.0,\space 1.0]^T qd(0)=[1.0, 1.0]T K p = d i a g ( [ 100 ,   100 ] ) K_p = diag([100, \space 100]) Kp=diag([100, 100]) K d = d i a g ( [ 100 ,   100 ] ) K_d = diag([100, \space 100]) Kd=diag([100, 100]) D ( q ) = [ p 1 + p 2 + 2 p 3 c o s q 2 ,   p 2 + p 3 c o s q 2 ;   p 2 + p 3 c o s q 2 ,   p 2 ] D\left( q \right) = [p_1+p_2+2p_3cosq_2,\space p_2+p_3cosq_2;\space p_2+p_3cosq_2,\space p_2] D(q)=[p1+p2+2p3cosq2, p2+p3cosq2; p2+p3cosq2, p2] C ( q , q ˙ ) = [ − p 3 q ˙ 2 s i n q 2 ,   − p 3 ( q ˙ 1 + q ˙ 2 ) s i n q 2 ;   p 3 q ˙ 1 s i n q 2 ,   0 ] C(q,\dot q)=[-p_3\dot q_2 sin q_2,\space -p_3(\dot q_1 + \dot q_2) sin q_2; \space p_3\dot q_1 sin q_2,\space 0] C(q,q˙)=[p3q˙2sinq2, p3(q˙1+q˙2)sinq2; p3q˙1sinq2, 0]
    编程分析,首先等式(2.1)左右都含有带求解未知数q,所以把等式左右两边都写成S函数求解。等式(2.2)S函数编写分析:左边 τ \tau τ当成输出,是个二维向量。右边有两个输入变量 q ˙ , q \dot q,q q˙,q,其中 q ˙ d , q d \dot q_d,q_d q˙d,qd是常数已知。每个变量又都是二维向量,所以S函数的输入数量 4,输出数量 2,并且输出和输入是有关系的直接反馈参数设置1,其他参数默认。

    编写等式(2.2)分析,等式可以改写成: D ( q ) q ¨ = τ − C ( q , q ˙ ) q ˙ D\left( q \right)\ddot q = \tau - C(q,\dot q)\dot q D(q)q¨=τC(q,q˙)q˙,这个一个矩阵求解:可以写成两种形式: q ¨ = i n v ( D ( q ) ) ∗ ( τ − C ( q , q ˙ ) q ˙ ) \ddot q = inv(D\left( q \right))*\left( \tau - C(q,\dot q)\dot q \right) q¨=inv(D(q))(τC(q,q˙)q˙)或者 q ¨ = ( D ( q ) ) \ ( τ − C ( q , q ˙ ) q ˙ ) \ddot q = (D\left( q \right)) \backslash \left( \tau - C(q,\dot q)\dot q \right) q¨=(D(q))\(τC(q,q˙)q˙)。第二种求解方法比较快并且精度高,推荐第二种方法求解。由于是个二阶微分方程,且每个变量是二维所以S函数的连续状态变量数是 4,输出分别是变量 q , q ˙ q,\dot q q,q˙,所以输出变量数也是4,此处的4个输出会作为等式(2.1)的输入,数量必须相同。输入变量是 τ \tau τ,所以输入变量数是 2。由于输出函数sys=mdlOutputs(t,x,u)中,sys = x,x是状态变量,输出和输入没有直接关系,所以直接反馈参数理论上应该设置0,但实际上设置1结果也是正确的,由于能力有限暂时不清楚原因。

    由于CSND插入MATLAB代码失败所以,把文件压缩上传到CSDN共大家参考。
    https://download.csdn.net/download/cswh876908060/12151665
    如有问题或者需要代写,代做,指导,请联系QQ:876908060

    展开全文
  • 二阶微分方程数学科学计算 Matlab代码以数字方式解决科学问题 用LU分解和本征分解求解线性方程组 使用矩阵的最小二乘回归 求解一阶和二阶常微分方程的数值方法 二阶Runge-Kutta方法求解微分方程
  • 1_基于MATLAB求解微分方程数值解和解析解.ppt数学建模
  • 朋友问题: 有微分方程如下: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 ,不错。

    展开全文
  • 数值分析:用Matlab解常微分方程。 该项目是在2015-2016年的一门大学课程(数值方法)中开发的。 注释以西班牙语显示,但的注释以英语显示。 ##职能 funccorazon.m-心形 funcvanderpol.m-范德波尔振荡器 ...
  • 许多物理现象随着时间而发生变化、如热传导过程、气体扩散过程和波的传播过程都与时间有关。...利用MATLAB有限差分法解这类问题,就是从初始值出发,通过差分格式沿时间增加的方向,逐步求出微分方程的近似解。
  • 是一系列已实现的神经网络,用于求解微分方程。 该项目属于作者在米兰理工大学航空工程中的硕士论文“求解微分方程的现代非确定性方法:机器学习应用于纳维-斯托克斯方程”。 为了完整起见,这里报告了硕士论文...
  • 求解偏微分的代码偏微分方程求解器 此 MATLAB 代码用于可视化存在振动欧拉梁时流体域的压力和速度场。 求解器使用有限差分来求解梁的四阶微分方程。 流体是根据分析推导实现的,并与结构振动耦合。
  • 不连续伽辽金法是一种求解各种偏微分方程的数值方法。 此代码的开发基于由Jan S. Hesthaven和Tim Warburton在其著作Nodal Discontinuous Galerkin Method 中开发的MATLAB代码版本。 此代码是使用 python 库开发的,...
  • 有hxd能教教me怎么解类似于这种微分方程嘛,得到θ关于t的曲线图嘛,θ范围(7°-10°)
  • 一、以下公式: 其中x、y、m、n为参数,a、b为未知数,利用MATLAB求解方程;spa syms x y m n a b;code[a,b]=solve('x=m*cos(a)+n*cos(a+b)','y=m*sin(a)+n*sin(a+b)','a','b');blog会获得四组解;对a(3)、b(3)、a(4...
  • MATLAB求解微分方程(扩散方程)有限差分法,处理偏微分方程
  • ![图片说明](https://img-ask.csdn.net/upload/202010/30/1604047742_249951.jpg) 二阶微分方程如何求解,对x,不胜感激
  • 一个微分方程可以通过多种方法求解。 我已经介绍了 simulink 方法来解决微分方程。 que 显示在屏幕截图中。 非常欢迎查询和评论。 :)
  • 制定并数值求解微分方程。 确定并实施最合适的数值方法来解决特定类型的工程问题。 此外,能够认识到数值方法的优点,缺点和局限性。 该课程将对微分方程的解析解与数值解法相结合,这在很大程度上依赖于Matlab。 ...
  • 8程序包含两种方法,四阶显式Runge-Kutta法和隐式Runge-Kutta法。代码清晰,注释简明,方便数值分析学习使用。
  • 如何用matlab求解非线性微分方程组(基于龙格库塔的数值微分算法)?.docx
  • M=[2,0;0 1 ]; %质量矩阵K=[6 -2;-2 4]; %刚度矩阵a=0;b=0;C=a*K+b*M;dt=0.28;t=0:dt:2.8;ft0=zeros(length(K),length(t));for i=1:length(t)ft0(1,i)=10;%在节点4的竖直方向加大小为200N的阶跃力e...
  • 接到一个任务,要用四阶龙格库塔求解一个微分方程。虽然是计算机人,面对数学系的内容不能怕,果断下了个挑战书。
  • 求解偏微分的代码薛定谔偏微分方程:数值解和模拟。 作者:Alejandro Galván、Daniel Quiles 和 Bernat Ramis - UPC 数学和工程物理专业的学生。 这项工作的目的是研究数值方法对求解薛定谔偏微分方程的适用性。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,063
精华内容 4,025
关键字:

matlab求解二阶微分方程

matlab 订阅