基本上我在循环中运行下面的代码,以便在矩阵中提取指定的列。我有一种感觉,这就是我循环中的瓶颈所在。我觉得有一种更简单的方法可以做到这一点,比如矩阵算术,但我现在想不出任何东西。下面的函数将参数 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