可以说我有矩阵A = [1 2; 3 4], B = [4 3; 2 1]。 我想将矩阵A ([1; 3], [2; 4])中的每一列乘以矩阵B ([4 3], [2 1])中的相应行,并对得出的矩阵求和。 我想出了以下代码:

C = zeros(size(A));

for i = 1 : size(A, 1)

C = C + A(:, i) * B(i, :);

end

可以使用一些数学技巧或Matlab函数重写它以摆脱for循环吗?

我看到我的问题对我想要的结果不明确。 结果应该精确地模仿提供的Matlab代码,因此我寻求一个矩阵,该矩阵由中间矩阵的矩阵求和给出,该矩阵是通过将每个列向量与来自两个矩阵的对应行向量相乘而创建的。 对于此特定示例,将由

C = A(:, 1) * B(1, :) + A(:, 2) * B(2, :);

我只是在寻找适用于任何兼容尺寸矩阵的通用,较少for循环的版本。

我一点都不了解matlab,但是根据我的研究,这应该可以工作:C = A * B,然后是result = sum(C(:))。 这会给您想要的结果吗? 来源:tutorialspoint.com/matlab/matlab_matrix_multiplication.htm,mathworks.com/matlabcentral/newsreader/view_thread/51252

根据您的更新,@ jodags答案是正确的。 C = A * B等效于您的matlab代码。

我只是在评论中尝试了我的建议,似乎可以使用此八度测试仪:

简短格式(仅适用于八度)

A = [1 2; 3 4], B = [4 3; 2 1]

X = sum((A * B)(:))

长格式(Matlab):

A = [1 2; 3 4]

B = [4 3; 2 1]

C = A * B      % Stop here if you want the exact result from your Matlab code

x = sum(C(:))  % To get the sum of the resulting matrix

资料来源:

https://www.tutorialspoint.com/matlab/matlab_matrix_multiplication.htm

https://www.mathworks.com/matlabcentral/newsreader/view_thread/51252

根据您的更新进行更新:

A * B的输出:

8    5

20   13

您的代码输出:

8    5

20   13

简短格式在Matlab中不起作用,仅在Octav中有效

我不明白这如何回答问题。 问题是要求矩阵结果,答案是标量。

在问题中,他说他想得到"求和矩阵的总和",所以最后一步是求出给定马蒂奇乘积的和。 也许我误读了原始帖子?

也许我是盲目的,但我看不到"给定马蒂奇积的总和"只是给定矩阵之和。

看起来

C = zeros(size(A));

for i = 1 : size(A, 1)

C = C + A(:, i) * B(i, :);

end

等价于矩阵乘法

C = A*B

用于方阵A和B。

同意 如果它们遵循线性代数规则,这也适用于其他维度:矩阵A和B的内部维度相同(即,当A中的列数与B中的行数匹配时; size(A,2)==size(B,1)时)。

您也可以在MATLAB中执行此操作以获取总和。

C=ones(1,2)*A*B*ones(2,1)

一般形式为

C=ones(1,size(A,1))*(A*B)*ones(size(B,2),1);

编辑

我为清楚起见,看到您更新了问题。矩阵乘积可以直接计算

C = A*B;

正如乔达格指出的。

如果您遵循线性代数的规则,则矩阵的内部尺寸是相同的(例如,当A中的列数与B中的行数匹配时; size(A,2)==size(B,1)),则此作品有效。

matlab矩阵对某一列求和,将矩阵中的每一列与另一列中的对应行相乘,然后在Matlab中求和...相关推荐

  1. Matlab Tricks(十四)—— 某一行/列是否在一个矩阵中(ismember)

    1. ismember 查询某一行/列是否在一个矩阵中 使用 matlab 自带的函数ismember(): [Lia,Locb] = ismember(A, B, 'rows') Lia:Logic ...

  2. matlab 矩阵 列 逆序,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...

    几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...

  3. 2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)

    1.方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值.det(A):求方阵A所对应的行列式的值. >> format rat; > ...

  4. python读取文档中有很多指标的数据 写成矩阵_图像处理与特征提取 —— 从 MATLAB 到 Python(一)图像、矩阵与数据的读写...

    最近几个实验从 MATLAB 环境转入到 Python 环境做,踩了几个小坑,记录一下. 写一半发现太长,分开几篇写,计划如下:基本图像处理 特征提取 分类 距离.度量.评价指标与效果评估,及相关绘图 ...

  5. matlab累加数组的前n行,有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?...

    有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)? 关注:216  答案:3  手机版 解决时间 2021-03-05 21:45 提问者繁华落尽 2021-03- ...

  6. MATLAB Robotic System Toolbox 机械臂科氏矩阵算法

    MATLAB Robotic System Toolbox 机械臂科氏矩阵算法 想法来源 算法简介 参考 算法思路 计算过程 计算向心运动导致的分量 计算由牵连运动导致的分量 分量叠加 代码 想法来源 ...

  7. matlab 调整矩阵形状,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...

    几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...

  8. 第2章基本结构:集合、函数、序列、求和与矩阵

    2.1 集合 子集 x ∈ N + x ⊆ N x 是 N 的 子 集 x \in {N}_{+} \\ x \subseteq {N}\\ x是\textbf{N}的子集 x∈N+​x⊆Nx是N的子 ...

  9. MATLAB | 如何绘制高端大气的分组矩阵图

    MATLAB 绘制分组矩阵图 效果展示: 工具函数放在最后 ! ! ! ! 工具函数放在最后 ! ! ! ! 工具函数放在最后 ! ! ! ! 基本使用 例如随机生成一组分组数据,在最后两行调用pai ...

最新文章

  1. Linux 下 UltraEdit 版本: 16.1.0.18 破解 30 天试用限制
  2. jQuery EasyUI API 中文文档 - DataGrid 数据表格
  3. GdiPlus[6]: 五种画刷总览
  4. php 复杂密码生成,php随机密码生成器
  5. 台湾大学林轩田机器学习技法课程学习笔记12 -- Neural Network
  6. React-router的基本使用
  7. 根据F12在页面中调整div的大小
  8. mybatis-plus大批量数据插入缓慢问题
  9. php内核探索 [转]
  10. Exceptions Errors - 异常与错误
  11. uva297(quadtree)
  12. 最长公共子序列lcs 51nod1006
  13. centos6.8 hugepage设置
  14. 嗯嗯------摘抄
  15. 深度学习笔记(二):简单神经网络,后向传播算法及实现
  16. Git版本控制,一个本地子分支修改了代码(包括依赖pom)任何文件,然后本地主分支就自动更改为子分支的!这个问题这样解决
  17. 用python的OCR实现自动拍照搜题
  18. IEEE Transactions on Intelligent Transportation Systems投稿记录
  19. 不得不学,从零到一搭建ELK日志,Docker环境下部署 logstash工具
  20. 10-JDBC的完整步骤【建议收藏】

热门文章

  1. 全球最难翻译的十大单词
  2. abap 中的语法 div / mod 的用法区别
  3. java求最大值_java-求一组整数中的最大值
  4. Buuctf(pwn) ciscn_2019_n_5
  5. Python中深浅拷贝的案例教程
  6. Python十段经典代码
  7. python 的 str bytes 区别
  8. 查找100 sql oracle,Oracle中SQL语句执行效率的查找与解决
  9. 2020年电大c语言程序设计作业1答案,2019年最新电大C语言程序设计作业答案.doc
  10. C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)