Matlab 绘图错误“;内存耗尽或请求的大小太大”;

Matlab 绘图错误“;内存耗尽或请求的大小太大”;,matlab,plot,octave,Matlab,Plot,Octave,如果我想用倍频程画一个sin(x)图形,我会这样做 x = -6:0.1:6; plot (x, sin(x)); 这是有效的 我想画一个S形函数,所以我试了一下 x = -6:0.1:6; plot (x, 1/(1+exp(-x))); 但这给了我 error: memory exhausted or requested size too large for range of Octave's index type -- trying to return to prompt 我尝试了x

如果我想用倍频程画一个sin(x)图形,我会这样做

x = -6:0.1:6;
plot (x, sin(x));
这是有效的

我想画一个S形函数,所以我试了一下

x = -6:0.1:6;
plot (x, 1/(1+exp(-x)));
但这给了我

error: memory exhausted or requested size too large for range of Octave's index type -- trying to return to prompt
我尝试了
x=-4:0.2:4这一次得到了

error: invalid conversion of NDArray to Matrix
error: evaluating argument list element number 2
问题出在哪里?

问题出在
1/(1+exp(-x))
中。MATLAB抛出的错误是:

Error using  / 
Matrix dimensions must agree.
根据倍频程,故障为:

operator /: nonconformant arguments (op1 is 1x1, op2 is 1x121)
你想要的是(注意点):


尝试
绘图(x,1./(1+exp(-x))嗯,这很有效。重点是什么?使用实数1(1.)?哦,我现在看到了元素除法。我看到只有在可能出现混淆的情况下才需要元素点运算符。(如除法、乘法等)。谢谢。@ChanKim
+
exp
sin
等已按元素执行(请检查其文档)<但是,code>/
*
通常充当矩阵运算符,因此您必须明确地告诉它按元素进行操作,即在它们前面加一个点。实际上,八度音程也会因
运算符/:非一致参数(op1是1x1,op2是1x121)
而在该操作中失败。OP错误可能来自其他地方,不能用八度音阶的代码复制(我在八度音阶3.8、4.0和未发布的4.1上试过)。
x = -6:0.1:6;
plot (x, 1./(1+exp(-x)));