gpt4 book ai didi

Matlab:将矩阵的行乘以向量元素

转载 作者:太空宇宙 更新时间:2023-11-03 20:20:35 26 4
gpt4 key购买 nike

v 为行向量(1 x n 矩阵),Mn x m 矩阵。我使用以下代码创建了一个“加权向量”(我希望评论能解释它应该做什么):

weighted_M = bsxfun(@times,v',M);
%creates a matrix with the i-th row of M being weighted (multiplied) by the i-th element of v
weighted_v = sum(weighted_M);
%sums the columns of weighted_M

现在是真正的问题:我必须对很多输入向量 v 进行相同的计算。因此,我想输入一个包含向量 v 作为行的矩阵 V 并输出一个包含加权向量作为行的矩阵。有什么方法可以不使用 for 循环来做到这一点吗?

最佳答案

如果 V 的大小为 [k,n] 并且 M 的大小为 [n,m],并且您正在寻找 k 加权向量,那么您可能只需要

weighted_vs = V*M;

一个元素等于

weighted_vs_ij = (V*M)ij = sum_l V_il * M_lj

首先,将 M 的每一行与 V 的相应元素相乘(上面的 V_il * M_lj 用于修复 i),然后作为第一个索引的函数求和。

结果是 k 个加权行向量,每个行向量的长度为 m

关于Matlab:将矩阵的行乘以向量元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34121573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com