如何在Matlab中获取矩阵的除第一个元素以外的所有元素?

艾莉

为了在Matlab中找到以下公式的输出,我需要PDA在不使用任何循环的情况下获得矩阵的所有元素(在下面的代码中),除了其第一个元素。

公式(目标): % EVec = (A11-B11).^2 - (A12-B12).^2 - .. - (Aij-Bij).^2

例如:

A(:,:,1) = [1 2 3 4; 4 5 6 1]; 
A(:,:,2) = [0 5 4 3; 2 7 6 0];
A(:,:,3) = [1 2 3 9; 0 6 7 0];

B(:,:,1) = [4 0 3 4; 4 8 0 1];
B(:,:,2) = [0 5 6 1; 0 9 4 3];
B(:,:,3) = [2 0 3 5; 8 6 7 2];

PDA = (A-B).^2;
EVec = PDA(1,1,:) - sum(PDA(?, ?, :)); % The problem is sum(PDA(?, ?,:)).

PDA的结果是:

PDA(:,:,1) =

     9     4     0     0
     0     9    36     0

                               % All of them except Val(1,1) = 9.
PDA(:,:,2) =

     0     0     4     4
     4     4     4     9

                               % All of them except Val(1,1) = 0.
PDA(:,:,3) =

     1     4     0    16
    64     0     0     4
                               % All of them except Val(1,1) = 1.

我的问题是输出的PDA(1,1,:) - sum(PDA(?, ?, :))内容应该是:9-(4+0+0+0+0+9+36+0), 0-(0+4+4+4+4+4+9), 1-(4+0+16+64+0+0+4) = [-40, -29, -87].不幸的是,事实并非如此。

如何获取矩阵中除第一个元素外的所有元素?

菲尔·戈达德

第一个元素减去其余元素的总和只是第一个元素减去所有元素的总和的两倍,因此

>> squeeze(2*PDA(1,1,:) - sum(sum(PDA,1),2))
ans =
   -40
   -29
   -87

或在较新版本中

>> squeeze(2*PDA(1,1,:) - sum(PDA,[1,2]))
ans =
   -40
   -29
   -87

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何移动除数组Javascript中的第一个元素以外的内容?

如何使用列表切片从列表中获取除第一个元素以外的所有内容

如何从数组中删除除JavaScript中的第一个元素以外的所有元素

在javascript数组中,如何获取除第一个元素以外的最后5个元素?

Java-写入XML文件会使第一个元素以外的所有内容缩进

Elixir-如何获取除列表中的最后一个元素以外的所有元素?

获取除第一个和最后一个以外的所有数组元素

除最后一个元素以外的所有元素上的边距

对除最后一个元素以外的所有元素应用border-right

在Shiny Application中过滤数据时,长度长度为1的字符向量(除第一个元素以外的所有字符)将被忽略错误

无法访问列表中的第一个元素以外的其他元素

对除第一个元素qsort C以外的所有内容进行排序

替换2D数组特定行中除最后一个元素以外的所有元素

如何删除除第一个元素外的所有子元素?

如何从数组中删除除最后N个元素以外的所有元素?

为除第一个元素以外的所有元素实现代码

需要一个数组,其中新数组的第一个元素=除第一个元素以外的所有元素的和

在jQuery中隐藏某个类的除一个元素以外的所有元素

除矩阵的除第一个元素外的所有元素

如何使用jQuery隐藏除最后一个元素以外的所有元素(按类)

我如何使用jQuery获取除最后一个元素以外的所有元素

选择除最后一个列表元素以外的所有元素

选择除具有特定类的最后一个元素以外的所有元素

有什么方法可以选择.on()函数中除一个元素以外的所有元素

如何取除第一个 k 以外的所有元素

如何加入数组中除第一个元素之外的所有元素?

如何获取列表中字符串的第一个元素以及列表中的其余元素?

如何更改除數組中的第一個元素以外的所有元素以僅顯示差異

选择除第一个以外的所有元素