【问题标题】:MATLAB: Automatic assigning of matrix element indicesMATLAB:自动分配矩阵元素索引
【发布时间】:2015-06-02 22:33:35
【问题描述】:

我目前正在编写一个自定义函数来计算给定m x n 矩阵的 RREF。由于我是 MATLAB 的新手,我认为最好对内置的 rref() 函数进行采样。

在检查找到前导列的“剩余部分中最大元素的值和索引”的代码部分时,我发现:

 [p,k] = max(abs(A(i:m,j)))

其中m 是矩阵的行数,i=j=1

我了解max(abs(A(i:m,j))) 为您提供了前列中最大元素的值 - 单个标量答案。但是,我无法理解为什么它设法将 两个 值分配给 [p,k]kp 的索引号。有人可以帮忙吗?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    k 是向量中最大值所在的位置。

    例如,假设我们使用向量[1,2,5,2,1]。那里的最大值是 5。这个值在向量中的第三个位置。所以[p,k] = max([1,2,5,2,1]);会返回p=5k=3

    该函数将根据您的调用方式分配值。

    p = max(...
    

    将只分配p

    [p,k] = max(...
    

    将分配pk

    【讨论】:

    • 哦,我明白了k是位置索引,我就是不明白单值输出的函数怎么能赋值两个值。
    • 更新了答案。这不是具有单值输出的函数。该函数可以返回多个值。
    • 哇,我傻了。阅读您的答案,查看max() 函数的帮助页面,然后瞧……感谢您的帮助! :P
    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    • 2014-04-30
    • 1970-01-01
    • 2018-03-26
    • 2011-12-24
    • 2014-07-17
    相关资源
    最近更新 更多