作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个在 matlab 环境中读取的文件。 matlab中的结构如下所示
trx(1) =
x: [1×1500 double]
y: [1×1500 double]
a: [1×1500 double]
b: [1×1500 double]
theta: [1×1500 double]
firstframe: 1
endframe: 1500
nframes: 1500
off: 0
trx(2) =
x: [1×751 double]
y: [1×751 double]
a: [1×751 double]
b: [1×751 double]
theta: [1×751 double]
firstframe: 750
endframe: 1500
nframes: 751
off: -749
很自然地,我创建了一个包含所需字段的Python字典并创建了一个列表,然后使用了savemat。然而,当我加载到 matlab 中时,我只得到元胞数组。我还尝试使用 this但问题是并非所有字段都是具有相同形状的数组,例如“firstframe”是一个 int。然后当我使用 fromarrays() 但它提示因为形状不匹配。
我现在正在尝试将字典转换为结构化数组,但尚未找到任何相关内容。并且还尝试创建一个允许数组具有不同形状的 numpy 记录。任何光线都非常受欢迎
最佳答案
Octave
M =
scalar structure containing the fields:
x =
1 2 3 4
y =
5 6 7 8
one = 1
two =
1 2
>> save -7 struct.mat M
在 Ipython 中:
In [450]: dat = io.loadmat('struct.mat')
In [451]: dat
Out[451]:
{'__header__': b'MATLAB 5.0 MAT-file, written by Octave 4.2.2, 2019-02-08 18:49:49 UTC',
'__version__': '1.0',
'__globals__': [],
'M': array([[(array([[1., 2., 3., 4.]]), array([[5., 6., 7., 8.]]), array([[1.]]), array([[1., 2.]]))]],
dtype=[('x', 'O'), ('y', 'O'), ('one', 'O'), ('two', 'O')])}
这里M
是(1,1)结构化数组,所有字段都是object
数据类型。这样他们就可以拥有自己的形状。标量是 (1,1) 矩阵。
关于python - 如何将 python 字典列表保存为 matlab 结构化数组的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54598286/
我是一名优秀的程序员,十分优秀!