gpt4 book ai didi

matlab - MATLAB 中结构多级索引的矢量化

转载 作者:太空宇宙 更新时间:2023-11-03 19:15:28 25 4
gpt4 key购买 nike

假设我在 MATLAB 中有以下内容:

a(1).b.c = 4;
a(2).b.c = 5;
a(3).b.c = 7;
....

我想在单个数组中收集值 [4 5 7 ...],无需循环并以矢量化方式。

我试过:

>> a(:).b.c 
# Error: Scalar index required for this type of multi-level indexing.

>> a.b.c
# Error: Dot name reference on non-scalar structure.

但是他们没有工作。我能想到的最好的办法是:

arrayfun(@(x) x.b.c, a);

但据我了解,arrayfunnot vectorized ,还是?

最佳答案

你对 arrayfun 的调用在 Matlab 中对我来说似乎足够地道。我不认为这是矢量化的,但它经过了很好的优化,也许是最快的方法。您还应该尝试使用循环进行基准测试,看看 JIT 编译器在这里是否表现良好。不测试很难知道。

关于matlab - MATLAB 中结构多级索引的矢量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com