1. 程式人生 > >matlab能用矩陣操作就不要用for迴圈

matlab能用矩陣操作就不要用for迴圈

1.MATLAB儘量少用for迴圈來操作矩陣,多用本身的矩陣操作函式

比如,想將矩陣的第三列通過第二列計算得到,以下兩種方式得到的結果一致,但不用for更簡潔。

a = 6;
feature_labelnum(:,3) = a * sqrt(feature_labelnum(:,2));%第三列是計算得到的閾值
for i = 1:num_labels_left %第三列是計算得到的閾值
     feature_labelnum(i,3) = a * sqrt(feature_labelnum(i,2));
end

2、MATLAB最好事先申請好需要的矩陣空間,不要在迴圈時不斷拼接矩陣,每次拼接都會重新申請一次空間並執行復制操作,耗費時間。