Scilab champ de vecteur 2D
Bonjour à tous,
J'essaye de tracer le champ vectoriel
Voici mon code
Or voici ce que dit l'aide
"On peut également tracer un champ de vecteurs, sous la forme de flèches. Pour cela, il faut un vecteur colonne vx ayant les composantes selon x du champ de vecteur, un vecteur colonne vy ayant les composantes selon y de ce champ, et utiliser la fonction
champ(x, y, vx, vy)
J'ai sans doute mal compris les vecteurs vx et vy ?
Merci de m'avoir consacré de votre temps
J'essaye de tracer le champ vectoriel
Voici mon code
= [1 0 0 1; 2 2 -2 2; 3 0 0 3; 0 1 -1 0] x=m(:,1) y=m(:,2) fx=m(:,3) fy=m(:,4) champ(x,y,fx,fy)La réponse de scilab est "champ : Dimension erronée des arguments d'entrée : Dimensions incompatibles."
Or voici ce que dit l'aide
"On peut également tracer un champ de vecteurs, sous la forme de flèches. Pour cela, il faut un vecteur colonne vx ayant les composantes selon x du champ de vecteur, un vecteur colonne vy ayant les composantes selon y de ce champ, et utiliser la fonction
champ(x, y, vx, vy)
J'ai sans doute mal compris les vecteurs vx et vy ?
Merci de m'avoir consacré de votre temps
Réponses
-
Je crois que ce n'est pas possible à faire avec la commande `champ` (sans doute pas possible du tout avec scilab !)
En effet, elle ne permet que de représenter des champs de vecteurs définis sur une grille.fx(i,j) is the x component of the vector field at point (x(i),y(j)).
https://help.scilab.org/docs/6.0.1/en_US/champ.html
Sinon, pour mémoire, un exemple de champ de vecteurs avec scilab, en utilisant meshgrid :// using meshgrid to get fx and fy clf() x = linspace(-1,1,30); y = linspace(-1,1,30); [X,Y] = meshgrid(x,y); fy = 2.*Y; fx = 2.*X; champ(x,y,fx',fy'); //here we have transposed fx and fy
Avec pgfplots, c'est facile en adaptant l'exemple page 92 du manuel\documentclass[12pt,tikz]{standalone} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[title=Quiver and plot table] \addplot [ blue, quiver={u=\thisrow{u},v=\thisrow{v}}, -stealth, ] table { x y u v 1 0 0 1 2 2 -2 2 3 0 0 3 0 1 -1 0 }; \end{axis} \end{tikzpicture} \end{document}
-
Merci beaucoup
Mais j'avoue que je ne comprends pas très bien l'expression "des champs de vecteurs définis sur une grille".
Voici un code qui donne un champ (mais pas le mien)clf x = [2 ; 3 ; 4] y = [5 ; 6 ; 7 ; 8 ; 9] fx = rand(3, 5) fy = rand(3, 5) champ(x,y,fx,fy)
Je ne vois pas ce qui lie (x,y ) à (fx,fy) dans ce programme plus que dans le mien.
En tous les cas merci -
Eh bien, tes $15=3\times 5$ vecteurs aléatoires sont placés aux $15=3\times 5$ points de coordonnées $(x_i,y_j)\in X\times Y$.
Ça forme donc une grille. -
C'est clair.
Merci pour votre patience
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres