我不确定这是否是这个问题的正确堆栈交换。我通常使用javascript和画布来绘制方程式。我正在试用Octave。我很难让除法的两边都有相同变量的函数来呈现。测试方程式:
x=0:1:512;
Vr=x/100;
clf;
plot((50*Vr.^2-200*Vr)/(Vr-3), 'k-', 'linewidth', 3.0);
axis([0 512 -256 256]);它在没有除法的情况下工作得很好:
plot((50*Vr.^2-200*Vr), 'k-', 'linewidth', 3.0);Screenscrapes:https://imgur.com/a/nWkXstX第三个是用javascript呈现的除法等式。
octave不支持这个相当基本的算术吗,或者是我遗漏了一个语法上的怪异之处?
发布于 2019-04-27 01:55:20
尽管我讨厌自己回答自己的问题,但我在octave的文档中找到了答案。
https://octave.org/doc/v4.2.1/Arithmetic-Ops.html
'/‘将左边乘以右边的倒数。似乎是对的,因为(Vr/3)的反面听起来像我想要的,直到我继续读下去。'./‘是“逐个元素的右除”。因此,plot函数将Vr视为所有坐标的矩阵,并使用一个方程计算矩阵。在我读过的任何文档中,这一点都不清楚。说真的,这应该在顶层帮助部分。
因此,这就是“语法偏心”。八度音阶的正确语法是:
plot((50*Vr.^2-200*Vr)./(Vr-3), 'k-', 'linewidth', 3.0)这是可行的。我想我会坚持使用JS,即使只是为了避免将我的方程式在octave奇怪的语法之间来回转换。不过,有一个不依赖于浏览器的选项还是很好的,不管它有多古怪。
https://stackoverflow.com/questions/55883545
复制相似问题