首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矢量化八度

矢量化八度
EN

Stack Overflow用户
提问于 2020-04-24 03:51:48
回答 1查看 242关注 0票数 0

我正在努力在Octave中进行一些基本的矢量化操作。

假设我实例化了一个10*10的矩阵A,我还实例化了一个向量x。x = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]

我希望使用向量化操作,而不是使用for循环来填充空向量e. e = zeros(10,1)

代码语言:javascript
复制
for i = 1:10
  for j = 1:10
    v(i) = v(i) + A(i, j) * x(j);
  end
end

我已经研究了八度文档第19章关于向量化的内容,我相信唯一的答案是v = A * x。但我不确定是否存在其他选择来向量化这个循环。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-24 04:21:57

使用乘法是最好的选择,但还有其他选项,例如:

代码语言:javascript
复制
sum(A.*x.',2)

当涉及到向量化循环时,您通常会找到这样的解决方案,例如:

代码语言:javascript
复制
for i = 1:10
  for j = 1:10
    v(i) = v(i) + f(i,j);
  end
end

中间步骤是一个矩阵,其中包含f(i,j)的所有解(在您的示例中为sum(A.*x.',2)),然后累积将+替换为sum

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61395785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档