Maxima - 无法使用 plot2d 绘制我的方程式,因为 "expression evaluates to non-numeric value everywhere in plotting range"

Maxima - cannot plot my equation with plot2d, as "expression evaluates to non-numeric value everywhere in plotting range"

对于 Maxima,我想通过求解特定参数的方程式来根据时间绘制参数值。我是 Maxima 的新手,我已经开始为我的计算苦苦挣扎。 我使用下面的等式 m,我想为 L 求解:

m= m_I - (m_I-m_R)/(1+%e^(-s_R*(t-L)))
solve(%,L);

这给了我

L=(t*s_R-log(m_I/(m-m_R)-m/(m-m_R)))/s_R

作为输出。如果我现在为除 L 和 t

之外的所有参数赋值
ev(%,m=0.5,m_I=1,m_R=0.1,s_R=0.01);
plot2d(%,[t,0,10]);

我收到错误消息

"plot2d: expression evaluates to non-numeric value everywhere in plotting range. plot2d: nothing to plot."

我知道这是非常基本的,但我仍然不知道我做错了什么。我还尝试使用函数 m(t):=... 而不是表达式 m=...,结果相同。

请注意,solve 返回了一个包含一个元素的列表,该元素是一个等式。为了绘制结果,您需要隔离等式的右侧,因为这是 plot2d 所理解的(否则它不知道如何处理 solve 的输出)。

我的建议是首先获得您想要的 solve 结果部分,然后绘制它。类似于:

solve (...);
my_equation : %[1];
my_equation_rhs : rhs(%);
plot2d (my_equation_rhs, [t, 0, 10]);

不知道如何处理solve的结果是plot2d的不足;对此感到抱歉。