Matlab 倍频程:索引超过矩阵维数
我在名为conditionals.m的文件中编写了以下函数:Matlab 倍频程:索引超过矩阵维数,matlab,octave,Matlab,Octave,我在名为conditionals.m的文件中编写了以下函数: function result = conditionals(category, feature) result=5; end 我从Octave的命令行调用此函数: v=conditionals(3,4) 我得到以下错误: error : A(I) : Index exceeds matrix dimension. 这里怎么了?错误: 错误:A(I):索引超出矩阵维度 表示octave认为条件句是一个矩阵,而不是一个函数 O
function result = conditionals(category, feature)
result=5;
end
我从Octave的命令行调用此函数:
v=conditionals(3,4)
我得到以下错误:
error : A(I) : Index exceeds matrix dimension.
这里怎么了?错误:
错误:A(I):索引超出矩阵维度
表示octave认为条件句
是一个矩阵,而不是一个函数
Octave可能不知道条件词
是一个函数,而是把它当作一个矩阵
您是否检查过函数是否在Octave的搜索路径中?错误:
错误:A(I):索引超出矩阵维度
表示octave认为条件句
是一个矩阵,而不是一个函数
Octave可能不知道条件词
是一个函数,而是把它当作一个矩阵
你检查过函数是否在Octave的搜索路径中了吗?这对我很有用
octave> function result = conditionals (category, feature)
> result = 5;
> endfunction
octave> v = conditionals (3, 4)
v = 5
错误表明您有一个与函数同名的变量。在倍频程提示符处键入whos
,查看已定义变量的列表。如果您看到一个名为条件
,请使用清除条件
另外,如果conditionals是conditionals.m
文件,请确保它位于函数搜索路径上。在倍频程提示下运行path
,查看函数搜索路径。在命令提示下运行哪些条件
,查看函数的位置。这对我很有用
octave> function result = conditionals (category, feature)
> result = 5;
> endfunction
octave> v = conditionals (3, 4)
v = 5
错误表明您有一个与函数同名的变量。在倍频程提示符处键入whos
,查看已定义变量的列表。如果您看到一个名为条件
,请使用清除条件
另外,如果conditionals是
conditionals.m
文件,请确保它位于函数搜索路径上。在倍频程提示下运行path
,查看函数搜索路径。在命令提示符下运行which conditionals
,查看函数的位置。这也发生在我身上,并且可以发生在任何命令上,而不管命令名如何。当我运行PS1(“>>”)时
要更改Ovtave中的命令提示符,我遇到了相同的错误
倍频程-3.2.3.exe:9>PS1(“>>”)
错误:A(I):索引超出矩阵维度
正如其他人也提到的,当存在具有相同命令名的参数时,会触发此错误。当我们错误地使用错误的语法输入命令时,就会发生这种情况,因此,octave运行该命令并生成一个带有命令名的变量,该变量会使内部命令过载
您可以通过who
命令验证此状态。如果在此处可以看到与命令相同的变量名,则必须将其删除。使用clear variable\u name
删除变量
这是我对PS1命令的输出
希望它能有所帮助。这也发生在我身上,它可以发生在任何命令上,无论命令名如何。当我运行
PS1(“>>”)时
要更改Ovtave中的命令提示符,我遇到了相同的错误
倍频程-3.2.3.exe:9>PS1(“>>”)
错误:A(I):索引超出矩阵维度
正如其他人也提到的,当存在具有相同命令名的参数时,会触发此错误。当我们错误地使用错误的语法输入命令时,就会发生这种情况,因此,octave运行该命令并生成一个带有命令名的变量,该变量会使内部命令过载
您可以通过who
命令验证此状态。如果在此处可以看到与命令相同的变量名,则必须将其删除。使用clear variable\u name
删除变量
这是我对PS1命令的输出
希望能有帮助