matlab - Matlab中find()的奇怪用法

标签 matlab

here学习Matlab中find()的使用和 here ,我遇到了以下用法,但找不到代码功能的解释。

X = [0.00000   0.00000   0.00000;
     4.24264   0.00000   0.00000;
     8.48528   4.24264   0.00000]

[A(:,1),A(:,2),A(:,3)] = find(X)

计算结果为:

A =
    2.0000   1.0000   4.2426                                                                                                                              
    3.0000   1.0000   8.4853                                                                                                                              
    3.0000   2.0000   4.2426

find() 函数应该返回一个列向量,但是矩阵 A 如何正确初始化?

最佳答案

根据documentation :

如果指定三个输出变量:

[row,col,v] = find(X)

find 返回数组X 和向量v 中每个非零元素的行和列下标,其中包含X 的非零元素。

row =

     2
     3
     3


col =

     1
     1
     2


v =

    4.2426
    8.4853
    4.2426

在您的例子中,这三个向量被分配给矩阵A的列。

关于matlab - Matlab中find()的奇怪用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489837/

相关文章:

matlab - 为什么我计算的结果和matlab计算的不一样?

matlab - 导出视频时轴背景颜色无法正确呈现

matlab - 为包含空格的 matlab 结构体字段名称赋值

matlab - 如何从该 matlab 代码中删除循环

Matlab 重复 x 轴进行插值

Matlab 将变量从一个回调传递到另一个回调

matlab - 使用 Matlab 在 Excel 中创建命名范围

matlab - 对重叠三角形曲线下的累积面积求和

MATLAB:将 uint32(4 字节)值转换为相应的 IEEE 单精度浮点形式

matlab - 评估函数卷积时出错