你能解释一下这条线在Matlab中的作用吗

你能解释一下这条线在Matlab中的作用吗,matlab,Matlab,我是Matlab新手,我只是被这行代码困住了: [r,c] = find(abs(fh) <= 2 ); 注意:讽刺的是,我很容易理解作业的正确部分 然而,左边的部分可能是变量的定义。。。我不知道如何搜索,因为我用谷歌搜索方括号内的东西,结果太一般了 我的假设是这行代码正在创建一个包含r行和c列的矩阵,但在代码的其余部分中找不到r和c。。。。或者它可能是一个包含两个元素的简单数组。。。但老实说,这对我来说没什么意义 你们能帮帮我吗?每当你们看到这种语法时,就意味着被调用的函数在这种情况下

我是Matlab新手,我只是被这行代码困住了:

[r,c] = find(abs(fh) <= 2 );
注意:讽刺的是,我很容易理解作业的正确部分

然而,左边的部分可能是变量的定义。。。我不知道如何搜索,因为我用谷歌搜索方括号内的东西,结果太一般了

我的假设是这行代码正在创建一个包含r行和c列的矩阵,但在代码的其余部分中找不到r和c。。。。或者它可能是一个包含两个元素的简单数组。。。但老实说,这对我来说没什么意义


你们能帮帮我吗?

每当你们看到这种语法时,就意味着被调用的函数在这种情况下返回了不止一个输出参数

了解函数输出参数的最佳方法是查看文档:

[row,col]=find\uuuuuuuuu返回每一行的行和列下标 数组X中的非零元素,使用中的任何输入参数 以前的语法

输出参数是位置参数,因此r是行,c是列。

请查看Matlab文档

如果X是向量,则find返回与X方向相同的向量

若X是多维数组,则find返回结果线性索引的列向量

如果X不包含非零元素或为空,则find返回空数组

如果你打电话

X = [18 3 1 11; 
     8 10 11 3; 
     9 14 6  1; 
     4 3 15 21 ]

[row,col] = find(X>0 & X<10,3)

表示满足定义条件的每个元素的索引行号和列号。因为它返回的值不止一个,所以可以将输出分成两个不同的变量,这就是左侧所表示的。

这比我当时想象的要困难得多!我试图使用numpy在Python中移植这一行,但我只接近结果。rc=np.non-zeronp.absfh时
row = 3×1

     2
     3
     4

col = 3×1

     1
     1
     1