saving 3D matrix from one loop
3 次查看(过去 30 天)
显示 更早的评论
I have AF_Field_P that is 181X361 matrix, and I want Pp to be 1001X181X361, which means, I want to save all the values with different Xp. The output from this is only the last 181X361 matrix, which is for Xp = 1e3;
if true
% code
end
Xp = 20:1*Km;
Yp = 1*Km;
rho_p = sqrt(Xp.^2+Yp^2+HT^2);
FSPL_p = (4*pi*rho_p/lmda).^2; % Free Space Path Loss
for pp = 1:length(Xp)
Pp(pp) = (4*pi*abs(AF_Field_P).^2)/FSPL_p(pp);
end
0 个评论
采纳的回答
Jesus Sanchez
2018-7-17
Try
Pp = zeros(length(Xp),length(size(AF_Field_P,1)),length(size(AF_Field_P,2)));
for pp = 1:length(Xp)
Pp(pp,:,:) = ...
end
With 3D matrix you need to address directly the dimension where you are saving the data, and then the other two. Note that the inizialization of Pp is not required, but matlab says that it is faster this way :)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Automated Driving Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!