将矩阵转换为3D矩阵

时间:2016-02-22 14:32:22

标签: matlab matrix matrix-math

我从我的程序中提取数据,有三个矩阵f_range_m, f_vel_mps, s_angQ15。截至目前,我正在获得单独的矩阵。如何实现一个3D矩阵,其中所有矩阵都是togeather。

    %%%% 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 个答案:

答案 0 :(得分:1)

如果我正在解释你正确说出的内容,你希望将这些单独的矩阵叠加起来,使它们成为3D。只需在第三维中使用cat

out = cat(3, f_range_m, f_vel_mps, s_angQ15);