【问题标题】:dsolve throwing an error while trying to solve system of ODEsdsolve 在尝试求解 ODE 系统时抛出错误
【发布时间】:2016-02-18 05:26:51
【问题描述】:
syms X1(t) X2(t) X3(t) X4(t) X5(t) X6(t) X7(t) X8(t) X9(t) X10(t)
X = [X1; X2; X3; X4; X5; X6; X7; X8; X9; X10];
X0 = X_0;
eqn = diff(X) == -1*A*X;
[X1Sol(t) X2Sol(t) X3Sol(t) X4Sol(t) X5Sol(t) X6Sol(t) X7Sol(t) X8Sol(t) X9Sol(t) X10Sol(t) ] = dsolve(eqn, X0);

其中 A 是某个 10x10 的矩阵,X_0 是一个包含 10 个元素的列向量,其值是预先计算的。当我编译这段代码时,Matlab 会抛出以下错误:

使用 mupadengine/feval 时出错(第 157 行) MuPAD 错误:错误:无效 方程。 [颂歌::新]

dsolve 中的错误>mupadDsolve(第 325 行)T = feval(symengine,'symobj::dsolve',sys,x,options);

dsolve 中的错误(第 186 行)sol = mupadDsolve(args, options);

谁能告诉我发生了什么事以及纠正什么?我使用 Matlab R2012a。

【问题讨论】:

    标签: ode mupad dsolve


    【解决方案1】:

    sysms 中包含X_0A 时,我没有发现任何错误

    syms X1(t) X2(t) X3(t) X4(t) X5(t) X6(t) X7(t) X8(t) X9(t) X10(t) X_0 A
    X = [X1; X2; X3; X4; X5; X6; X7; X8; X9; X10];
    X0 = X_0;
    eqn = diff(X) == -1*A*X;
    [X1Sol(t) X2Sol(t) X3Sol(t) X4Sol(t) X5Sol(t) X6Sol(t) X7Sol(t) X8Sol(t) X9Sol(t) X10Sol(t) ] = dsolve(eqn,X0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 2017-01-28
      相关资源
      最近更新 更多