Преобразование матриц в трехмерную матрицу
Я извлекаю данные из моей программы, и есть три матрицы f_range_m, f_vel_mps, s_angQ15
, На данный момент я получаю отдельные матрицы. Как получить 3D матрицу, где все матрицы вместе.
%%%% Initialization
f_range_m = zeros(length(mexTrglst_all),mexTrglst_all(length(mexTrglst_all)).ul_numTrgs)./0; %%%% Range %%% Initialization
f_vel_mps = zeros(length(mexTrglst_all),mexTrglst_all(length(mexTrglst_all)).ul_numTrgs)./0; %%%% Doppler
s_angQ15 = zeros(length(mexTrglst_all),mexTrglst_all(length(mexTrglst_all)).ul_numTrgs)./0; %%%% angle
for iCycle = 1:length(mexTrglst_all)
for iTrg = 1:mexTrglst_all(iCycle).ul_numTrgs;
if (bitand(mexTrglst_all(iCycle).target(iTrg).us_bitfield,1) == 1),
f_range_m(iCycle,iTrg) = [mexTrglst_all(iCycle).target(iTrg).f_rng_m];
f_vel_mps(iCycle,iTrg) = [mexTrglst_all(iCycle).target(iTrg).f_vel_mps];
s_angQ15(iCycle,iTrg) = [mexTrglst_all(iCycle).target(iTrg).s_angQ15];
else
f_range_m(iCycle,iTrg) = NaN;
f_vel_mps(iCycle,iTrg) = NaN;
s_angQ15(iCycle,iTrg) = NaN;
end
% f_range_m = [f_range_m mexTrglst_all(iCycle).target(iTrg).f_rng_m];
end
end
1 ответ
Решение
Если я правильно интерпретирую то, что вы говорите, вы хотите взять эти отдельные матрицы и сложить их так, чтобы они были трехмерными. Просто используйте cat
в третьем измерении:
out = cat(3, f_range_m, f_vel_mps, s_angQ15);