plot - 千里马 - 无法用 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:表达式在绘图范围内的任何地方都计算为非数值。plot2d:没有可绘制的。”
我知道这是非常基本的,但我仍然不知道我做错了什么。我还尝试使用函数 m(t):=... 而不是表达式 m=...,结果相同。
解决方案
请注意,solve
它返回了一个包含一个元素的列表,这是一个方程式。为了绘制结果,您需要隔离等式的右侧,因为这是plot2d
可以理解的(它不知道如何处理solve
否则的输出)。
我的建议是先得到solve
你想要的结果部分,然后再绘制它。就像是:
solve (...);
my_equation : %[1];
my_equation_rhs : rhs(%);
plot2d (my_equation_rhs, [t, 0, 10]);
它的不足之处plot2d
在于它不知道如何处理 ; 的结果solve
。对于那个很抱歉。
推荐阅读
- python - python 3.8 使用多处理和全局变量打破 python 3.5 代码
- javascript - D3.js 图表饼图随标签旋转
- html - 如何在 R 中重命名 Kable 的行(而不是列),特别是在 RMarkdown 中?
- reactjs - 如何连接用户以在 React 中发帖?
- java - 为什么java中的for each循环不访问最后一个元素?
- ag-grid - 当您使用 refreshCells 重新生成图表时,更改 Ag-Grid 中的字幕会做出反应
- php - 如何防止 SQL 表中的重复项?
- java - 将函数映射到数组元素
- android - 运行我的应用程序的任何设备都可以访问 firebase 实时数据库中的数据吗?
- android - 我怎样才能有 2 个不同的片段,实现相同的方法而无需编写两次代码?