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 :
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
4x y z u v w 2 3 5 -0.3 0.04 -0.7 <- 1er point ... ... ... ... .... ..... <- nieme point
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
Partager