Matlab怎样按索引给矩阵某些位置赋不同的相应值,不用for循环?

Matlab怎样按索引给矩阵某些位置赋不同的相应值,不用for循环?

举例:
A = [ 1,4, 6, 9 ,2,8,5,7 ]
indx = A>5 想把大于5的按indx全改为5,怎么不用循环实现?
indx = A>5 想把大于5的按indx全改为原值加一,怎么不用循环实现?

两种方法:
1,将所有要删除的行标顺序排列成向量V,然后用命令
"矩阵变量名"(V,:)=[];%可删除与"矩阵变量名"对应的矩阵中的指定行(通过V指定),并改变原矩阵维数
2,将所有要保留的行标顺序排列成向量V,然后用命令
"矩阵变量名"="矩阵变量名"(V,:);%即将与"矩阵变量名"对应的矩阵中的指定行(通过V指定)重新赋给该变量
删除列类似.
温馨提示:答案为网友推荐,仅供参考