matlab中怎么判断数组某一行元素全部为0

如题所述

举个例子:

a=[1 1 1;0 0 0;2 0 2];
b=ones(1,length(a));
for i=1:length(a)
    if find(a(i,:)~=0)
    b(i)=1;
    else
       b(i)=0;
    end
end
b

结果:

b=

   1  0  1

结果说明

b的各个数是对a的判断结果。第一个数对应a的第一行,第二个数对应a的第二行。以此类推。

b的第i个数,为0时,表示a在第i行都为0。b的第i个数,为1时,表示a在第i行不全0.

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-02
a = rand(10,10);
a(2,:)=0;
a(6,:)=0;
b = sum(a,2);
r = find(b==0)
r =
2
6
第2个回答  2017-01-11
sum(abs(a))==0
只是不能定位非零元素的位置

matlab中怎么判断数组某一行元素全部为0
b的第i个数,为0时,表示a在第i行都为0。b的第i个数,为1时,表示a在第i行不全0.

MATLAB数组元素如何表示?
q=zeros(1,n)表示q为全0数组;n=length(a)表示获得数组a的最大维度。1、数组的维数:在MATLAB中,允许标量数据沿行、列、页等方向排列成 ‘长方体’,而构成数组,而行、列、页等排列方向就分别被 称为行维、列维和页维。2、数组的规模及相关术语:数组沿某个维度排放的元素总数,称为该维度...

MATLAB中的赋值问题,把出现的某一数字全部赋值为0;
num(num==num(1))=0;主要是那个8.100...e-5是个浮点数,很多的0后边可能还有个小值 所以它是不等于0.000081的 或者你用C语言常用判断浮点数相等的办法 num(abs(num-0.000081)<eps)=0

matlab 把数组里的从某个数的后面全部置为零
A = randperm(20)findv = 10;idx = find(A==findv)if idx < length(A) A(idx+1:end) = 0;end;disp(A);

如何将matlab中的数据去0或全0行?
1、首先我们打开matlab,在命令行窗口中输入a=[12 0 15 5;2 4 0 7;2 3 0 0;0 0 0 0]。2、输入a(find(a==0))=[],去除掉a矩阵内的0元素。3、按回车键之后,可以看到已经去除了a矩阵所有的0元素,并变成了1行数据。4、如果我们想去除矩阵的全0行的话,输入a(all(a==0,2),:)...

MATLAB如何比较数组的非零元素?
1、打开matlab,命令行窗口输入x=[0 1 3 4;9 0 3 7],创建一个x数组,如下图所示。2、输入a=(x~=0)进行比较各个元素是否为0,如下图所示。3、按回车键之后,可以看到x数组各个元素是否为0,为0就显示为0,不是就显示为1,如下图所示。4、输入sum(a(:))求x数组的非零元素的个数,...

Matlab 如何快速查找0元素
用逻辑数组查找数值 H_zero = A==0;B = X;B(H_zero) = X;

matlab中这个n=find(rem(p,i)==0&p~=i);语句是什么意思
find()函数表示找到符合某一条件的结果的位置 该句意思是:找到p向量中,能够整除i,但又不等于i 的值的所在位置 比如,p=[3 4 5 6 7 8 9 10 11 12 13] ,i=2 运行该语句 n=find(rem(p,i)==0&p~=i)得到n = 2 4 6 8 10 即 p向量中 第 2 4 6 8 10 个数...

matlab里a(i)~=0什么意思
1、打开matlab并在命令窗口中输入示例数组 >> a = -1:3 2、确定a的第一个元素是否不等于0:>> a(1)~= 0 因为a的第一个元素等于-1并且满足不等于0的条件,所以结果为true,并且显示结果为1 3、确定a的第二个元素是否不等于0:>> a(2)~= 0 因为a的第二个元素等于0并且不满足不...

matlab中怎么查找一个数组中所有的非零元素的位置
find(a=1)改成find(a>=1)

相似回答