matlab - 如何仅计算 Octave 中矩阵乘积的对角线?

标签 matlab matrix octave matrix-multiplication diagonal

在 Octave 中有没有办法只计算和存储矩阵乘积的对角线?

基本上就像做:vector = diag(A*B);

我不关心 A*B 的任何值除了那些在对角线上的。矩阵大小约为 80k x 1212 x 80k ,所以即使我不关心速度/额外内存,它也根本不适合 RAM。

奇怪,因为Octave是海量数据集的封装,而且对角线很重要,所以应该是可以的。

最佳答案

对角线中的第一个元素是 A 的第一行与 B 的第一列的标量积。对角线中的第二个元素是 A 的第二行与 B 的第二列的标量积。

换句话说:

vector = sum(A.*B',2);

关于matlab - 如何仅计算 Octave 中矩阵乘积的对角线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301046/

相关文章:

Matlab imshow 一个灰度矩阵

file - 在matlab中获取不带扩展名的文件名

java - 计算矩阵行列式

windows - Octave-如何在启动时自动执行命令

c++ - 运行简单的 .oct 文件时 Octave 崩溃,我的代码有什么问题?

python:如何扩展具有相邻重复列的 numpy 数组?

python - 如何将音调轨道从旋律提取算法转换为类似音频信号的嗡嗡声

matlab - 通过MATLAB向HDF5文件中Datatype的每个成员写入矩阵数据

c++ - 两个同时 for 循环 MATLAB 或 C++

Android:ImageView 旋转比例