从字符串的单元格列表中绘制数组

Ste*_* W. 0 matlab matlab-figure

假设我有一个.mat文件(使用load filename.mat)加载的不同行包含遵循相同命名约定的浮点数,例如:

file_3try = [ 2.4, 5.2, 7.8 ]
file_4try = [ 8.7, 2.5, 4,2 ] 
file_5try = [ 11.2, 9.11 ]
Run Code Online (Sandbox Code Playgroud)

使用自动化在一个绘图中绘制所有这些(我有比上面的示例更多的行)我创建了一个包含数组名称的单元格:

name{l} = sprintf('%s%02i%s','file_',num,'try');
Run Code Online (Sandbox Code Playgroud)

在一个for循环num中,名字中​​的数字和l从1开始的计数器.

但是当我尝试使用例如绘制数组时:

plot(name{1}) 
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Error using plot
Invalid first data argument
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,还是我错了?

mat*_*gui 5

内置了一些东西来解决这个问题

data = load ( 'filename' ); % load data and store in struct
fnames = fieldnames ( data );
for ii=1:length(fnames)
  plot ( axHandle, data.(fnames{ii}) );
end
Run Code Online (Sandbox Code Playgroud)

axHandle是要绘制的轴的句柄.它不是必需的,但使用它是一种好习惯.如果未提供,则绘图命令将绘制在当前轴上,例如gca.