Octave dsolve SymPy错误:Python异常:AttributeError:' list'对象没有属性⊂' subs' subs

时间:2017-03-24 04:18:28

标签: python octave sympy symbolic-math ode

(我尝试在Scientific Computing发帖,但是他们说要在这里发帖;对不起,如果这又是偏离主题的话。)

我是第一次在Octave上使用dsolve(非常感谢包括这个功能,BTW;这个SimPy连接非常好),并且它可以与大多数的ODE和IVP一起使用。我试过了,但是这个给了我一个错误:

>> pkg load symbolic
>> syms x(t)
>> ode1 = diff(x,t) == -t/x
>> cond1 = x(0) == 5
>> dsolve(ode1, cond1)
error: Python exception: AttributeError: 'list' object has no attribute 'subs'
    occurred at line 15 of the Python code block error: called from
    python_cmd at line 176 column 5
    dsolve at line 200 column 10

刚刚解决ODE工作正常;它只会与IVP崩溃:

>> dsolve(ode1)
ans =
{
(sym)

             _________
            ╱       2
  x(t) = -╲╱  C₁ - t

(sym)

            _________
           ╱       2
  x(t) = ╲╱  C₁ - t

我尝试了其他初始条件,但得到了同样的错误:

>> cond2 = x(-3) == 0.1
warning: Using rat() heuristics for double-precision input (is this what you wanted?)
warning: called from
    sym at line 225 column 7
    binop_helper at line 60 column 5
    ineq_helper at line 35 column 5
    eq at line 91 column 5
cond2 = (sym) x(-3) = 1/10
>> dsolve(ode1, cond2)
error: Python exception: AttributeError: 'list' object has no attribute 'subs'
    occurred at line 15 of the Python code block
error: called from
    python_cmd at line 176 column 5
    dsolve at line 200 column 10

任何人都可以帮忙吗?我真的很想使用Octave明确地解决ODE和IVP

1 个答案:

答案 0 :(得分:0)

简答:

不幸的是,它尚未得到支持。

更长的答案:

我遇到了同样的问题,并查看了脚本内部,看看出了什么问题。

在dsolve.m函数的第174行,您将找到以下内容:

% FIXME: it is not currently supported a list of boundary/initial conditions

你能做什么:

如果您真的需要它,我建议您联系该软件包的作者,让他们知道实际上有人想要这个功能。访问Forge页面,查看该软件包作者的详细信息。

https://octave.sourceforge.io/symbolic/index.html