saving 3D matrix from one loop

2 ビュー (過去 30 日間)
Sharif Khalil
Sharif Khalil 2018 年 7 月 17 日
コメント済み: Sharif Khalil 2018 年 7 月 17 日
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

採用された回答

Jesus Sanchez
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 :)
  1 件のコメント
Sharif Khalil
Sharif Khalil 2018 年 7 月 17 日
Thank you, it works fine

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeBiomedical Imaging についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by