How do I print a legend using a character array and integer array?
显示 更早的评论
I want to print a legend that looks like this:
1st entry: 'Current solution, 4800 m DR'
2nd entry: 'Current solution, 7000 m DR'
3rd entry: 'Current solution, 9000 m DR'
4th entry: 'Archive solution, 4800 m DR'
5th entry: 'Archive solution, 7000 m DR'
6th entry: 'Archive solution, 9000 m DR'
The numbers come from a structure array. I'm trying to use sprintf, but I'm having troubles with the format of the 'Current' and 'Archive' strings. A character array does not work since sprintf iterates through each character instead of each word. Do I need to do a cell array and then do a comma separated list for that?
1 个评论
A character array does not work since sprintf iterates through each character instead of each word.
A = 'Current'
sprintf('->%s<-', A)
sprintf('->%c<-', A)
You were using the wrong format item.
采纳的回答
更多回答(1 个)
a="current";
b={'archive'};
c='current';
sprintf('%s',a)
sprintf('%s',b{1})
sprintf('%s',c)
2 个评论
Shelley Snider
2023-1-18
Another trick is below, if you put the data in the right format
data={'1st','2nd','3rd';'Current','Archive','Current';4800,7000,9000};
sprintf('%s entry: ''%s solution, %d m DR''\n',data{:})
类别
在 帮助中心 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!