2013-05-10 19 views
0

Q-从0:limit-1创建一个“计数器”(例如,如果您选择3,它将显示0,1,2)。计数器的长度不是在程序中确定的,应该在运行时确定,并且输入可以互不相同。从0:limit-1在matlab上创建一个“计数器”。在程序中未确定计数器的长度

这是python上的解决方案,但我想在matlab上进行计算。我怎么做?

for i in range(3): 
    print(3-i) 
for s in range(3,-1,-1) 
    print s 

所以答案是:

3 
2 
1 
3 
2 
1 
0 
+0

http://www.mathworks.com/help/matlab/ref/colon.html使用冒号运算符,请参阅该链接的第一个例子。这是Matlab的基本语法元素之一。 – Dan 2013-05-10 07:49:52

+0

所以你说我应该用我的问题的第一个例子? – 2013-05-10 08:06:45

+0

那么“打印”命令呢? – 2013-05-10 08:07:43

回答

2

丹已暗示你在上面的评论,MATLAB的the colon operator已经做你想做的。

下面是对应于你的Python示例实施例:

使用裸冒号运算符:

3:-1:0 

给出

ans = 
    3  2  1  0 

这是一个由1 4行向量。

你会得到同样的结果:

limit = 3; 
limit:-1:0 

如果您想以此作为一个循环的基础:

limit = 3; 
for i = limit:-1:0 
    disp(i) 
end 

将输出:

3 
2 
1 
0 

更一般的,你可以这样做:

istart = 6; 
istep = -2; 
iend = 0; 

for i = istart:istep:iend 
    disp(i) 
end 

这给:

​​