问题标签 [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 回答
5981 浏览

matlab - 在 MATLAB 中访问结构体字段时遇到问题

我在 MATLAB 中有一个结构。当我尝试访问一个字段时,我看到显示:

如何获取数组本身?

0 投票
4 回答
844 浏览

matlab - Provide variable argument list

I have a function which accepts a variable number of input variables. The problem is, the number of input arguments I'm going to provide varies. As such, I store all the arguments in a structure:

My question is, is there a way to expand this argument for the function? I need a way to convert this:

to this:


EDIT TO ADD: So apparently my question wasn't clear. I know how to construct the function using varargin. My question was, if I am trying to use a build-in function which I don't want to or can't modify, how can I provide arguments in a variable manner? I.e., I don't know ahead of time how many argument's I'll be providing, so when I call the function, I'll have to call it with X number of arguments. In effect, I'm looking for a way to turn this:

into this:

in a programmatic manner. Thanks!

0 投票
3 回答
9684 浏览

matlab - 如何将结构放入结构中

我刚开始使用 Matlab,我绝对鄙视(或不正确理解)类型系统(或缺乏类型系统)。

为什么这不起作用?我只想要结构中的结构(在递归函数中)

我尝试了其他东西,比如 make d=struct('op',1,'kids', struct([])),但似乎没有任何效果....

0 投票
3 回答
405 浏览

matlab - Matlab:我可以通过唯一名称引用数组索引吗?

假设我有一个pols包含 [theta, rho, z] 向量的列矩阵。这意味着,如果我有 9 个这样的向量,它将是一个 9x3 矩阵。将它们安排成这样非常方便,因为我可以将它们中的任何一个提供给以下功能pol2cart

对于某个向量,我可以通过索引 1、2、3 找到它的分量:

但有时矩阵实际上在另一个更宽的矩阵内,并且可能在中间而不是开头,这样上面可能会变成:

为了使代码在其他人必须维护的情况下更具可读性,是否可以通过唯一名称引用索引?像

它可以在前面定义,.rho映射到具有 rho 值的列。

我冒险将矩阵转换为单元格,然后使用数组转换mat2cellcell2struct但这似乎并不实用。或者,我可以创建一个结构数组,但是我失去了做的能力pol2cart(pols),而是必须做

所以重复这个问题:我可以将索引映射到唯一的名称吗?

0 投票
5 回答
5963 浏览

matlab - 有没有办法从 MATLAB 中的结构中删除除少数所需字段之外的所有字段?

所以我有几个结构,其中包含使用的数据是十几个脚本。问题是对于每个脚本,我只需要少数变量,其余的我可以忽略。我正在使用大量数据(数据),而 MATLAB 经常给我内存不足的错误,所以我需要从结构中删除所有不必要的字段。

目前我有一个包含所有不需要的字段的单元格,然后我在结构上调用 rmfield 。但是结构中的字段经常发生变化,不断更新不需要的字段列表变得很痛苦。那么有没有办法告诉 MATLAB 只保留我想要的那些字段并删除其他所有内容,即使我不知道其他所有内容是什么?

这是一个例子,

  • 结构 1 具有:A、B、C、D、E 字段
  • 结构 2 具有:A、B、C、D、E、F 字段
  • 结构 3 具有:A、B、C、D、E、F、G、H、I 字段

有时结构 3 可能只有 A 到 G。

我只想保留 A、B 和 C 字段,并从所有结构中删除所有其他数据。

0 投票
3 回答
1512 浏览

matlab - Difference between empty Matlab struct S and all elements S(:)

My question is: What is the difference between S and S(:) if S is an empty struct.

I believe that there is a difference because of this question: Adding a field to an empty struct

Minimal illustrative example:

The error given:

A dot name structure assignment is illegal when the structure is empty. Use a subscript on the structure.

0 投票
4 回答
498 浏览

matlab - 在 MATLAB 中使用减号时出错

此行给出以下错误:

以下是 和 的pb定义pw

pos是一个 2 x 1 数组。

0 投票
2 回答
1395 浏览

matlab - 在字段名称未知时访问结构中的数据

我将数据作为具有多个层的结构,例如:
data.A.B
我要访问的数据在 layer 中B。但问题是,B根据数据的来源,字段名称可能会有所不同。因此我不能只输入:
data.A.B.myData
myDatais 本身struct

我可以使用:
fieldnames(data.A)
来查找名称,但这对我没有多大帮助。我必须为可能出现在此级别的每个可能的字段名称编写代码部分。这正是我试图避免的。

有没有办法在myData不知道字段名称的情况下获取我拥有的数据()B

0 投票
2 回答
982 浏览

matlab - 从结构中删除大于某个值的数据

我有一个结构,它是一个<1x1 struct>,我正在尝试根据值编辑结构中的一个字段。字段被调用GeoDist_Actual,结构被调用GeoDist_str。GeoDist_Actual 字段是 a <262792x1 double>,这是我试图使用的代码,以消除大于 1.609344e+05 的值。

我将如何附加或更改此代码以使其像我的目标一样运行?我考虑将所有值设置为 0,但我将不得不从这里倒退以取回 GPS 值,进行反向文森特(球形)计算,我想完全摆脱不符合 if 条件的值。

如果我可以缩小问题的范围,请告诉我,并提前感谢您的帮助!

编辑:我注意到当我更改部分时

为了

它实际上并没有解决任何问题,而是没有访问结构“GeoDist_str”中的字段“GeoDist_Actual”,它只是创建了一个值为 0 的镜像字段。

0 投票
1 回答
65 浏览

matlab - 如何按名称对 mat 文件中的变量进行分组并将它们收集到一个结构中?

我正在读取一个 mat 文件,其中包含带有计数器的变量,例如a1, a2, a3,和.bc1c2

我想将数据放入字段名称为“a”、“b”和“c”的结构中,其中 a=[a1;a2;a3],b=bc = [c1; c2].

算法需要能够做到这一点,而不知道每个变量的计数器的最大值是多少。我怎样才能做到这一点?