MATLAB中如何取矩阵中的一些元素为零

gain_subc=random('rayleigh',1/0.6652,uses,N_subc);
[max_gain,max_r]=max(gain_subc);
由第二个语句得到矩阵中每个列的最大值,想让没列中最大值取零
我使用的循环
for i=1:N_subc
a=max_r(1,i);
gian_subc1(a,i)=0;
end
结果使整个矩阵的值都变为零
请高人给以指点
谢谢

第1个回答  2010-12-21
给你个例子看看吧
>> a=magic(3)

a =

8 1 6
3 5 7
4 9 2
>> a(find(a(:,1)==max(a(:,1))))=0

a =

0 1 6
3 5 7
4 9 2本回答被提问者采纳
相似回答