gpt4 book ai didi

matlab - 矩阵子向量乘积的有效方法

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:28 25 4
gpt4 key购买 nike

假设我们有一个矩阵

A = [1 2 ; 3 4 ; 5 6];

和一个逻辑矩阵

B = [false true ; true true ; true false ];

我想获取 A 中元素的行积,以便 B 中的相应元素为真。在上面的例子中,答案是

C = [2 ; 3*4, 5] = [2 ; 12 ; 5];

一种方法是: 1) 获取A 相对于B 的权力; 2) 取幂矩阵的行积:

C = prod(A.^B,2);

上面的命令似乎执行了不必要的计算。有没有更快的方法来计算上面的 C

最佳答案

我觉得你的方法很快。如果你真的在那里遇到瓶颈,你可以尝试使用更便宜的运算符,比如加法和乘法:

C = prod(A.*B + ~B, 2);

我只用 octave 测试了它,但它的速度大约是原来的两倍。

另一种不太紧凑的方法,在 octave 中也很快:

C=A; C(~B)=1; C=prod(C,2);

关于matlab - 矩阵子向量乘积的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50571517/

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