Can this for loop be vectorized?
2 次查看(过去 30 天)
显示 更早的评论
The for loop below runs over the third dimension (page) to fill the alpha array. Is it possible to vectorize this for loop?
alpha_i_h_t = NaN(N_i,N_t,N_draws);
for i = 1:N_draws
alpha_i_h_t(:,:,i) = e_i_h(:,i) + e_h * t;
end
2 个评论
Torsten
2022-2-28
e_i_h(:,i) is a column vector. For e_i_h(:,i) + e_h * t to be defined, e_h * t must be a column vector or a scalar.
So how do you want to write a column vector into a matrix array alpha_i_h_t(:,:,i) ?
采纳的回答
Bruno Luong
2022-2-28
编辑:Bruno Luong
2022-2-28
e_i_h_reshape = reshape(e_i_h,N_i,1,N_draws);
alpha_i_h_t = e_i_h_reshape + e_h * t;
3 个评论
Torsten
2022-2-28
And why do you need a three-dimensional array for a two-dimensional content ?
Or do I get something wrong ?
Bruno Luong
2022-3-1
编辑:Bruno Luong
2022-3-1
The result is 3D, each page contains a matrix sum of column by row vector.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!