gpt4 book ai didi

MATLAB - 矩阵组合

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

我是 MATLAB 的新手,我很难找出问题的有效解决方案。任何帮助将不胜感激!!

我有一个 2D 矩阵,其中包含看起来像的线之间的各种角度

            L1  L2 L3 L4 L5 L6
L1 0 40 90 0 10 0
L2 40 0 0 5 40 20
L3 90 0 0 45 0 10
L4 0 5 45 0 10 15
L5 10 40 0 10 0 15
L6 0 20 10 15 15 0

请注意,每个对应的列/行都是相同的。我需要找到可以在矩阵中组织线条的所有可能组合。即 L1 L2 L3 L4 L5 L6、L1 L2 L3 L4 L6 L5、L1 L2 L3 L5 L6 L4 等。我需要为每个组合生成一个矩阵,稍后将与模板值进行比较。

我尝试使用

p = perms(1:6);
tp = angles( p, : );

只是为每个组合交换矩阵的行。这工作正常,除了当还需要交换列时,每个组合只交换行。

             L1 L2 L3 L4 L5 L6                 L1 L2 L3 L4 L6 L5
L1 0 40 90 0 10 0 L1 0 40 90 0 0 10
L2 40 0 0 5 40 20 L2 40 0 0 5 20 40
L3 90 0 0 45 0 10 should be L3 90 0 0 45 10 0
L4 0 5 45 0 10 15 L4 0 5 45 0 15 10
L6 0 20 10 15 15 0 L6 0 20 10 15 0 15
L5 10 40 0 10 0 15 L5 10 40 0 10 0 0

最佳答案

对于排列 num,使用 tp = angles(p(num,:),p(num,:)) 排列行和列以给出您的示例排列 [1 2 3 4 6 5]:

tp =

0 40 90 0 0 10
40 0 0 5 20 40
90 0 0 45 10 0
0 5 45 0 15 10
0 20 10 15 0 15
10 40 0 10 15 0

我认为这是您真正需要的。您的“应该”不再是对称的,这是不对的。

关于MATLAB - 矩阵组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2346595/

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