我是MATLAB的新手,遇到了一个难以找到高效解决方案的问题。非常感谢您的帮助!
我有一个包含各种线之间角度的二维矩阵,看起来像:
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