擅长:python、mysql、java
<p>一个可能的等效物是包含以下结构的单元:</p>
<pre><code>octave:52> d1.val='one';d2.val='two';d3.val='three';
octave:53> c={d1,d2,d3};
octave:54> c
c =
{
[1,1] =
scalar structure containing the fields:
val = one
[1,2] =
scalar structure containing the fields:
val = two
[1,3] =
scalar structure containing the fields:
val = three
}
octave:55> c{2}.val
ans = two
</code></pre>
<p>单元格具有列表的内容灵活性。结构就像字典,尽管对键有更多的限制。或者你可以把它们比作Python对象。事实上,MATLAB中最初的“object”实现是建立在结构之上的(在20世纪90年代末)。</p>
<p>另一种可能是结构数组。从Octave文档:</p>
^{pr2}$
<p>有时使用<code>scipy.io.loadmat/savemat</code>在MATLAB和<code>numpy</code>之间来回编写对象是有帮助的。那些开发人员已经找到了一套等价物。</p>
<hr/>
<p>比较结构和容器的其他SO问题:</p>
<p><a href="https://stackoverflow.com/questions/34767016/the-difference-between-a-container-map-and-a-struct-in-matlab">The difference between a container map and a struct in matlab</a></p>
<p><a href="https://stackoverflow.com/questions/3591942/hash-tables-in-matlab">Hash tables in MATLAB</a></p>
<p>MATLAB文档说容器对于保存小值(标量(?)还有琴弦。我还没见过在牢房里收集容器的讨论。</p>
<p>如果您对numpy/MATLAB的数据交换感兴趣,那么收集数据仍然是个问题,这取决于它如何将它们保存到.mat文件中。</p>