use "for loop" to create pattern

I would like to know how to modify my "second for loop" to obtain the "a" result as below picture.
Thank you very much!
clc
clear
plynumber=3;
stackply=3;
plysym=1;
total=plynumber*stackply*plysym;
for i=1:plynumber % first for loop
a(1,i)=input('a=')
end
for i=1+plynumber:total % second for loop

2 个评论

OK, so that is your desired final a, but is supposed to depend on your a from loop 1 at all? Or you just want that a regardless of what a was from the first loop? Because I think to get your desired a, it's basically going to totally ignore the a from your first loop.
Yes, I would like to depend on my loop 1 because I need to analyze my plynumber first in my program. I would like to create a input for my program so that's why I create the first for loop to store my input. The purpose is to make the every input I enter can follow the pattern as the picture I posted.

请先登录,再进行评论。

 采纳的回答

Why not just use repmat() instead of a for-loop?
a=repmat(a,1,3);

5 个评论

Thanks David! repmat is more easier to use! How about creating a symmetric pattern as below picture. Could I also use repmat founction?
a=[45 -45 0 0 -45 45];
a=[repmat(a(1:3),1,2),repmat(a(4:6),1,2)];
Could you generate a=[45 -45 0 0 -45 45] by using repmat as well? Or is there any other way to generate this pattern? Thanks!
Got it! Thanks!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2021a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by