对于一个0、1组成的矩阵,matlab如何找出其中连续为1最多的行数?
发布网友
发布时间:2022-05-24 13:13
我来回答
共2个回答
热心网友
时间:2023-10-15 03:05
右乘一个元素全为1的列向量,根据最后结果的各个n的大小,可以得知哪个是含1最多的。
热心网友
时间:2023-10-15 03:05
矩阵连续为1最多的行
function Untitled
clear;clc;
a=[1 0 0 1 1 1 1;
1 0 1 1 0 1 1;
1 1 0 0 1 1 1;
1 1 1 1 1 0 1;
1 0 0 0 0 1 0;
0 1 1 1 1 1 0];
[mx,my]=size(a);
for i=1:mx
m(i)=findloc(a(i,:));
end
result=find(max(m)==m)
function mloc=findloc(a)
% a需是输入为0和1的行向量
b=find(a==0);b=[0 b length(a)+1];
c=b(2:length(b))-b(1:length(b)-1);
mloc=max(c)-1;
自己编一个小程序就可以。
如果是每行1最多的,那么楼上进行简单运输的最方便了