# simple loop option to reduce code

2 次查看（过去 30 天）
Rashmil Dahanayake 2013-12-10

Hi, Can anyone suggest a neat way to simply the following code.
T=0.25;
t1=-3*T/12:.001:T/12;
t2=t1(end):.001: t1(end) + T/3;
t3=t2(end):.001: t2(end) + T/3;
t4=t3(end):.001: t3(end) + T/3;
t5=t4(end):.001: t4(end) + T/3;
t6=t5(end):.001: t5(end) + T/3;
---------------------------------------------------
I'm intending to use a for loop as follow but, I'm getting an error message
for r=2:6
t(r)=t(r-1)(end):t1(end):.001: t(r-1)(end) + T/3;
end

### 采纳的回答

kei hin 2013-12-10
T=0.25;
t{1}=-3*T/12:.001:T/12;
for r=2:6
t{r} = t{r-1}(end):.001: t{r-1}(end) + T/3;
end
##### 1 个评论显示 无隐藏 无
Rashmil Dahanayake 2013-12-10
Thanks. ^Cell array option is more concise

### 更多回答（2 个）

Rashmil Dahanayake 2013-12-10

figured it out
T=0.25;
t1=-3*T/12:.001:T/12;
Time(1,:)=t1;
for r=2:6
Time(r,:)=Time((r-1),end):.001: Time((r-1),end) + T/3;
end
##### 0 个评论显示 -1更早的评论隐藏 -1更早的评论

Andrei Bobrov 2013-12-10

T = .25;
n = 6;
tt = -3*T/12:.001:T/12;
Time1 = bsxfun(@plus,tt,diff(tt([1,end]))*(0:n-1)');

### 类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by