Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Octave 下标错误:总和=总和_Octave - Fatal编程技术网

Octave 下标错误:总和=总和

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现在表示变量,而不是函数。强烈建议不

下面是我的代码,其中h和Y是47x1向量

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