How do I repeat a character n times?
173 次查看(过去 30 天)
显示 更早的评论
Freq=[s0,s1,s2,s3,s4,s5,s6,s7,s8,s9];
hist=[1,length(Freq)];
for k=1:length(Freq)
hist(k)=repmat('*',Freq(k));
end
I want to create a row vector where every element in 'hist' has '*' whose quantity corresponds to the elements from the array 'Freq'. If Freq(5)=6 then hist(5) = '******'
0 个评论
采纳的回答
Peter O
2017-2-23
Because your histogram counts will result in variable length strings of asterisks, you'll need to use cell arrays to store each string.
Freq=[s0,s1,s2,s3,s4,s5,s6,s7,s8,s9];
hist=cell(1,length(Freq));
for k=1:length(Freq)
hist{k}=repmat('*',1,Freq(k));
end
Access the k-th string using hist{k} (note the curly braces).
更多回答(1 个)
Walter Roberson
2017-2-23
You will need to use
hist = strings(1,length(Freq));
and you will need to use R2016b or newer.
R2016a and older cannot store multiple characters in single location that is accessed using () indexing.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!