create a new pattern with a string
1 view (last 30 days)
Show older comments
Elysi Cochin
on 4 Oct 2017
Commented: darshana alaiya
on 2 Apr 2023
i have a string pattern as below of length 24
str1 = 'AAAAAABBBBBBCCCCCCDDDDDD'
now i want to create a new pattern from the str1 with the length i give,
if i give length of new pattern as 72 answer should be
str2 = 'AAAAAABBBBBBCCCCCCDDDDDDAAAAAABBBBBBCCCCCCDDDDDDAAAAAABBBBBBCCCCCCDDDDDD'
that is it should repeat pattern in str1 upto the limit i want
if i give 84 answer should be
str3 = 'AAAAAABBBBBBCCCCCCDDDDDDAAAAAABBBBBBCCCCCCDDDDDDAAAAAABBBBBBCCCCCCDDDDDDAAAAAABBBBBB'
1 Comment
darshana alaiya
on 2 Apr 2023
I want matrix with repeated pattern in 1st 3rd and 5th row.
for eg. 1 18 25 0 0 0 0 0 0
3 23 27 0 0 0 0 0 0
0 0 0 5 28 29 0 0 0
0 0 0 7 33 31 0 0 0
so on...
Accepted Answer
Andrei Bobrov
on 4 Oct 2017
Edited: Andrei Bobrov
on 4 Oct 2017
m = 84;
[s,~,c] = unique(str1,'stable');
n = numel(c);
out = s(c(rem(0:m-1,n)+1));
or
m = 84;
k = repmat(str1,1,ceil(m/numel(str1)));
out = k(1:m);
0 Comments
More Answers (1)
Walter Roberson
on 4 Oct 2017
temp = repmat(str1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);
2 Comments
Walter Roberson
on 4 Oct 2017
temp = repmat(str1, 1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!