精华内容
下载资源
问答
  • %desolve中没指定自变量x,这里默认为t,带入任意一个x值 >> y=eval(y) y = 1.1932 + 0.0000i 这是解方程的方法,画图也差不多,我在命令窗写的改麻烦,下面是我在editor写的. syms a b c d e; y=dsolve('a*D2y+b*Dy+c*y=...

    共回答了23个问题采纳率:87%

    clear

    >> syms a b c d e;

    >> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e')

    y =

    (2*a*e + b*d + d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b - (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2)) - (2*a*e + b*d - d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b + (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2))

    >> a=1;b=1;c=1;d=1;e=1;%若常数已知

    >> t=1;%desolve中没指定自变量x,这里默认为t,带入任意一个x值

    >> y=eval(y)

    y =

    1.1932 + 0.0000i

    这是解方程的方法,画图也差不多,我在命令窗写的改麻烦,下面是我在editor写的.

    syms a b c d e;

    y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e','x');

    x=200:0.1:400;%取值范围,步长

    a=1;b=1;c=1;d=1;e=1;%带入参数

    y=eval(y);

    plot(x,y)

    你补充问题的方程解得也是一个空的,并报错,或许就是无解的,我也很疑问.

    打字不易,

    1年前

    1

    展开全文
  • (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 ? ...

    (2)).*y(1)+0.0001*(1-y(2)).^2; dy2dx = -1e4*dy1dx + 3000*(1-y(2)).^2; f = [dy1dx; dy2dx]; 高阶微分方程odefile的编写求解: ......

    Runge-Kutta法是常微分方程的一种经典解法 ? MATLAB 对应命令:ode45 四阶Runge-Kutta公式 yn?1 ? yn ? h 6 (k1 ? 2k2 ? 2k3 ? k4 ) k1 ? f (......

    Runge-Kutta法是常微分方程的一种经典解法 ? MATLAB 对应命令:ode45 四阶Runge-Kutta公式 h yn ?1 ? yn ? (k1 ? 2k 2 ? 2k3 ? k 4 ) 6 k1 ? ...

    ODE) 初值问题---给出初始值 边值问题---给出边界条件 与初值常微分方程解算有关的指令 ode23 ode45 ode113 ode23t ode15s ode23s ode23tb 一.解ODE的基......

    (tn1) 方法 的近似值 yn1 时只用到 tn , yn ,是自开始 Runge-Kutta法是常微分方程的一种经典解法 MATLAB 对应命令:ode45 四阶Runge-Kutta公式 yn1 yn h......

    (tn1) 的近似值 yn1 时只用到 tn , yn ,是自开始方法 Runge-Kutta法是常微分方程的一种经典解法 MATLAB 对应命令:ode45 四阶Runge-Kutta公式 yn1 yn h ......

    [dy1dx; dy2dx]; 高阶微分方程odefile的编写 求解: y&q...

    t ? 10 s 这是一个二阶微分方程组,可以引进变量 x 2 ? t ? ? x1 ? t ? ,由此 ODE 可以化成如下形式 本文参考 薛定宇《控制系统计算机辅助设计——......

    《MATLAB 语言及应用》 大作业姓名: 学号: 学院: 班级: 题目编号: 2013 年 10 月 13 4 阶 Runge-Kutta 法求解一阶常微分方程。一、 Runge-Kutta 法的数学......

    《MATLAB 语言及应用》 大作业姓名: 学号: 学院: 班级: 题目编号: 2013 年 10 月 13 4 阶 Runge-Kutta 法求解一阶常微分方程。一、 Runge-Kutta ......

    能熟练使用 dsolve 函数解析求解常微分方程; 3. 能熟练运用 ode45、ode15s 求解器分别数值求解非刚性和刚性常微分方程; 4. 学习用求解器来绘制相图的方法。 二......

    用字符串表示常微分方程,自变量缺省时为t,导数用 D表示微分。y的2阶导数用D2y表示,依此类推。 如何调用? [T,Y,TE,YE,IE]=solver('odefun',tspan,y0,......

    4.解微分方程的 MATLAB 命令 MATLAB 中主要用 dsolve 求符号解析解,ode45,ode23,ode15s 求数值解。 s=dsolve(‘方程 1’, ‘方程 2’,…,’初始条件 1’......

    常微分方程数值解 二、初值问题求解函数 2. 函数介绍函数 ode45 ode23 问题类型 精确度 非刚性 非刚性 中等 低 说明 采用算法为4-5阶Runge-Kutta法,大多数 ......

    ode15s 短 ode23tb 刚性 梯形算法;低精度 当精度较低时,计算 时间比 ode15s 短 说明:ode23、ode45 就是极其常用得用来求解非刚性得标准形式得一阶微分 方程......

    ode45 是极其常用的用来求解非刚性的标准形式的一阶微分 方程(组)的初值问题的解的 Matlab 常用程序,其中: ode23 采用龙格-库塔 2 阶算法,用 3 阶公式作误差......

    2.3. Euler 法实用性 从图可以看出来一阶方法精确度非常差,基本上是无法用到实际工程中的,因此显式和 隐式 Euler 法只是提供一种对微分方程求解的思想。从图......

    解增长 解衰减解振荡 29 MATLAB求常微分方程数值解的函数基于龙格-库塔法, MATLAB求常微分方程数值解 的函数,一般调用格式为: [t,y]=ode23('fname',tspan,......

    Matlab解微分方程 除了上述的已知ODE外,还须有起始条件 y0=y(x0)才能解方程式,即是在x=x0时, y(x)=y0。上述各个方程式 的解析解 (analytical solution) ......

    用Matlab求常微分方程的数值解 [t,x]=solver(’f’,ts,x0,options)自变 量值 函数 值 ode45 ode23 ode113 ode15s ode23s 由待解 方程写 成的m文件名......

    展开全文
  • 一、以下公式: 其中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...

    一、以下公式: 其中x、y、m、n为参数,a、b为未知数,利用MATLAB求解方程;spa

    a8c52e928c9e4b1a872333e4.html

    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)、b(4)进行化简,it

    simplify(a(3));class

    simplify(b(3));im

    simplify(a(4));db

    simplify(a(4));img

    获得:di

    a(3)= 2*atan((2*m*y - (- m^4 + 2*m^2*n^2 + 2*m^2*x^2 + 2*m^2*y^2 - n^4 + 2*n^2*x^2 + 2*n^2*y^2 - x^4 - 2*x^2*y^2 - y^4)^(1/2))/(m^2 + 2*m*x - n^2 + x^2 + y^2));dba

    b(3)= 2*atan(((- m^2 + 2*m*n - n^2 + x^2 + y^2)*(m^2 + 2*m*n + n^2 - x^2 - y^2))^(1/2)/(- m^2 + 2*m*n - n^2 + x^2 + y^2));

    a(4)= 2*atan((2*m*y + (- m^4 + 2*m^2*n^2 + 2*m^2*x^2 + 2*m^2*y^2 - n^4 + 2*n^2*x^2 + 2*n^2*y^2 - x^4 - 2*x^2*y^2 - y^4)^(1/2))/(m^2 + 2*m*x - n^2 + x^2 + y^2));

    b(4)= -2*atan(((- m^2 + 2*m*n - n^2 + x^2 + y^2)*(m^2 + 2*m*n + n^2 - x^2 - y^2))^(1/2)/(- m^2 + 2*m*n - n^2 + x^2 + y^2));

    以a(3)为例,假设x=20,其它参数未知,则:

    a(3)=subs(a(3),x,20) ; 便可将x取值替换为20;

    假设 x=20 , y=30 ,其它参数未知,则:

    a(3)=subs(a(3),{x,y},{20,30});

    二、求解矩阵方程:

    a=[1 0;0 2];

    b=[1;3];

    syms x1 x2;

    y=a*[x1;x2]+b;

    s=solve(y(1),y(2),'x1','x2');

    s.x1 %w2值

    s.x2 %w2值

    三、

    Matlab求解二阶微分方程组:

    78daf2dfba67f64438464b940e3e3f27.png

    m=1;

    g=9.8;

    k=100;

    l0=1.1;

    x0=[0.1 0 0 0]; %初始值;

    % 定义 x(1)=l, x(2)=l', x(3)=a, x(4)=a';

    dx=@(t,x)[x(2); (m*x(1)*x(4)^2-m*g*cos(x(3))-k*(x(1)-l0))/m; x(4); (-2*m*x(1)*x(2)*x(4) + m*g*x(1)*sin(x(3)))/(m*x(1)^2)];

    [t,x]=ode15s(dx,[0 10],x0);

    lstr = { '\itl', '{\itl}''', '\alpha', '\alpha''' };

    for i=1:length(lstr)

    subplot(2,2,i)

    plot(t, x(:,i));

    xlabel('Time')

    ylabel( lstr{i} )

    end

    展开全文
  • 利用matlab的s函数求解二阶微分方程,是基于PD控制理论的学习,程序是正确可以用的。如有疑问可以看相应的博客文章说明
  • matlab开发-二阶微分方程组的一阶刚度。运行20个隐式和半隐式方法的一阶初值刚性ODE。
  • 近几天没事,开始学习一下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 (2.1)
    τ=Kde˙+Kpe\tau = {K_d}\dot e + {K_p}e (2.2)
    其中,e˙=q˙dq˙\dot e = {\dot q_d} - \dot qe=qdqe = {q_d} - qqq实际输出结果,qdq_d期望输出的结果。
    仿真参数设置如下:
    p=[2.90, 0.76, 0.87, 3.04, 0.87]Tp=[2.90, \space 0.76, \space 0.87, \space 3.04, \space 0.87]^Tq0=[0.0, 0.0]Tq_0 = [0.0,\space 0.0]^Tq˙0=[0.0, 0.0]T\dot q_0 = [0.0,\space 0.0]^Tqd(0)=[1.0, 1.0]Tq_d(0) = [1.0,\space 1.0]^TKp=diag([100, 100])K_p = diag([100, \space 100])Kd=diag([100, 100])K_d = diag([100, \space 100])D(q)=[p1+p2+2p3cosq2, p2+p3cosq2; p2+p3cosq2, p2]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]C(q,q˙)=[p3q˙2sinq2, p3(q˙1+q˙2)sinq2; p3q˙1sinq2, 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]
    编程分析,首先等式(2.1)左右都含有带求解未知数q,所以把等式左右两边都写成S函数求解。等式(2.2)S函数编写分析:左边τ\tau当成输出,是个二维向量。右边有两个输入变量q˙,q\dot q,q,其中q˙d,qd\dot q_d,q_d是常数已知。每个变量又都是二维向量,所以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,这个一个矩阵求解:可以写成两种形式:q¨=inv(D(q))(τC(q,q˙)q˙)\ddot q = inv(D\left( q \right))*\left( \tau - C(q,\dot q)\dot q \right)或者q¨=(D(q))\(τC(q,q˙)q˙)\ddot q = (D\left( q \right)) \backslash \left( \tau - C(q,\dot q)\dot q \right)。第二种求解方法比较快并且精度高,推荐第二种方法求解。由于是个二阶微分方程,且每个变量是二维所以S函数的连续状态变量数是 4,输出分别是变量q,q˙q,\dot 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

    展开全文
  • 在解如图所示的方程时:![图片说明](https://img-ask.csdn.net/upload/202007/15/1594789822_485207.jpg) 求解x在[0 1]范围内的数值解。 直接使用ode45函数时,未知C(0)值。 使用bvp4c函数时,又不知道如何...
  • MATLAB利用ode求解二阶微分方程

    千次阅读 2020-12-17 15:02:10
    MATLAB利用ode求解二阶微分方程 求解微分方程为: 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 在命令行中调用代码如下:...
  • 这是我所要用的二阶微分方程,现已通过试验得到数据,想通过该方程拟合数据得到方程中的四个参数,通过查询有说二阶微分方程转化为差分方程或者积分方程,然后MATLAB编程拟合,想知道如何转化为差分方程或者积分方程...
  • x(t) r(t) 两个关于t的函数 下面两个方程对t求二阶导,...我看MATLAB微分方程一般都是第一个式子的形式,第二个式子的左边有两个函数的话,能解吗?能的话,该怎么写程序呢? x ''=2x+r ((x^2+r^2)^0.5 )''=2r+x
  • ![图片说明](https://img-ask.csdn.net/upload/202010/30/1604047742_249951.jpg) 二阶微分方程如何求解,对x,不胜感激
  • 使用matlab解决二元二阶微分方程组的求解问题,并画出包括极坐标图在内的多幅变量间的关系图
  • 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...
  • 引入首先用高数知识求解非齐次常系数微分方程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) ...
  • 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...
  • 主程序如下:>> global m1 m2 k1 c1 c2 v0>> m1=4080;m2=12.5e3;k1=7.35e6;c1=17.56e3;c2=0.225e3;v0=3.2/60>... [t,y]=ode45(@doublemass,[0 5],[-0.0154;...0])其中的doublemass的函数M文件定义如下:...
  • 详见mathwork 函数句柄的创建 1、 直接@ A=@sin(x); A(pi) 2、创建匿名函数 %定义函数f(x)=x^2 f = @(x) x^2; f(2) ODE45使用 [t,y] = ode45(odefun,tspan,y0) ...1、一阶方程 a=@...
  • 荷兰物理学家范德波尔为了描述三极管的震荡效应创建...我们把以上数学公式转换成matlab语言并且做出图像如下: syms y(t) Dy = diff(y,t) D2y= diff(y,t,2) equ = D2y + y == 0 con = [y(0) == 2, Dy(0)==0] yS = ds...
  • 使用 matlab 自带的 ode45 ,方程组用句柄表示。
  • 二阶椭圆偏微分方程实例求解(附matlab代码).docx 《微分方程数值解法》期中作业实验报告二阶椭圆偏微分方程第一边值问题姓名:学号:班级:2013年11月19日1二阶椭圆偏微分方程第一边值问题摘要对于解二阶椭圆偏微分...
  • matlab二阶微分方程,解出的结果如下,请问怎样画出y和时间t的函数图像?y=dsolve('101*D2y+100*Dy+1000*y=102*sin(20*pi*t)','y(0)=0,Dy(0)=0','t')解出的结果是y=exp(-(50*t)/101)*sin((10*985^(1/2)*t)/101)*((51*...
  • 近几天时间比较充足,便学习一下S函数求解微分方程。其求解方程如下: D(q)q¨+C(q,q˙)q˙+G(q)+ω=τD\left( q \right)\ddot q + C(q,\dot q)\dot q{\rm{ + G}}\left( q \right) + \omega = \tauD(q)q¨​+C(q,q˙...
  • 二阶非线性常微分方程的打靶法matlab实现.doc 二阶非线性常微分方程的打靶法1.问题:试用打靶法求二阶非线性常微分方程亮点边值的数值解:要求用Matlab编程计算,请给出一些例子,验证你的算法与程序的正确性。2....
  • 共回答了16个问题采纳率:81.3%你的方程即为:y'*y' + y''*y' +w/k =0s = dsolve('Dy*D2y + Dy^2 + w/k ', 'y(l) = a', 'Dy(0) = i1','x'); % i1即i用2011b可得如下结果:a + (exp(log(k*i1^2 + w) - 2*l) - w)^(1/2...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 181
精华内容 72
关键字:

matlab二阶微分方程

matlab 订阅