[Matlab] Résolution équation de dispersion
Résolu
nanou1205
-
manudi -
manudi -
Bonjour,
je veux résoudre l'équation de dispersion des ondes de surface
er*u0*h+u*h*tanh(u*h)=0
avec er(epsillon r)=4.32
h=2mm
u0=beta^2-k0^2
u=beta^2-k0^2*er
k0=2*pi*f/c; c=3*10^8 ;f est la fréquence
je cherche beta ou beta/k0 pour un intervalle de fréquences de 0 à qcques GHz
et je veu tracer beta/k0 en fonction de f
je veux résoudre l'équation de dispersion des ondes de surface
er*u0*h+u*h*tanh(u*h)=0
avec er(epsillon r)=4.32
h=2mm
u0=beta^2-k0^2
u=beta^2-k0^2*er
k0=2*pi*f/c; c=3*10^8 ;f est la fréquence
je cherche beta ou beta/k0 pour un intervalle de fréquences de 0 à qcques GHz
et je veu tracer beta/k0 en fonction de f
A voir également:
- [Matlab] Résolution équation de dispersion
- Editeur d'équation - Télécharger - Vie quotidienne
- Réduire résolution image - Guide
- Formule équation - Télécharger - Études & Formations
- Resolution changer pc - Télécharger - Divers Utilitaires
- Problème résolution écran 1920x1080 - Forum Windows 10
2 réponses
Salut
Faut commencer par simplifier ton équation de dispersion.
En posant x=h*u, t'es amené à résoudre
er*x+x*tanh(x)+er*(er-1)*h*k0^2=0
Étant donné le comportement de la tangente hyperbolique, ça paraît assez sage de chercher les zéros au voisinage de -er*h*k0^2 à chaque fois.
Faut commencer par simplifier ton équation de dispersion.
En posant x=h*u, t'es amené à résoudre
er*x+x*tanh(x)+er*(er-1)*h*k0^2=0
Étant donné le comportement de la tangente hyperbolique, ça paraît assez sage de chercher les zéros au voisinage de -er*h*k0^2 à chaque fois.
c=3e8; h=2e-3; er=4.32; f=(0:1e6:10e9); k0=2*pi*f/c; l=er*(er-1)*h*k0.^2; g=@(x,p)(er*x+x*tanh(x)+l(p)); xzero=zeros(size(l)); for p=1:size(l,2) xzero(p)=fzero(@(x)(g(x,p)),-er*h*k0(p)^2); end %% Pour beta, on prend la racine %% de partie imaginaire positive beta=sqrt(xzero/h+er*k0.^2); figure(1);plot(f,real(beta)); figure(2);plot(f,imag(beta)); %% Vérification pour l'équation erroreq=er*h*(beta.^2-k0.^2)+... h*(beta.^2-er*k0.^2).*tanh(h*(beta.^2-er*k0.^2)); figure(3);plot(f,erroreq);Bonne nuit