Les-Mathematiques.net - Cours de mathématiques supérieures
 Les-Mathematiques.net - Cours de mathématiques universitaires - Forum - Cours à télécharger

A lire
Deug/Prépa
Licence
Agrégation
A télécharger
Télécharger
60 personne(s) sur le site en ce moment
G. Polya
A lire
Articles
Math/Infos
Récréation
A télécharger
Télécharger
Théorème de Cantor-Bernstein
Théo. Sylow
Théo. Ascoli
Théo. Baire
Loi forte grd nbre
Nains magiques
 
 
 
 
 

Ondes stationnaires en temps réel (matlab)

Envoyé par Antigone 
Ondes stationnaires en temps réel (matlab)
il y a six semaines
Bonjour à tous

J'utilise Matlab pour montrer à mes étudiants ce qu'est une onde progressive ($ \mathrm{y_p = cos(\omega t-2\pi\frac{n}{L} x)}$), une onde régressive ($ \mathrm{y_p = cos(\omega t+2\pi\frac{n}{L} x+\phi)}$) et une onde stationnaire ($ \mathrm{y_s = y_p + y_r}$). L'utilisateur à le choix de la fréquence $ \mathrm{f = \frac{\omega}{2\pi}}$, de l'ordre $ \mathrm{ n}$, de la longueur de la corde $ \mathrm{L}$ et du déphasage $ \mathrm{\phi}$. Mon programme permet de visualiser au cours du temps ces trois ondes.

Vous trouverez en pièce-jointe ce programme dans un fichier .txt.

Malheureusement ce programme ne fonctionne pas vraiment en temps réel malgré l'utilisation de la commande pause(dt) qui me permet d'attendre "dt" seconde dans la boucle "for" utilisée dans le script... De plus, les ondes n'oscillent pas à la fréquence choisie (prendre par exemple $ \mathrm{f = 1 Hz}$ pour s'en convaincre)...

Que dois-je rajouter à mon programme pour que mes trois ondes oscillent en temps réel ? Je suis conscient qu'il y a un temps pour exécuter les instructions dans la boucle "for" de mon programme, ce qui est probablement à l'origine de ce problème,... Comment pallier ce problème ? Je souhaiterais finalement qu'une seconde dans le programme corresponde à une seconde dans le mode réel !

Je vous remercie pour votre aide !
Antigone
ondes_stationnaires.txt
Code LaTeX
Bonjour à tous

J'utilise Matlab pour montrer à mes étudiants ce qu'est une onde progressive ($\mathrm{y_p = cos(\omega t-2\pi\frac{n}{L} x)}$), une onde régressive ($\mathrm{y_p = cos(\omega t+2\pi\frac{n}{L} x+\phi)}$) et une onde stationnaire ($\mathrm{y_s = y_p + y_r}$). L'utilisateur à le choix de la fréquence $\mathrm{f = \frac{\omega}{2\pi}}$, de l'ordre $\mathrm{ n}$, de la longueur de la corde $\mathrm{L}$ et du déphasage $\mathrm{\phi}$. Mon programme permet de visualiser au cours du temps ces trois ondes.

Vous trouverez en pièce-jointe ce programme dans un fichier .txt.

Malheureusement ce programme ne fonctionne pas vraiment en temps réel malgré l'utilisation de la commande pause(dt) qui me permet d'attendre "dt" seconde dans la boucle "for" utilisée dans le script... De plus, les ondes n'oscillent pas à la fréquence choisie (prendre par exemple $\mathrm{f = 1 Hz}$ pour s'en convaincre)...

Que dois-je rajouter à mon programme pour que mes trois ondes oscillent en temps réel ? Je suis conscient qu'il y a un temps pour exécuter les instructions dans la boucle "for" de mon programme, ce qui est probablement à l'origine de ce problème,... Comment pallier ce problème ? Je souhaiterais finalement qu'une seconde dans le programme corresponde à une seconde dans le mode réel !

