Преобразование матриц в трехмерную матрицу

Я извлекаю данные из моей программы, и есть три матрицы 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);
Другие вопросы по тегам