Clear Filters
Clear Filters

create a new pattern with a string

1 view (last 30 days)
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
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...

Sign in to comment.

Accepted Answer

Andrei Bobrov
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);

More Answers (1)

Walter Roberson
Walter Roberson on 4 Oct 2017
temp = repmat(str1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);
  2 Comments
Walter Roberson
Walter Roberson on 4 Oct 2017
temp = repmat(str1, 1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!