multiple plot for 3-dimensional array

1 visualización (últimos 30 días)
Hassan
Hassan el 24 de Abr. de 2011
I have a array A(16 rows,5 columns,32 bands) and a vecotr B(1 row, 32 columns). I want to make 16*5=80 plots as the first plot is A(1,1,:) against B, second plot is A(1,2,:) against B,...,A(16,5) against B. it seems plot() function works for 2-dimensional data. I tried the following code but an error message come up that 'Data may not have more than 2 dimensions'. Any help is apperciated.
y=B
fignum = 1;
for i=1:16
for j=1:5
while ishandle(fignum)
fignum = fignum + 1;
end
figure(fignum);
x=A(i,j,:);
plot(x,y);
end
end

Respuesta aceptada

Oleg Komarov
Oleg Komarov el 24 de Abr. de 2011
Use squeeze:
A = rand(16,5,32);
B = rand(1,32);
plot(squeeze(A(1,1,:)),B)

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by