77得票4回答
在MATLAB中迭代结构体字段名

我的问题可以简单概括为:"为什么以下代码无法运行?"teststruct = struct('a',3,'b',5,'c',9) fields = fieldnames(teststruct) for i=1:numel(fields) fields(i) teststruct.(...

35得票6回答
如何动态访问结构体字段?

我有一个结构体,其中许多字段是不同长度的向量。我想在循环中按顺序访问这些字段。我尝试使用以下方法getfield,但MATLAB不喜欢它。我该怎么做?S = struct('A', [1 2], 'B',[3 4 5]); SNames = fieldnames(S); for loopInd...

10得票2回答
为什么MATLAB对结构体数组分配中的字段顺序敏感?

首先,我将A定义为一个结构体,并定义了另外两个结构体:B元素的顺序与A相同,而C的元素顺序不同。A.x = 11; A.y = 11; B.x = 21; B.y = 22; C.y = 31; %// Note that I am specifying C.x = 32; %//...

10得票2回答
如何在MATLAB中对结构体数组进行排序?

我正在使用 MATLAB 中的颜色直方图交集来构建一个图像检索系统。该方法给出以下数据:一个实数,代表直方图交集距离,和图像文件名。由于它们是不同的数据类型,我将它们存储在一个具有两个字段的结构数组中,然后将此结构保存在 .mat 文件中。现在,我需要根据直方图交集距离按降序排序此结构,以便检...

9得票4回答
如何在MATLAB中格式化字符串以用作结构体字段名称?

我希望能够从字符串name(i)中去除连字符(-),斜杠(/)和空格(),以便将其用作结构字段名称。 目前,我使用函数strrep来实现这个功能,但这种方式比较繁琐。 cell2mat(strrep(strrep(strrep(name(i), '-',''),'/',''),' ', '...

8得票1回答
如何在MATLAB中动态访问结构体的字段的字段?

我对访问可能被包含结构深度任意嵌套的字段的一般问题很感兴趣。下面是一个使用两个级别的具体示例。 假设我有一个名为toplevel的结构,我可以在MATLAB命令行中使用以下命令定义它: midlevel.bottomlevel = 'foo'; toplevel.midlevel = mi...

7得票1回答
访问结构体数据(Matlab)

a = struct('a1',{1,2,3},'a2',{4,5,6}) 如何获取值1的数值? 我尝试使用a.a1{1},但是出现错误。 >> a.a1{1} ??? Field reference for multiple structure elements that ...

7得票4回答
MATLAB中结构体和空单元数组的“bug”(或非常奇怪的行为)

我不知道这里发生了什么。我使用的是R2006b版本。在我提交错误报告之前,有没有人能测试一下他们是否会遇到相同的问题,尤其是使用更新的版本? 代码: (bug1.m) function bug1 S = struct('nothing',{},'something',{}); add_so...

7得票3回答
空的 Matlab 结构体 S 和所有元素 S(:) 之间的区别

我的问题是: 如果 S 是一个空结构体,那么 S 和 S(:) 有什么区别。 我相信它们之间存在差异,因为有这样的问题: 向空结构体添加字段 最简示例: S = struct(); %Create a struct S(1) = []; %Make it empty [S(:).a] =...