问题标签 [matlab-struct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1641 浏览

python - 在python的结构中导入matlab结构

我有 MATLAB 数据文件,其中包含我想导入 python 的结构中的多个结构。在 MATLAB 中,如果main_struct是主文件,我可以通过以下方式获取所需的数据 -

等等。现在我想在 python 中导入包含 struct 的 .mat 文件并访问leaf1leaf2. 在 python 中,我可以加载 mat 文件 -

如何访问中的第二个结构tree1

0 投票
1 回答
259 浏览

matlab - 从 MATLAB 中的 textscan 输出构造一个结构

我有一个这样的制表符分隔文件:

我想将它作为这样的结构读入 Matlab: 在此处输入图像描述

我试着这样做:

但是,它返回的这种结构包含可笑的单元格。所有数字字段的行为都不同。注意:我想要一个 1x17149 结构,而不是 17149x1 结构。

任何人都可以帮忙吗?谢谢。

在此处输入图像描述

0 投票
2 回答
914 浏览

arrays - 为什么 MATLAB 对结构数组赋值中的字段顺序很敏感?

首先,我指定A一个结构体和另外两个结构体:B具有相同的元素顺序和C具有不同的元素顺序。

分配ABC工作,这是我对结构的期望 - 元素的顺序应该无关紧要。

现在我指定A为结构数组而不是结构,并尝试将其元素之一分别分配给BC

突然,MATLAB 抱怨错误:

不同结构之间的下标赋值

有谁知道为什么会发生这种情况以及如何以优雅的方式解决它?

0 投票
1 回答
1233 浏览

arrays - 如何从 MATLAB 结构数组中删除空字符串

我有一个 MATLAB 结构数组,其中包含一个名为image_name. 有几个条目

(即结构数组的第 n 行有一个image_name空的)

我想通过尝试以下方式来删除它们

但无法获取空字符串的索引。我尝试的每一个变化都会产生一个错误。

如何找到空字符串的行索引,以便删除它们?

0 投票
1 回答
272 浏览

matlab - 为什么 MATLAB 在设置预分配结构的字段时会不断消耗内存?

我正在阅读 AVI 电影的帧并对其帧进行一些计算。这是我的代码的一部分:

问题是它一直在 for 循环中消耗内存。我首先怀疑read(mov, k),但这不是问题。我做的计算越多(我设置的字段越多),分配的内存就越多。如图所示,红色矩形表示运行上述代码时分配的内存,橙色表示相同代码,最后 3 行注释(SdxSdySdtwhos方法显示在运行 for 循环之前和之后变量的数量或大小没有变化(除了k):

在此处输入图像描述

当我添加更多字段时情况会变得更糟,它会消耗所有内存并显示错误消息。

我错过了什么吗?我怎样才能防止这种情况?

顺便说一句,我正在使用 R2011a。

0 投票
1 回答
66 浏览

string - 如何从 Matlab 数组中删除特定 struct.field 值的结构

每次我尝试按字段编辑结构数组时,我发现我真的需要花几个星期的时间来尝试真正学习 Matlab。现在,我有一个结构数组,其中每个结构都有以下字段:

这些字段中的每一个都是一个字符串。我还有一个字符串单元数组:

y = {'苹果','香蕉','花岗岩棕榈'}

我想删除x.fruit在y中的所有结构(例如xfruit =='apple'),但除了循环y之外似乎找不到其他方法。

我希望有一些类似的东西:

这是可行的吗?有没有办法使用 cellfun 来做到这一点?

0 投票
2 回答
59 浏览

matlab - 为什么在分配结构之前不需要定义结构的字段?

我在 MATLAB 中使用其他人的代码,看起来他正在创建结构,只是使用字段名称而不声明它们。这就是它在 MATLAB 中的工作方式,您只是开始使用您选择的不区分大小写的字段名称吗?

所以,例如,他有这样的事情:

换句话说,他只是开始编造字段名称并为它们分配值,而不声明字段名称或它们的类型。

这就是它在 MATLAB 中的工作方式吗?

0 投票
1 回答
10232 浏览

matlab - 在 Matlab 中将结构转换为双精度类型

Glcm(特征提取方法)给我一个'struct'类型的输出,而我需要'double'类型的输出。我需要一个“双”类型作为下一步的输入变量。

在此处输入图像描述

因此,我尝试使用下面显示的几个代码对其进行转换。

该代码给了我一个输出,但它是“复双”类型。

在此处输入图像描述

有没有更好的方法将 'struct' 转换为 'double' 类型?

或者将“复双”转换为“双”类型?

任何帮助和建议将不胜感激。谢谢你。

0 投票
0 回答
28 浏览

matlab - 如何在matlab的结构中创建另一个字段

我有一个包含信息的结构。我想放置更多字段并放入其他表中的新字段信息。我如何将新字段放入具有信息的结构中?在matlab!

谢谢

0 投票
2 回答
146 浏览

matlab - 连接结构元素

例如

我想垂直连接 struct 中的向量test。例如,如果它被定义为一个元胞数组test = {[1;2;3], [4;5;6]},我可以这样做vertcat(test{:})。但是,如果是结构,则vertcat(test{:})返回一个struct对象。test

我想要一个不涉及使用struct2cell.