Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Matlab Équations des ondes

Posté par
Pierre_07
12-12-14 à 10:05

Bonjour,

je dois créer un programme matlab afin de dessiner l'équation de diffusion d'une onde dans une corde de piano:

$y(x,t)=\sum_{n=0}^{+\infty} \big[ \frac{2}{c_0n\pi} \int_0^L \varphi (x) \sin \frac{n\pi x}{L} \big]\frac{n\pi x}{L} \sin \frac{c_0n\pi t}{L}$

$\varphi (x) = y'(x,t=0)=\sum_{n=0}^{+\infty} \frac{c_0n\pi}{L} d_n \sin \frac{n\pi x}{L} $

Voici ce que j'ai écris pour l'instant:

clear all
close all

%intervalles d'intégration

T0=12*10^(-3);
u=72*10^3;
c0=sqrt(T0/u);
L=25;
dn=1;

nmin=0;
nmax=10;
n=[nmin:1:nmax];

Xmin=0;
Xmax=L;
x=linspace(Xmin,Xmax,20);

tmin=0;
tmax=100;
t=linspace(tmin,tmax,20);

donc autant dire que je n'ai rien,

je voudrais en fait définir \varphi (x) dans un autre fichier (new function) mais je n'y arrive pas j'ai écris ceci

function [F ] = phi( c0,n,x,L,dn,nmin,nmax,xmin,xmax)
%UNTITLED6 Summary of this function goes here
%   Detailed explanation goes here

F=sum(sin(n*pi*c0*x/L)*(dn*c0*n*pi)/L(nmin:1:nmax));

end

nous avons commencé à utiliser matlab cette année donc je compte sur vous pour être indulgents ^^

merci d'avance

Posté par
Pierre_07
Matlab Équations des ondes 12-12-14 à 10:06

Bonjour,

je dois créer un programme matlab afin de dessiner l'équation de diffusion d'une onde dans une corde de piano:

$y(x,t)=\sum_{n=0}^{+\infty} \big[ \frac{2}{c_0n\pi} \int_0^L \varphi (x) \sin \frac{n\pi x}{L} \big]\frac{n\pi x}{L} \sin \frac{c_0n\pi t}{L}$

$\varphi (x) = y'(x,t=0)=\sum_{n=0}^{+\infty} \frac{c_0n\pi}{L} d_n \sin \frac{n\pi x}{L} $

Voici ce que j'ai écris pour l'instant:

clear all
close all

%intervalles d'intégration

T0=12*10^(-3);
u=72*10^3;
c0=sqrt(T0/u);
L=25;
dn=1;

nmin=0;
nmax=10;
n=[nmin:1:nmax];

Xmin=0;
Xmax=L;
x=linspace(Xmin,Xmax,20);

tmin=0;
tmax=100;
t=linspace(tmin,tmax,20);

donc autant dire que je n'ai rien,

je voudrais en fait définir \varphi (x) dans un autre fichier (new function) mais je n'y arrive pas j'ai écris ceci

function [F ] = phi( c0,n,x,L,dn,nmin,nmax,xmin,xmax)
%UNTITLED6 Summary of this function goes here
%   Detailed explanation goes here

F=sum(sin(n*pi*c0*x/L)*(dn*c0*n*pi)/L(nmin:1:nmax));

end

nous avons commencé à utiliser matlab cette année donc je compte sur vous pour être indulgents ^^

merci d'avance

*** message déplacé ***

Posté par
Pierre_07
re : Matlab Équations des ondes 06-02-15 à 14:59

J'ai modifié mon programme:

clear all;

L=2;
a=L/4;
e=a+0,01;
T=12000;
M=72000;
h=1;
c=sqrt(T/M);
pi=3.14;
n=[1:1:30];
x=[0:0.1:L];
t=[0:1:30];
D=2*e*h/(n*pi*L*c);
sin1=sin(n*pi*a/L);
s=zeros(n)
for x=[0:0.1:L]
for t=[0:1:30]
s=D*sin1*sin(n*pi*x/L)*sin(n*pi*c*t/L);
end
end

En fait j'arrive à faire varier mes sinus en fonction de n mais je n'arrive pas à les faire varier selon x et t en meme temps,

J'aimerais en fait remplir un tableau avec toutes mes valeurs de s pour chaque n, puis faire un plot3d ou mesh ou surf (je n'ai pas bien saisi la différence)...
Si vous avez des pistes, je vous remercie...
l'équation que j'essaye de programmer et la suivante  \[ y(x,t)=\sum_{n=1}^{+\infty} \frac{2eh}{n\pi Lc} \sin(\frac{n\pi a}{L}) \sin(\frac{n \pi x}{L})\sin(\frac{n \pi ct}{L}) \]

cordialement



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !