à l'aide je suis nulle en programmation

lyndalouis Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
JulienJust Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   -
bonjour
svp si j'ai plusieurs fonctions (fichier.m) et je veux faire appel à celles ci pour les executer comment je doit ecrire?
merci

4 réponses

JulienJust Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   18
 
Bonjour,

Admettons que tu crées une fonction sous un fichier .m, il faut que ton fichier ait le même nom que la fonction. Exemple: je crée la fonction ADDITION (function Z = ADDITION(X,Y)) que j'enregistre dans le fichier ADDITION.m .

Ensuite pour utiliser cette fonction dans un autre .m il suffit de taper son nom tout simplement mais en veillant au préalable que le .m de la fonction et le .m de mon programme principal soient dans le même dossier.
Exemple: ADDITION.m et PROGRAMME.m sont dans le même dossier. Et j'utilise la fonction ADDITION dans le fichier PROGRAMME en l'appelant comme je l'ai défini (Z = ADDITION(X,Y) où X et Y sont définis).


Est-ce que cela t'aide ?

Cdlt
0
lyndalouis Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup mais il signale tjrs des erreurs
donc voila
j'ai un système d'equation diff. jl'ai résolu avc la méthode de Runge kutta 4 donc j'ai trois fonction M-file
voila le fichier ou je doit executer :

global C1 C2 C3 C4 B
C1= 3E-5; C2=0.606; C3= 0.009; C4= 3.333; B=3E-10;

r_m0 = 10E10 ;

r_f0=10E-11;

h=0.001;



e0=0;

ef=1;

[e,r_m,r_f]=syskutta('rho_prime',e0, r_m0, r_f0, ef, h);


plot(e,r_m,e,r_f);

mais les coefficient C1 C2 C3 C4 sont pas des constantes je doit les calculer avc la méthode que vous m'avez donnez voila le programme

function[c_1,c_2,c_3,c_4] =coefficientsC_i(A,B);

b=3.0e-10;
e_f=0.3;
y=0.1;
r_f=1.0e14;
r_m=5.0e13;


A=[ 1,0,0,-b^2*(r_f )
1,-b^2*(r_m),-b*(sqrt(r_f)),0
0,0,0,1
0,r_m,(-y/b)*sqrt(r_f),0];





B=[0;0;1/e_f;0];
format long

X=A\B;
%X=[c_1;c_2;c_3;c_4];


end


comment je doit faire pour appeler la fonction coefficientsC_i dans le premier fichier et merci beaucoup
0
lyndalouis Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
merci Julient ça marche grace a votre dernier message
merci beaucoup ça m'est vraiment utile
bonne journée
0
JulienJust Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   18
 
Alors voici à quoi devrait ressembler le programme principal:

b = 3.0e-10;
e_f = 0.3;
y = 0.1;

r_m0 = 10E10 ;
r_f0 = 10E-11;
h = 0.001;
e0 = 0;
ef = 1;

[e,r_m,r_f] = syskutta('rho_prime',e0, r_m0, r_f0, ef, h);

figure(1);
plot(e,r_m,e,r_f);

% Initialisation des vecteurs permettant la sauvegarde des valeurs des résultats C1, C2, C3 et C4
C1 = zeros(length(r_m),1);
C2 = zeros(length(r_m),1);
C3 = zeros(length(r_m),1);
C4 = zeros(length(r_m),1);

% Boucle de calculs de C1, C2, C3 et C4
for ii = 1:length(r_m):
A = [ 1 0 0 -b^2*(r_f(ii) );
1 -b^2*(r_m(ii)) -b*(sqrt(r_f(ii))) 0;
0 0 0 1;
0 r_m(ii) (-y/b)*sqrt(r_f(ii)) 0];

B=[0;0;1/e_f;0];

[C1(ii),C2(ii),C3(ii),C4(ii)] = coefficientsC_i(A,B);
end;


figure(2);
plot(e,C1, e,C2, e,C3,e,C4);



Et dans la fonction coefficientsC_i il n'y aura que:

function[c_1,c_2,c_3,c_4] = coefficientsC_i(A,B)

X = B\A;
end;
0