0

基本上我在循环中运行下面的代码,以便在矩阵中提取指定的列。我有一种感觉,这就是我循环中的瓶颈所在。我觉得有一种更简单的方法可以做到这一点,比如矩阵算术,但我现在想不出任何东西。下面的函数将参数 matINPUT 作为大矩阵,并将 INPUT 作为所需列的整数偏移量。结果被放置在 arrayOUTPUT 中,以便在程序的其他地方使用。

// Get size and offset of matrix
[matOffset, matSize] = size(matINPUT); 

// Test if INPUT isnt out of bounds, and return 0 if it is
if INPUT > matSize then
    arrayOUTPUT = [0]
    return
end

// pre-load array for correct size
arrayOUTPUT = zeros(matOffset,1) // generates the correct array size

// iterate through all slots and populate
for x = 1:matOffset
    arrayOUTPUT(x) = matINPUT(x + (INPUT - 1)*matOffset)
end
4

1 回答 1

0

从代码的最后一部分看,它看起来像是矩阵的部分选择。我建议您可以使用索引向量来获取值而不使用 for 循环

(希望这可以帮助)

于 2013-08-16T15:33:19.353 回答