我没有matlab的经验,所以我正在尝试编写高效的代码
我有map500数组,我想根据具体情况修改下面所述的数组特定位置。
map500(map500(x1:x2,y1:y2) < prob(1)) = prob(1);
这里我想用行(1)中的值更改行x1和x2,列y1和y2之间的值,当且仅当子数组中的值小于prob(1)时,此代码不起作用,如果我运行2 for循环,因为我必须运行这么多循环所以耗费了太多时间。
答案 0 :(得分:2)
您可以使用max函数替换小于prob(1)的值。要专注于子阵列,以下内容应该有效:
map500(x1:x2,y1:y2) = max(prob(1),map500(x1:x2,y1:y2));