matlab编程-for循环和if语句

%给定矩阵a,要求矩阵a中从0变1次数,比如下面的a,变化了4次,%怎么编程?请高手帮忙!谢谢!!a=[011010];s=0;forn=1:1:5ifa(n)>a(n+... %给定矩阵a,要求矩阵a中从0变1次数,比如下面的a,变化了4次,
%怎么编程?请高手帮忙!谢谢!!
a=[0 1 1 0 1 0];
s=0;
for n=1:1:5
if a(n)>a(n+1)
s=s+1
else s=s+0
end
s
展开
 我来答
dwangli
推荐于2016-10-14 · TA获得超过2157个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:0
展开全部
按照你的说法,是算从0变到1的次数,而不单纯是变化(0变1或者1变0),用不着什么 for, if,直接

length(find(diff(a) == 1))

就可以了

如果非要用for, if

s = 0;
for n = 1:length(a)-1,
if a(n+1) - a(n) == 1,
s = s + 1;
end
end

s
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greatdju
2009-09-28 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4147万
展开全部
不用循环
a=[0 1 1 0 1 0];
s=sum(abs(diff(a)))

如果题目一定要用for和if
a=[0 1 1 0 1 0];
s=0;
for n=1:length(a)-1
if a(n)-a(n+1)
s=s+1;
end
end
s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smallqiao
2009-09-28 · TA获得超过524个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:264万
展开全部
a=[0 1 1 0 1 0];
n=length(a);
b=ones(1,n)
c=a.*b
N=length(find(c==0))
怎么感觉是3次呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式