matlab编程-for循环和if语句

%给定矩阵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

第1个回答  推荐于2016-10-14
按照你的说法,是算从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本回答被提问者采纳
第2个回答  2009-09-28
不用循环
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
第3个回答  2009-09-28
a=[0 1 1 0 1 0];
n=length(a);
b=ones(1,n)
c=a.*b
N=length(find(c==0))
怎么感觉是3次呢

matlab编程-for循环和if语句
for n = 1:length(a)-1,if a(n+1) - a(n) == 1,s = s + 1;end end s

matlab中for循环嵌套if语句
1、新建一个子程序loopcolor。2、然后是定义几个变量,都是整数型。Dim myrow As Integer Dim mycol As Integer Dim mycolor As Integer。3、为mycolor赋值。mycolor = 0。4、对myrow进行循环。5、在myrow的循环里面再嵌套另外一个循环mycol。6、再循环里面,分别选中单元格,并为这些单元...

MATLAB程序怎么运行呢?for循环和if之间???
其次中间的计数变量j没有保存下来,每次内循环完后,又被 置0了,我稍微改了一下,你参考一下。clear all;clc;A=[88:188];ss=[];fla=zeros(1,188-88+1);for i=1:length(A)j=0;for k=1:A(i)if rem(A(i),k)==0 j=j+1;end end fla(i)=j;if fla(i)<=2 ss=[ss,A(...

matlab编程
第一次通过For循环n=1,第二次,n=2,如此继续,直至n=10。在n=10以后,For循环结束,然后执行end语句后面的任何命令.注意,该循环结束后,n=10. For循环的其它重要方面是: (1)For循环不能用For循环内重新赋值循环变量n来终止。 For n=1:10 x(n)=sin(n*pi\/10); n=9; end x x = 0.3090 0.5878 0.8090...

Matlab智囊云新手教程4-for循环
更高级的应用,for循环可以嵌套,如处理多维数组,外层循环控制行,内层循环控制列。例如,一个二行三列矩阵A,for循环会逐行逐列进行操作。掌握for循环,结合while和if语句,就具备了编写基础迭代程序的能力。继续学习数值计算、调试和项目实施,你就能独立完成更多Matlab项目。如果你需要更多帮助,例如项目...

MATLAB编程问题,for循环的逻辑值
isOK=1;for n=1:m if((O(1)-A(2,n))^2+(O(2)-A(3,n))^2>(A(1,n)+A(1,m+1))^2 ) isOK=0;break;end if isOK A(2,m+1)=O(1);A(3,m+1)=O(2);

在matlab中if语句
答案:在MATLAB中使用if语句进行条件判断是非常基础的编程操作。其基本语法结构为:matlab if 条件 如果条件为真,执行这里的代码 elseif 另一个条件 如果第一个条件为假,但第二个条件为真,执行这里的代码 else 如果所有条件都不为真,执行这里的代码 end 详细解释:1. 基本语法结构:在MATLAB中,`...

Matlab编程解疑!如何跳出for循环!
没看明白你的意思。【程序是应该跳出 for j=i-1:1这个循环的,但是我的只是跳出了if循环】,if根本就不是循环,当然也就谈不上跳出。break的作用是结束for或while循环,对于嵌套的循环,break只会结束最靠近它的那一层。从你的代码而言,有for i=2:23和for j=i-1:1两层循环,当满足条件A(1...

怎么用matlab求解这道差分方程?
怎么用matlab求解这道差分方程?根据我的理解其基本思路是:1、根据差分方程式,写出迭代式,利用for循环语句和if判断语句来书写。即 for i=3:n if (k(i)-1)<0 uk1=0;else uk1=k(i)-1;end if (k(i)-2)<0 uk2=0;else uk2=k(i)-2;end y(i)=2*uk1-2*uk2+3*y(i-1)-...

Matlab软件编程的顺序结构,分支结构,循环结构是什么?及如何使用这些结构...
这样做把程序设计分析与语言分开,使得问题简单化,易于理解。if(条件){ 分支体 } 这样的形式为分支结构,当然也有多分支结构3、循环结构,就是使用循环进行编程比如:clc;clear;close all;x=[1 2 3 4 5];y=zeros(1,5);n=5;for i=1:5y(i)=x(i)^2;endy这里for就是一个循环 ...

相似回答