![]() |
1
2
我会用不同的方式来处理这个问题。首先,创建两个矩阵,其中每个矩阵的对应列对应于矩阵中唯一的一对列。
我能想到的最简单的方法是创建所有可能的成对组合,并消除重复。您可以通过创建
在您的案例中,坐标网格如下所示:
如您所见,如果我们选择每个矩阵的下三角部分(不包括对角线),您将得到唯一的对的所有组合,这是我在代码的最后部分所做的。选择下半部分很重要,因为通过这样做,MATLAB可以选择值 列方向的 ,遍历每个矩阵的下三角部分的列,可以按正确的顺序(即1-2、1-3、…、1-7、2-3、2-4、…等)对每对列进行精确排序
所有这些的要点是
我得到这个是为了
嗯……这根本没用。为什么?你实际上在做的是找到 余弦角 在两个向量之间,由于每个向量都是另一个向量的标量倍数,所以分离每个向量的角度实际上是0,0的余弦是1。
您应该使用不同的值
要使此代码与复制和粘贴兼容,请执行以下操作:
次要注释
如果你有很多列
你可以这样做:
注意,我们可以使用
|
![]() |
Karpov · 巨大的广播变量,没有parfor优化代码? 6 年前 |
![]() |
Shika93 · Matlab元素位置 6 年前 |
![]() |
nymuffin · 在R中创建非对称对角线为0s的1s非对称矩阵 6 年前 |
![]() |
Jakub Wagner · 厄米矩阵的特征向量[闭] 6 年前 |
![]() |
yankeefan11 · 网格每个点处的矩阵 6 年前 |
![]() |
Patrick · 将字母向量拆分为大小相等的向量[重复] 6 年前 |