2013-04-02 2 views
1

У меня есть следующие три пути данных (IXJXK) для моей системы полимеризации: Z (23x4x3)хранить многосторонние данные для цикла

Z(:,:,1) = [0 6.70 NaN NaN 
0.14 5.79 27212.52 17735.36 
0.26 5.04 26545.98 17279.95 
0.35 4.43 26007.91 16902.22 
0.43 3.92 25567.61 16586.18 
0.49 3.50 25202.48 16319.65 
0.54 3.15 24898.99 16094.87 
0.59 2.85 24648.07 15906.19 
0.63 2.60 24441.06 15748.28 
0.66 2.38 24270.42 15616.51 
0.68 2.20 24130.05 15506.90 
0.71 2.05 24014.78 15415.87 
0.73 1.92 23921.74 15341.59 
0.74 1.80 23847.57 15281.63 
0.76 1.70 23789.06 15233.54 
0.77 1.61 23744.29 15195.99 
0.78 1.54 23710.83 15167.01 
0.79 1.47 23687.05 15145.38 
0.80 1.41 23671.47 15129.72 
0.81 1.36 23662.99 15119.14 
0.81 1.31 23660.58 15112.77 
0.82 1.27 23663.32 15109.86 
0.82 1.23 23670.44 15109.74]; 

Z(:,:,2) = [0 6.70 NaN NaN 
0.17 5.63 24826.03 16191.26 
0.30 4.80 24198.87 15757.83 
0.40 4.14 23720.27 15417.52 
0.47 3.61 23347.38 15147.16 
0.54 3.19 23058.01 14933.52 
0.59 2.85 22836.18 14766.65 
0.63 2.57 22667.24 14637.38 
0.66 2.34 22539.27 14537.68 
0.69 2.15 22445.60 14463.08 
0.71 2.00 22379.90 14409.04 
0.73 1.87 22336.70 14371.44 
0.75 1.76 22311.74 14347.04 
0.76 1.66 22301.57 14333.13 
0.77 1.58 22303.32 14327.31 
0.78 1.51 22314.83 14327.75 
0.79 1.45 22334.27 14333.00 
0.80 1.40 22360.11 14341.81 
0.81 1.36 22391.09 14353.22 
0.81 1.32 22426.11 14366.39 
0.82 1.28 22464.22 14380.67 
0.82 1.25 22504.61 14395.53 
0.82 1.23 22546.61 14410.57]; 

Z(:,:,3) = [0 6.70 NaN NaN 
0.19 5.45 22687.71 14805.97 
0.34 4.53 22119.24 14408.55 
0.44 3.84 21720.37 14120.95 
0.52 3.31 21437.68 13912.54 
0.58 2.90 21244.60 13766.39 
0.63 2.59 21117.60 13667.05 
0.66 2.34 21040.03 13602.91 
0.69 2.14 21000.70 13565.85 
0.72 1.98 20990.89 13549.24 
0.73 1.85 21003.53 13547.54 
0.75 1.74 21033.19 13556.41 
0.76 1.65 21075.85 13572.54 
0.77 1.58 21128.37 13593.46 
0.78 1.52 21188.17 13617.25 
0.79 1.47 21253.16 13642.44 
0.80 1.42 21321.69 13668.02 
0.80 1.39 21392.34 13693.18 
0.81 1.36 21463.83 13717.38 
0.81 1.33 21535.27 13740.33 
0.81 1.31 21605.87 13761.81 
0.82 1.29 21674.84 13781.70 
0.82 1.27 21741.68 13799.97]; 

где время (ось у), J представляет переменные (x), а K - партия (ось z). Тем не менее, поскольку я хочу использовать эти данные для анализа PCA и PLS, я должен изменить это (временные переменные x переменные x) на (размерность Batch (I) x variables (J) x time (K)), означает, что новый Z является Z (3 x 4 x 23).

Для выполнения этого можно извлечь первое значение строки из каждой плиты (размерности K) и переставить их в качестве новой матрицы плиты с помощью следующей команды:

T1=squeeze(Z(1,:,:))’ 

Таким образом, я использую для цикла, чтобы получить результаты для всех 23 плит. Но я не могу (не знаю, как) сохранять результаты в рабочем пространстве, за исключением последнего. Команда, которую я использовал:

[I,J,K] = size(Z); 
SLAB = zeros(K,J,I); %preallocating the matrix; where I=23,J=4,K=3 
for t = 1 : I %here I = 23 
slab = squeeze(Z(t,:,:))’; %removing semicolon here I can see the wanted results in command window 
SLAB = slab; 
end 

HOpe любой здесь может помочь мне в этом. Спасибо

ответ

0

Я нашел решение;

, так как я знаю, плита будет иметь размер (K, J, I), поэтому необходимо обеспечить тот же формат, в течение цикла:

[I,J,K] = size(Z); 
SLAB = zeros(K,J,I); %preallocating the matrix; where I=23,J=4,K=3 
for t = 1 : I %here I = 23 
slab(:,:,t) = squeeze(Z(t,:,:))’; 
end 
Смежные вопросы