请教下MATLAB一个问题啊 我想检测一行数据里面出现连续出现0的次数,

请教下MATLAB一个问题啊我想检测一行数据里面出现连续出现0的次数,例如数据1223000023430001233235220434353000124354123200... 请教下MATLAB一个问题啊
我想检测一行数据里面出现连续出现0的次数,例如数据
12 23 0 0 0 0 23 43 0 0 0 123 32 35 22 0 43 43 53 0 0 0 12 43 54 12 32 0 0 0 132
想用Matlab 检测出现了几次连续的0
出现单个的0不算连续的次数
我再请问下哈,如果现在是这样的数据
0 0 1 2 3 4 11 0 0 0 2 3 2 4 0 2 3 1 2 0 0 1 3 0 0
0 0 0 1 3 4 2 3 0 0 1 3 2 0 2 3 2 1 2 2 1 1 1 1 1 0
0 1 1 1 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 1 2 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0
我只想把四周最边上的0保留,但中间的0,我想用1代替,要怎么处理呢?像上例,我要把第二、第三行中间的0有1代替,但二行,三行两端的0我保留。请问怎么处理呢?
展开
 我来答
angueyuan
推荐于2018-04-11 · TA获得超过322个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:194万
展开全部
先建立如下.m文件;
function n=cishu1(A);%检测连续0函数
m=length(A);
n=0;
j=1;
while j~=m
if(A(j)==0)
if (A(j+1)==0)
n=n+1;
end
while A(j)==0&&j~=m
j=j+1;
end
elseif(A(j)~=0)
j=j+1;
end
end
函数调用:
A=[12 23 0 0 0 0 23 43 0 0 0 123 32 35 22 0 43 43 53 0 0 0 12 43 54 12 32 0 0 0 132];
n=cishu1(A);
n=4
代码有不懂的 问我
第二问可以这样做
A=[你需要的矩阵];
[m,n]=size(A);
for i=2:m-1;
for j=2:n-1;
if A(i,j)==0;
A(i,j)=14;
end
end
end
shenaodong
2011-09-22 · TA获得超过960个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:792万
展开全部
非循环式,面向向量寻找【可以找任意连续的数字】
function findzero
dat = [12 23 0 0 0 0 23 43 0 0 0 123 32 35 22 0 43 43 53 0 0 0 12 43 54 12 32 0 0 0 132 0 ];
idx = find(dat == 0); %替换其中的0值,可以寻找任意的
df_idx = diff(idx);
idx = find(df_idx == 1);
df_idx = diff(idx);
df = length(find(df_idx > 1)) + 1
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
authenty
2018-07-31
知道答主
回答量:1
采纳率:0%
帮助的人:832
展开全部
X0=[12 23 0 0 0 0 23 43 0 0 0 123 32 35 22 0 43 43 53 0 0 0 12 43 54 12 32 0 0 0 132];
target=0;
X0(X0~=target)=NaN; % if you don't assign the target, it will come out with the most succession frequency included in the array.

count=1;
fd=find(diff(X0)==0);
while ~isempty(fd)
count=count+1;
X0=diff(X0);
fd=find(X0==0);
diff(fd);
if ~ismember(1,diff(fd)) ;
break
end
end
disp(vector);
disp(count);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YuyangConquer
2011-09-22
知道答主
回答量:62
采纳率:0%
帮助的人:34.8万
展开全部
我也正在学习matlab.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户30798
2011-09-22 · TA获得超过444个赞
知道小有建树答主
回答量:709
采纳率:0%
帮助的人:483万
展开全部
把需要去掉的元素赋值为空,即[],即可。
A(1:2,:)=[]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式