matlab二维数组中如何调用每一行的非零元素.

如[2 3 0 0;5 2 4 0;8 5 3 4;2 4 7 0]得到[2 3]和[5 2 4]和[8 5 3 4]和[2 4 7]

使用nonzeros可以获得矩阵中非零的元素,具体使用如下所示:

追问

谢谢,是可以这样,不过要是行数很多的话,就不好用了。要是行数很多的话,能不能做一个循环呢?

谢谢,是可以这样,不过要是行数很多的话,就不好用了。要是行数很多的话,能不能做一个循环呢?

追答for i = 1:N
    B = nonzeros(A(i,:));
end

这样B就是每一行的非零元素。

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab二维数组中如何调用每一行的非零元素.
使用nonzeros可以获得矩阵中非零的元素,具体使用如下所示:

matlab编程,有一个cell型的二维数组,如何编程实现查找数组内每个不相...
clc;clear alla={[1,2,3,4,5],[3,2,4,33,5],[3,4,2,5,7],[32,3,5,4,32],[0,4,7,9,10]};%cell二维数组size0=size(a);b=[a{1:size0(1),1:size0(2)}]';n=length(b);%数组长度j=1;%j代表第j个不同的数,序号k=ones(1,n);%k数组表示每一个数对应的个数...

在matlab中怎么引用数组里的元素?
1、下标法(subscripts)A(ii,jj):其中ii和jj可以是一维向量、标量、“:”号或者“end”比如:A(2:3,3:-1:1)表示引用数组中的2~3行,3~1列对应的元素 A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒数第n行或列 A(1,end-1)表示引用...

怎么用matlab获取二维数组中的某一列或某一行?
第一步,声明矩阵t,利用矩阵函数matrix,nrow为5,ncol为5,并打印矩阵t,如下图所示:第二步,获取矩阵t第四列数据,可以直接使用t[,4],这样可以获取到第四列数据,如下图所示:第三步,如果想要获取第五列数据,可以使用t[5,],如下图所示:第四步,如果想要获取第三行和第四列交叉点的数...

matlab如何引用多维数据某一行数据
按常理应该是plot(num, a[N]) ?且听我说:a[N]不是代表第N行。应该使用a(N,:)。即改为plot(num, a(N.:));希望对楼主有帮助。

vba中怎么选取二维数组中的某一行或某一列?
的方法 1.1 方法1 循环方法,固定1行\/1列,另外一维循环 for arr1(i,1)1.2 方法2 application.index() 取一维 application.index(arr1,1,0)application.index(arr1,0,1)2 工作表函数的index都默认从1开始 2.1 工作表函数 index 的序号默认都是从1开始,而非从0开始 用index取出来的数组...

如何用MATLAB求一个二维数组中各个元素的个数
先用reshape函数将二维数组转化为一维的数组,即一维向量,接着用length函数就可以知道转化后的一维数组的长度,也就是二维数组的元素个数了。

求大神MATLAB中如何打乱二维数组中已有的排序
其实就是打乱行的顺序,很简单:A = [ 0 0 0 1 0 2 0 3 1 0 1 1 1 2 1 3];B = A(randperm(size(A,1)), :)

matlab二维数组删除有零的行
不妨这样 clc,clf,clear all a=[1 2;2 4;3 6;4 0;5 1;6 0;7 1;8 0][r,c]=size(a);index=1:r; %一维矢量, a的行指标 all(a') %将a转置一下, 返回一个矢量,它的每个元素进行判断, a所在行的元素全不为0则是1, 否则为0 a=a(index(all(a')),:) %取出a不含0元...

matlab中这个n=find(rem(p,i)==0&p~=i);语句是什么意思
找到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 个数符合条件(是2的整数倍又不等于2)...

相似回答