我需要确定我需要多少个子图,它们的大小和所有信息都存储在一个字符串中。
假设有四个子图,它们的大小是:
上:1x1 下一个:2x1 下一个:2x1 下图:1x1
基本上中间两个是两对组合。通常,我会按如下方式指定子图:
subplot(6,1,1)
subplot(6,1,[2:3])
subplot(6,1,[4:5])
subplot(6,1,6)
现在,此信息存储在字符串中,如下所示:
'1;[2:3];[4:5];6'
所以,问题是从这种字符串中获取轴信息的最有效方法是什么。
我当然可以检查字符串中的每个字符是','
,';'
,'['
,':'
还是']'
。这需要循环到length(str)
和许多if语句,削减'['
,':'
,']'
,询问'是字符数字吗?','冒号,那么?等等。这很乏味。
我有数十个数字与这些次要情节,我只能认为必须有一个更好的方法这样做。
答案 0 :(得分:1)
假设该字符串存储在str
str='1;[2:3];[4:5];6'
splits=strsplit(str,';');
splits=cellfun(@str2num,splits,'uni',0);
for i=1:numel(splits)
subplot(numel(splits),1,splits{i});
%plot
end