Octave
Entrées : m,n1,n2,n3,a,b
Sorties :r,x,y
Algorithme dans Emacs : (le ficher tapé dans Emacs est ici enregistré sous le nom de td2.m) t=linspace(0,2*pi,100) m=input('m?') n1=input('n1?') n2=input('n2?') n3=input('n3?') a=input('a?') b=input('b?') r=(abs((cos(m*t/4)/a).^n2+(abs(sin(m*t/4)/b).^n3))).^(-1/n1) x=r.*cos(t) y=r.*sin(t) axis([-2.0 2.0 -2.0 2.0]) plot(x,y,'b')
Remarques : * axis equal permet d’avoir un repère orthonormé * axis ([…]) permet de définir l’echelle des abscisses et ordonnées sur laquelle on regarde la fonction * m=input(‘m ?’) permet de rentrer par la suite ce que l’on veut comme valeur de m dans l’algorithme * octave est en radian c’est pourquoi les valeurs de t vont de 0 à 2pi * Pour utiliser le ficher :
> cd C:\Octave
>ls
>td2
Ou à l’utt
>cd C:\
>cd OB01
>ls
>td2
* utiliser clear * pour néttoyer la mémoire * toujours bien enregistrer le nom du fichier sous Emacs en nom.m
Pour utiliser ensuit r en fonction externe ( si par exemple on en avait besoin régulièrement dans des travaux futurs) :
On créer le fichier suivant :
function r=r_gielis(variables) (on appelle r_giesis le nom de la fonction r) r=abs(….) (on note l’expresiion de r) endfunction Préparation du TP01
Algorithme : n1=input('n1?') n2=input('n2?') t=linspace(0,pi/2,50) w1=sqrt(n1^2-(sin(t)).^2) w2=sqrt(n2^2-(sin(t)).^2) r=(w1-w2)./(w1+w2) tdeg=t.*(180/pi) plot(tdeg,r)
Remarques : * Pour passer en degrés on multiplie par