2011-08-22 7 views
0

J'ai un certain nombre de fichiers CSV, chacun représente un tracé de surface 3D que je souhaite générer.Matlab - Comment tracer mes données?

la structure au fichier est le suivant:

  • Les numéros de colonne du fichier représentent les axes X
  • Les valeurs de chaque rangée représentent les axes Y
  • et le numéro de ligne représente les axes Z-

Cependant, chaque-autre ligne dans le fichier représente les points de données de la ligne précédente, une déviation standard.

De plus, chaque paire de lignes est plus longue que la précédente.

Donc ce que je voudrais, c'est deux surfaces sur chaque parcelle. La première surface est représentée par chaque ligne impaire, et la seconde représentée par chaque ligne paire.

Comment faire?

Merci

Répondre

0

que je sache vous ne pouvez pas avoir une matrice non carrée dans Matlab. Donc, le plus proche, vous pouvez faire est de mettre NaN dans les espaces qui manquent:

A = [ 
    10 10 NaN NaN NaN 
    2 2 NaN NaN NaN 
    20 20 20 NaN NaN 
    3 3 3 NaN NaN 
    30 30 30 30 30 
    4 4 4 4 4 
]; 

Tout est bien le même.

de Split:

[rows, cols] = size(A); 
A_mean = A(1:2:rows, :); 
A_sd = A(2:2:rows, :); 

Assurez-axes (je réarrangé ces être comme le vôtre;)

[XX, ZZ] = meshgrid(1:cols, 1:(rows/2)) 

Et parcelle:

surf(XX, A_mean, ZZ); hold('on'); 
surf(XX, A_sd, ZZ); hold('off') 
+0

Merci pour votre réponse, désolé, j'omis une information importante de ma question que j'ai maintenant ajouté: Chaque paire de rangées est plus longue que la paire précédente. Aussi pourriez-vous me dire quel est l'ordre de vos x, y, z pour que je puisse comprendre ce qu'il faut changer pour avoir ce que je veux? Merci. – Griffin

+0

Si ce n'est pas possible sans remplir les extrémités des rangs avec des zéros, cela ne me dérange pas - mais j'aurais aussi besoin de quelques conseils sur la façon de le faire - merci encore pour votre temps. – Griffin

+0

@Griffin Je ne me souviens pas de ce qui se passe si vous lisez un CSV non carré - je pense qu'il mettra 0s où il n'y a pas de cellules. Peut-être tort cependant. – Owen

Questions connexes