2012-02-22 43 views
5

Ive creó una matriz 3d en MATLAB. Los valores de la matriz son la velocidad en ese punto en una sección rectangular. Me gustaría una trama con colores que muestren los valores en cada posición, ¿es esto posible?Matlab 3D Matrix Parcela

Fraseándolo de otra manera, tengo una matriz de tamaño 100x100x200. Id como un gráfico que tiene 100x100x200 puntos y el color de cada uno de esos puntos está relacionado con su valor.

+0

Definitivamente debe aceptar la respuesta en caso de que haya resuelto su problema. –

Respuesta

11

Esta pregunta es muy similar a this question. Quizás quieras revisarlo.

ACTUALIZACIÓN:

Suponga que tiene una matriz 3D Un:

A = rand(100,100,200); 

que desea trazar cada entrada de Un asignada a un color en sus coordenadas 3D. En primer lugar generar las coordenadas:

[x,y,z] = meshgrid(1:100,1:100,1:200); 

Ahora ya está listo para su uso scatter3:

scatter3(x(:),y(:),z(:),5,A(:)) 

Aquí el : indexación vectoriza las coordenadas columna se refiere.

Espero que esto ayude.

+0

Parece útil para la función scatter3, sin embargo, ¿cómo puedo poner mis valores en ella si mi matriz es actualmente las dimensiones publicadas anteriormente? – dojogeorge

+0

@ user1045280: Actualicé mi respuesta para reflejar su comentario. – upperBound