TD/TP MATLAB 1. Courbes. Fonctions. Boucles Exercice 1.2 : Tracé de fonctions (

TD/TP MATLAB 1. Courbes. Fonctions. Boucles Exercice 1.2 : Tracé de fonctions (tracefoncs) Tracer les courbes des fonctions suivantes (quand 2 courbes sont indiquées, les superposer). On écrira un fichier de commandes contenant toutes les instructions plot séparées par l’instruction pause.  y=√x 2−x et y=x−1/2sur [1,3 ]  y=sin(sinx)sur [0,2 π ]  y=J 0(x )et y=J 1(x )sur [0,10π ]où J0et J1sont des fonctions de Bessel de première espèce ;  y=J 0(x ) et y=sin(x+π/4 )/√x sur [π /4,10 π ];  y=erf (x ) (fonction erreur) sur [−3,3] Exercice 1.3 : Calcul de factorielle (facto) Ecrire un programme qui calcule n! pour une valeur de n lue au clavier. On pourra créer une fonction factorielle(n) en utilisant la récursivité. Exercice 1.4 : Calcul d’une série (calserie) Calculer la série : S=∑ n=1 +∞1 n 2 On tronquera la sommation lorsque le terme général sera inferieur à 10−8 fois la somme partielle. Comparer le résultat numérique au résultat exact (¿ π 2/6). Exercice 1.5 : Fonctions définies par morceaux (tracefoncs2) Tracer les courbes des fonctions suivantes (il n’est pas obligatoire d’écrire un fichier de fonction). y=¿ y=¿ Exercice 1.6 : Ecriture d’une fonction (g et testg)  Ecrire une fonction appelée g, qui traduit la fonction mathématique g(x)=xlog(x 2+1).  Utiliser cette fonction pour évaluer g(1).  Tracer la fonction g sur [0, 10] Exercice 1.7 : Ecriture d’une fonction n! (ffact) Ecrire une fonction ffact qui reçoit un argument en entrée et calcule sa factorielle. Exercice 1.8 : Courbes définies en polaires (courbespol) Avec la fonction de conversion pol2cart et l’instruction plot, tracer les courbes définies en polaires par :  r=1+e∙cos(θ)  r= 1 1+e ∙cos (θ )  r=1 1 On prendra pour e une valeur entre 0 et 1. Reprendre l’exercice avec la commande polar (on regardera l’aide en ligne). Exercice 1.9 : Illustration des séries de Fourier (fourrier) On considère la fonction sur l’intervalle [0,2] : 1. Ecrire une fonction MATLAB carre codant cette fonction mathématique. La fonction doit pouvoir s’appliquer indifféremment à un scalaire ou terme à terme à un tableau de dimension quelconque. Ecrire un programme principal pour tracer la fonction. 2. On peut montrer que cette fonction f(x) coïncide sur [0,2] avec la série de Fourier : Ecrire un programme MATLAB qui construit progressivement la série, et qui trace la fonction obtenue à chaque ajout d’un nouveau terme. Vérifiez que l’on retrouve bien, pour un grand nombre de termes, la fonction f(x). Exercice 1.10 : Utilisation de global (vdw et testvdw) On souhaite écrire une fonction représentant l’équation d’état de Van der Waals d’un gaz donné : Mais on impose que la fonction n’ait que 2 arguments d’entrée v et T, et 1 argument de sortie p, les autres grandeurs a, b et R étant considérées comme des constantes (on donne R=8.32, a = 0.5547 et b = 3.0516 × 10−5 en unités S.I.). 1. Trouvez une solution avec l’aide du polycopié et de l’intervenant, et écrivez la fonction. 2. Ecrire un programme qui trace p en fonction de v pour T = 200K, T = 300K et T = 1000K, sur un même graphique. On prendra v variant entre 1.1b et 10b. Exercice 1.11 : Ecriture d’une fonction de plusieurs variables Pour calculer la capacité calorifique Cp d’un gaz en fonction de la température T (en Kelvin), on dispose de corrélations du type : Il est souvent intéressant de calculer également la primitive de cette fonction, qui s’exprime par : 2 1. Ecrire dans un fichier une fonction MATLAB appelée cpip qui reçoit en entrée la température T et les coefficients A, B, C, D, E, et calcule C p et I p en sortie. On spécifiera le nom du fichier utilisé. 2. Ecrire un programme MATLAB qui utilise la fonction précédente pour tracer C p(T) et I p(T)sur l’intervalle T 2 [250 K, 3000 K]. 3. Pour des raisons pratiques, on veut que la fonction n’ait comme argument d’entrée que la température T. Comment faire ? Réécrivez la fonction et le programme. Exercice 1.12 : Projection de Mercator Pour tracer des cartes géographiques, on utilise la projection de Mercator qui à un point d’une surface sphérique fait correspondre un point du plan. La projection est donnée par : où θ∈[0° ,360°] est la longitude et ϕ∈[−90° ,90°] la latitude. 1. Ecrire une fonction MATLAB effectuant la projection, qui renvoie les coordonnées (x, y) sur la carte en fonction des deux coordonnées géographiques θ et ϕ. 2. On vous fournit un fichier texte de données géographiques world.txt, organisé en deux colonnes (latitude, longitude), exprimées en degrés, décrivant les frontières des continents. Ecrire un programme utilisant la fonction précédente pour tracer la projection de Mercator des continents. Note : on utilisera la fonction plot pour tracer point par point, sinon¸ ça a une drôle de tête. . . Exercice 1.13 : Perte de charge dans un tube La perte de charge (= chute de pression) d’un fluide s’écoulant dans une longueur L de tuyauterie s’écrit : où v est la vitesse du fluide (m/s), ρ sa masse volumique (kg/m3), L et D longueur et diamètre du tuyau (m), et f est un coefficient sans dimension que l’on peut calculer par l’expression : 3 où Re est le nombre de Reynolds = ρDv/η, avec η viscosité dynamique du fluide (kg.m−1.s−1), et ϵ est la rugosité du tuyau (m). Votre chef s’angoisse un peu et vous dit : “Moi je n’y comprends rien à tout ¸ca, et je veux juste calculer la chute de pression dans des conduites en acier qui font toujours 3 cm de diamètre, où s’écoule de l’eau à température ambiante, en fonction du débit volumique Q (m3/s) et de la longueur L. Ecris-moi une fonction ayant deux paramètres d’entrée Q en m3/s et L en m, et qui me sorte la chute de pression _p en Pa (unité SI de la pression). Tu me feras aussi un programme principal qui teste ta fonction pour un débit de 10−3 m3/s sur un tube de 50 m.” Vous décidez de ne pas discuter et de vous exécuter, et comme vous êtes bon programmeur, vous vous interdisez d’écrire un quelconque paramètre numérique dans la fonction (hormis ceux intervenant dans la formule (7)). On rappelle que le débit volumique Q (en m3/s) est relié à la vitesse v (en m) par : avec D exprimé en m, et on vous fournit les données suivantes : – pour l’eau `a 20_C, ρ=1000kg/m 3, η=10 −3kg.m −1. s −1, – rugosité de l’acier commercial ϵ=46 μm. 4 2. Zéros de fonctions Exercice 2.1 : Recherche de zéros de fonctions (zbessel) Chercher les 20 premiers zéros de la fonction de Bessel de premier espèce J1(x). Pour trouver une estimation de chaque zéro, on comparera graphiquement cette fonction à sin(x−π /4). Pour calculer la fonction J1 en un point x donné, on écrit en MATLAB : besselj(1,x) Ces zéros sont nécessaires pour calculer des solutions données sous forme de série d’équations aux dérivées partielles faisant intervenir le Laplacien en coordonnées cylindriques. Exercice 2.2 : Utilisation d’une LED On branche une LED en série avec une résistance R, et on la connecte sur une source de tension U0 (Fig. 1). On note I le courant dans la branche, traversant à la fois la diode et la résistance. Fig. 1 – Circuit d’alimentation d’une LED La LED est modélisable par la caractéristique : et la loi des mailles appliquée au circuit 1 fournit l’équation : Reformuler cette expression sous la forme f(I) = 0 et écrire un programme MATLAB qui résout cette équation avec la fonction fzero. On donne : UD0 = 0.265 V, ID0 = 778 nA, R = 5, U0 = 12 V. Exercice 2.3 : Zéros de fonctions : calcul d’un équilibre chimique (eqchimique, feqchimique) On considère la réaction chimique de dissociation du dioxyde de carbone en phase gazeuse : La loi d’action de masse fournit indirectement la fraction molaire x en CO à l’équilibre par : où α taux de conversion est solution de 5 où T la température en K et Ke(T) la constante d’équilibre. On supposera qu’une formule approximative pour Ke(T) est : En utilisant la fonction fzero, trouver la valeur de x aux températures T=300 K ,1000 K ,2000K. Exercice 2.4 : Point de fonctionnement d’un circuit hydraulique On alimente un circuit hydraulique dans lequel circule de l’eau à température ambiante, avec une pompe dont elle sait qu’elle augmente la pression de : où Q est le débit volumique dans le circuit (m3/s), et pM, Qm sont des paramètres donnés par le constructeur. Cette différence de pression est aussi la perte de charge le long de la tuyauterie sur laquelle elle est branchée, qu’on peut calculer par les expressions (3) et (7). 1. Ecrire l’équation permettant de déterminer le débit Q sous la forme f(Q) = 0. 2. Ecrire un programme MATLAB pour la résoudre. Toutes les données numériques devront être définies dans le programme principal. 3. Tester votre programme uploads/Geographie/ td-matlab.pdf

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager