Bonjour,

Je suis nouveau sur Matlab et je rencontre quelques difficultées pour du traitement de données :

J'ai un fichier texte qui contient des coordonnées de points (x,y,z) et les 3 composantes de la vitesse associée à chaqun de ces points (u,v,w). Donc un truc de la forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
   x     y     z       u         v        w 
 
   2     3     5    -0.3     0.04    -0.7     <-  1er point
  ...    ...    ...    ...       ....      .....     <- nieme point
Mon but est de pouvoir afficher les lignes de courants ("streamlines") de cet écoulement. J'ai réussi à extraire et afficher les vecteurs dans une box 3D mais je n'arrive pas à afficher les lignes de courant. Voila le contenu de mon fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
clear;
load test.txt;
x = test(:,1);
y = test(:,2);
z = test(:,3);
u = test(:,4);
v = test(:,5);
w = test(:,6);
quiver3(x,y,z,u,v,w);  % <- ca ca marche :D
[sx,sy,sz] = meshgrid(5:1:10,-5:3:1,2422);  % <-points de generescence 
h = streamline(x,y,z,u,v,w,sx,sy,sz); % <-  ca ca marche ppaaaaasss :aie:

voila l'erreur :

??? Error using ==> stream3
U,V,W must all be a 3D arrays.

Error in ==> streamline at 69
verts = stream3(x,y,z,u,v,w,sx,sy,sz,options);

Error in ==> test_lignes_de_courant at 12
h = streamline(x,y,z,u,v,w,sx,sy,sz);

A l'aide !! je pense que c'est une histoire de forme des données (matrice)

merci pour votre aide