Je vous remercie pour votre aide !
Antigone
<a href="http://www.les-mathematiques.net/phorum/file.php?15,file=16565,filename=ondes_stationnaires.txt">ondes_stationnaires.txt</a>



Edité 1 fois. La dernière correction date de il y a six semaines et a été effectuée par AD.
Modifié 1 fois. Dernière modification le 25/07/2010 par AD.
Re: Ondes stationnaires en temps réel (matlab)
il y a six semaines
Personne pour me répondre ?

Tout le monde est en vacance ou ma question est trop difficile ?? tongue sticking out smiley

Antigone
Re: Ondes stationnaires en temps réel (matlab)
il y a six semaines
avatar
Ni l'un ni l'autre, mais il faut que quelqu'un ait matlab sous la main. Aahh, si ça avait été du scilab...
Re: Ondes stationnaires en temps réel (matlab)
il y a six semaines
avatar
Comme visiblement personne n'a matlab, si tu avais scilab, le script suivant donne un résultat tout à fait acceptable, et assez hypnotisant à 1Hz :
clear all                                    // nettoyage des variables

disp('Onde stationnaire dans une corde vibrante (Antigone 2010)')

f = input('FrÈquence dÈsirÈe (en Hz) ? ');   // frÈquence (Hz)
n = input('Ordre ? ');                       // ordre
L = input('Longueur de la corde (m) ? ');    // longueur de la corde (m)
phi = input('DÈphasage (rad) ? ');

omega = 2*%pi*f;                              // pulsation (rad/s)
T = 1/f;                                     // pÈriode temporelle (s)
tmax = 10;                                   // temps maximal utilisÈ (s)

dt = 0.01;                                   // pas de temps (s)
realtimeinit(dt)
x = (0:L/100:L);                             // discrÈtisation spatiale de 0 ‡ L


for t = 0:dt:tmax                            // discrÈtisation temporelle
    y_p = cos(omega*t-2*%pi*n/L.*x);          // onde progressive (x croissant)
    y_r = cos(omega*t+2*%pi*n/L.*x+phi);      // onde rÈgressive (x dÈcroissant)
    y_s = (y_p + y_r)/2;                         // onde stationnaire 
    

f=gcf();f.pixmap='on'; //set the pixmap mode
a=gca();a.data_bounds=[0 -1; L 1];
clf
plot2d(x,[y_p;y_r;y_s]')
//show the pixmap buffer
realtime(t)
show_pixmap()

end

Auteur:

Votre adresse électronique:


Sujet:


Pièces jointes:
  • Types de fichier autorisés : gif, jpg, bmp, pdf, ps, doc, rtf, txt, png, htm, html, tex, xls, tar, tar.gz, dvi, zip, rm, cg3, fig, g2w, g3w
  • La taille d'un fichier ne peut pas excéder 2 MB
  • 10 fichiers supplémentaires peuvent être joints à ce message

Mesure anti-SPAM :
Inscrivez le code que vous voyez dans le champs approprié. Cette mesure sert à bloquer les robots informatiques qui tentent de polluer ce site. Si le code n'est pas clair, essayer de le deviner. Si vous faites erreur, une nouvelle image sera crée et vous aurez la chance de ré-essayer.
CAPTCHA
Message:

Les-mathematiques.net - Statistiques du forum

Total
Discussions: 68 127, Messages: 584 958, Utilisateurs: 4 440.
Notre dernier utilisateur inscrit Rezakoo.


Ce forum
Discussions: 693, Messages: 4 660.

 

 
©Emmanuel Vieillard Baron 01-01-2001
Adresse Mail:

Inscription
Désinscription

Actuellement 16057 abonnés
Qu'est-ce que c'est ?
Taper le mot à rechercher

Mode d'emploi
En vrac

Faites connaître Les-Mathematiques.net à un ami
Curiosités
Participer
Latex et autres....
Collaborateurs
Forum

Nous contacter

Le vote Linux

WWW IMS
Cut the knot
Mac Tutor History...
Number, constant,...
Plouffe's inverter
The Prime page
Autres...