【问题标题】:how to implement a vectorised version of this code snippet in MATLAB?如何在 MATLAB 中实现此代码片段的矢量化版本?
【发布时间】:2017-01-26 11:05:21
【问题描述】:

我是 MATLAB 的新手,因此很难从 C 风格的 Matrix 实现过渡到 MATLAB 的实现,所以对于下面的代码 sn-p,向量化的 MATLAB 实现是什么?

g = zeros(size(z));

for i=1:size(z)(1),
for j=1:size(z)(2),
g(i,j)= 1/ (1+exp(-z(i,j)));
end;
end;

z 可以是矩阵、标量甚至是向量。 感谢您的帮助!

【问题讨论】:

标签: arrays matlab matrix vectorization


【解决方案1】:
g = zeros(size(z));

g = 1 ./ (1+exp(-z));

关键是在操作之前使用点.,这使它成为元素方面的。 因此,每个元素都与其他矩阵中的对应元素一起进行运算,而不是使用矩阵运算。

查看文档:

https://uk.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html

【讨论】:

  • 谢谢先生!明白了!
猜你喜欢
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多