gpt4 book ai didi

matlab - 如何在 MATLAB 中轻松形成 Levi-Civita 3x3x3 矩阵?

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

我特别想知道如何在不使用 for 循环的情况下创建它。另外,对于一般的 N 维 Levi-Civita matrix 怎么办? ?

最佳答案

这是专门针对 3×3×3 的非循环解决方案 Levi-Civita matrix使用 linear indexing :

lcMat = zeros(3,3,3);
lcMat([8 12 22]) = 1;
lcMat([6 16 20]) = -1;

编辑:

这里是一个更通用和简洁的非循环解决方案,用于 N-dimensional Levi-Civita matrix :

[mats{1:N}] = ndgrid(1:N);
pairsIndex = nchoosek(1:N,2);
lcMat = sign(prod(cat(N+1,mats{pairsIndex(:,2)})-...
cat(N+1,mats{pairsIndex(:,1)}),N+1));

当然,这是一个权衡。虽然它不使用循环,但可能会创建很大的临时变量。 N 越大,此内存成本就越高。

关于matlab - 如何在 MATLAB 中轻松形成 Levi-Civita 3x3x3 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381629/

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