对于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:表达式在任何位置都计算为非数值 绘图范围。 plot2d:没有要绘制的内容。”
我知道这是非常基本的,但是我仍然不知道自己在做什么错。我还尝试使用函数m(t):= ...代替表达式m = ...,结果相同。
答案 0 :(得分:1)
请注意,solve
返回了一个包含一个元素的列表,该元素是一个方程式。为了绘制结果,您需要隔离方程式的右侧,因为这是plot2d
所理解的(否则,它不知道如何处理solve
的输出)。
我的建议是首先获取solve
结果的一部分,然后进行绘制。像这样:
solve (...);
my_equation : %[1];
my_equation_rhs : rhs(%);
plot2d (my_equation_rhs, [t, 0, 10]);
plot2d
的不足之处在于它不知道如何处理solve
的结果;对此感到抱歉。