matlab中怎么把矩阵A中含有0元行的所有元素都赋值为0。

我有一个矩阵A,如何实现把A中的0元所在的行的元素都变为0?

A(sum(A==0, 2)>0, :) = 0    % 即可实现将0元所在行置0

sum(A==0, 2)可以求得每一行0元的个数,因此
sum(A==0, 2)>0 能够判断每一行是否含有0元。由于该式的结果是个逻辑矩阵,因此可以进行逻辑索引,
A(sum(A==0, 2)>0, :) = 0即可实现将0元所在的行置0.

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-05
这样:

clc
clear all
data=[1,2,3;4,5,6;7,8,9];
[m,n]=size(data);
for i=1:n
data(i,i)=0;
end
data本回答被网友采纳