Maxima-无法使用plot2d打印我的方程,因为“表达式在打印范围内的所有位置都计算为非数值”
对于Maxima,我想通过求解一个特定参数的方程来绘制一个参数的值,该值取决于时间。我是Maxima的新手,我已经开始计算了。 我用下面的方程m来解L:Maxima-无法使用plot2d打印我的方程,因为“表达式在打印范围内的所有位置都计算为非数值”,plot,maxima,Plot,Maxima,对于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,
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:没有要打印的内容
我知道这很基本,但我仍然不知道我做错了什么。我还尝试使用函数mt:=。。。而不是表达式m=…,具有相同的结果。请注意,solve返回了一个包含一个元素的列表,该元素是一个等式。为了绘制结果,需要隔离方程的右侧,因为这是plot2d所理解的,否则它不知道如何处理solve的输出
我的建议是先得到你想要的解算结果的一部分,然后画出它。比如:
solve (...);
my_equation : %[1];
my_equation_rhs : rhs(%);
plot2d (my_equation_rhs, [t, 0, 10]);
plot2d的一个缺陷是不知道如何处理解算结果;很抱歉