Octave 下标错误:总和=总和
下面是我的代码,其中h和Y是47x1向量Octave 下标错误:总和=总和,octave,Octave,下面是我的代码,其中h和Y是47x1向量 s = h-Y; sum = sum(s); 我得到这个错误: 错误:sum6057.48:下标必须是整数1到2^31-1或逻辑数 有人能解释一下原因吗?正如Sardar Usama在评论中提到的,当您还想使用内置函数sum时,您不能使用变量名sum 默认情况下,sum是一个函数,在脚本中按预期使用 例如,在倍频程中,您可以使内置函数黯然失色 总和=4;%现在有一个值为4的工作区变量sum 执行此操作时,关键字sum现在表示变量,而不是函数。强烈建议不
s = h-Y;
sum = sum(s);
我得到这个错误:
错误:sum6057.48:下标必须是整数1到2^31-1或逻辑数
有人能解释一下原因吗?正如Sardar Usama在评论中提到的,当您还想使用内置函数sum时,您不能使用变量名sum 默认情况下,sum是一个函数,在脚本中按预期使用 例如,在倍频程中,您可以使内置函数黯然失色 总和=4;%现在有一个值为4的工作区变量sum 执行此操作时,关键字sum现在表示变量,而不是函数。强烈建议不要覆盖默认函数,即使您不打算在该脚本中使用它们 要消除阴影,只需清除变量 清除总和%,现在它应按预期运行。 在继续之前必须清除该变量的原因与您的工作区有关。即使在程序退出后,变量sum仍保留在您的工作区中,因此当您再次运行它时,即使您选择了一个新的变量名,您仍然已经更改了sum的解释方式。通过清除该变量,Octave将其从工作区中删除时设置回默认行为 小结:使用不同的变量名 s=h-Y; mysum=总和;%mysum不是内置的,所以这里没有冲突!
我对八度音阶一无所知,但这里的命名有问题吗?sum=是否意味着您将标识符sum重新定义为某物,然后解释器/编译器会抱怨identifierx要求x为整数或逻辑数?您可以尝试一下something=sums吗?您使用新创建的sum变量使内置sum函数黯然失色。永远不要为也是内置函数的变量或函数命名,即使在更改名称后也会出现相同的错误@SardarUsamaclear首先清理您的工作区。@AshishGoel clear sum