simple loop option to reduce code

1 回表示 (過去 30 日間)
Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 10 日
編集済み: Andrei Bobrov 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
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
Rashmil Dahanayake 2013 年 12 月 10 日
Thanks. ^Cell array option is more concise

サインインしてコメントする。

その他の回答 (2 件)

Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 10 日
編集済み: 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

Andrei Bobrov
Andrei Bobrov 2013 年 12 月 10 日
編集済み: 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 Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by