simple loop option to reduce code

5 ビュー (過去 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 ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by