Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 用于从结构提取信息的循环不';不行?_Matlab_Loops_For Loop - Fatal编程技术网

Matlab 用于从结构提取信息的循环不';不行?

Matlab 用于从结构提取信息的循环不';不行?,matlab,loops,for-loop,Matlab,Loops,For Loop,我在matlab中有一个结构,它的值是,它的名字是figurelist。 在该结构中,有一个名为images的字段。在图像内部,我有25个图像,它们的名称分别为img1、img2、img3,img25. 现在我做了一个for循环来提取这些图像,我基本上做到了: For K=1:25 image(figurelist.images.imgK) PAUSE(0.25) End 不幸的是,这不起作用。我得到一个错误,说: ???引用不存在的字段“imgK”。 是否可以使用结构

我在matlab中有一个结构,它的值是
,它的名字是
figurelist
。 在该结构中,有一个名为
images
的字段。在图像内部,我有25个图像,它们的名称分别为
img1、img2、img3,img25.

现在我做了一个for循环来提取这些图像,我基本上做到了:

 For K=1:25
     image(figurelist.images.imgK)
     PAUSE(0.25)
 End
不幸的是,这不起作用。我得到一个错误,说:

???引用不存在的字段“imgK”。

是否可以使用结构中的循环提取此类信息?还是我做错了什么?
谢谢。

您必须这样做:

for K=1:25
  image(figurelist.images.(['img' int2str(K)]))
  pause(0.25)
end
由于字段名是循环变量的函数,因此必须为字段名构造字符串。函数将循环变量
K
的值转换为字符串,然后将该字符串附加到
'img'
以创建字段名的字符串。然后(
()
)用于使用该字符串访问字段值


在和上可以找到几个使用动态字段名的好例子。

我相信您正在寻找的是动态字段名:

谢谢您解决了这个问题(我必须等待10分钟才能接受)。。。你能解释一下你做了什么吗?将整数转换为K的字符串。。为什么?所以它可以将其作为值而不是字符来读取??或者什么是新手的解决方案似乎有效,但我很好奇为什么要将变量命名为img[1,2,3],而不是将它们存储在数组中。后者将是一个更具可扩展性和优雅的解决方案。我被赋予了这种结构,我应该以现在的方式“处理它”,并找到一种提取数据的方法。