问题标签 [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.
matlab - 如何在 MATLAB 中预分配非数字向量?
我经常发现自己在做这样的事情:
哪个,虽然功能,不是最佳的 -processedData
向量在循环内增长。甚至mlint
警告我,我应该考虑预先分配速度。
如果数据是 的向量int8
,我可以这样做:
并修改循环以填充向量槽而不是连接。
有没有办法预先分配一个向量,以便它可以随后保存结构或对象?
更新:受Azim 回答的启发,我只是颠倒了循环顺序。正如调试器确认的那样,首先处理最后一个元素会强制在第一次命中时预分配整个向量:
这要求由 MATLAB 返回的任何对象process()
都具有有效的零参数构造函数processedData
,因为 MATLAB在第一次使用真实对象写入它时进行初始化。
mlint
仍然抱怨可能的数组增长,但我认为那是因为它无法识别反向循环迭代......
matlab - 如何在 MATLAB 中计算结构中的属性数量?
我有一个返回一个或多个变量的函数,但是随着它的变化(取决于函数是否成功),以下内容不起作用:
这有时会返回一个错误,varargout{2} not definedresultA
,因为当函数失败时,实际上只有第一个变量被赋予了一个值。相反,我将所有输出放在一个变量中:
但是,变量被定义为结构的属性,这意味着我必须使用output.A
. 这本身不是问题,但我需要计算属性的数量以确定我是否得到了正确的结果。
我试过了length(output)
,numel(output)
但size(output)
无济于事,所以如果有人有聪明的方法,我将非常感激。
matlab - 带有结构和空单元格数组的 MATLAB“错误”(或非常奇怪的行为)
我不知道这里发生了什么。我正在使用 R2006b。在我提交错误报告之前,是否有可能使用较新版本的人进行测试以查看他们是否获得相同的行为?
代码: ( bug1.m
)
输出:
看起来空虚/虚无S.something
允许它转移函数调用的参数。这似乎是非常糟糕的行为。在短期内,我想绕过它(我正在尝试创建一个函数,将项目添加到最初为空的单元格数组中,该单元格数组是结构的成员)。
编辑:
推论问题:所以没有办法构造一个struct
包含任何空单元格数组的文字?
arrays - MATLAB:从结构数组中收集
eg 的输出>>w = whos;
返回一个结构数组。我想构造一个数组,其元素是每个结构中特定字段名称的标量。
这样做的最明显方法不会返回我想要的数组,而是分别返回每个答案。
我可以用循环来做,但想知道是否有更好的方法。
arrays - 如何在 MATLAB 中对结构体数组进行排序?
我正在使用 MATLAB 中使用颜色直方图交集的图像检索系统。此方法为我提供以下数据:表示直方图相交距离的实数和图像文件名。因为它们是不同的数据类型,所以我将它们存储在包含两个字段的结构体数组中,然后将此结构体保存在 .mat 文件中。现在我需要根据直方图相交距离降序对这个结构进行排序,以便检索具有最高直方图相交距离的图像。我尝试了很多方法来对这些数据进行排序,但没有结果。请问你能帮我解决这个问题吗?
arrays - MATLAB:确定具有字段作为结构体数组的结构体数组的总长度/大小
我有一个结构数组,其中包含作为不同长度的结构数组的字段。例如:
's' 是一个结构体 'data' 是 's' 中的一个字段,也是一个结构体数组本身和
我想预先分配一个数组,该数组从每个字段 s.data.timestamp 中获取时间戳。有没有办法在不使用 for 循环两次的情况下做到这一点?这是我到目前为止所拥有的:
我考虑过根据“s”的长度和“数据”的平均长度高估我需要的长度,但每个“数据”字段/子结构的实际长度差异很大。我是否会更好地高估它的结果并随后修剪结果数组?对于我正在使用的数据集,零时间戳是不可能的,所以这应该不是问题。
matlab - 如何动态访问结构字段?
我有一个包含许多字段的结构,这些字段是不同长度的向量。我想按顺序访问循环内的字段。我按如下方式尝试了 getfield,但 MATLAB 不喜欢这样。我怎样才能做到这一点?
我首先使用结构,因为数组会遇到不同字段长度的问题。有没有更好的选择?
arrays - 如何在 MATLAB 中将这些数据组织成结构?
说 for n=5
,下面的代码给了我一个n
随机生成节点的图。这些节点不是结构(只是绘制点),但我想像我一样为每个节点分配一条消息,sink
并source
跟踪节点的身份和位置。
例如,如果node 4
有 (x,y) 坐标(.3452 , .5463)
,我也想分配node 4
一个msg
和temp_value
。我怎样才能做到这一点?
代码:
arrays - 如何为每个节点分配随机能量 E 并比较两个节点的最大能量并找到它们之间的距离?
在gnovice 的帮助下,我得到了以下代码,但现在我想(随机)为每个节点分配能量 E=floor(rand(1)*10)
,并且还想比较最大能量以及它们之间的距离是多少?
这个问题是这个问题的后续。
matlab - 如何在 MATLAB 中重命名结构体数组中的字段?
给定一个结构数组,如何重命名一个字段?例如,给定以下内容,如何将“bar”更改为“baz”。
什么是最好的方法,其中“最好”是性能、清晰度和通用性的平衡?