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
的不足;对此感到抱歉。
对于 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
的不足;对此感到抱歉。