Azzera filtri
Azzera filtri

create a new pattern with a string

1 visualizzazione (ultimi 30 giorni)
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 Commento
darshana alaiya
darshana alaiya il 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...

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 4 Ott 2017
Modificato: Andrei Bobrov il 4 Ott 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);

Più risposte (1)

Walter Roberson
Walter Roberson il 4 Ott 2017
temp = repmat(str1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);
  2 Commenti
Walter Roberson
Walter Roberson il 4 Ott 2017
temp = repmat(str1, 1, ceil(Count/length(str1))) ;
str3 = temp(1:Count);

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by