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最好事先申请好需要的矩阵空间,不要在循环时不断拼接矩阵,每次拼接都会重新申请一次空间并执行复制操作,耗费时间。