à 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 -
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
svp si j'ai plusieurs fonctions (fichier.m) et je veux faire appel à celles ci pour les executer comment je doit ecrire?
merci
A voir également:
- Nul en programmation
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Veuillez attendre la fin de l'installation ou de la modification du programme en cours ✓ - Forum Windows
- Problème de programmation digicode extel klavy 3 ✓ - Forum Loisirs / Divertissements
- Programmer en basic sous windows 10 - Télécharger - Édition & Programmation
4 réponses
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
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
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
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
merci Julient ça marche grace a votre dernier message
merci beaucoup ça m'est vraiment utile
bonne journée
merci beaucoup ça m'est vraiment utile
bonne journée
Alors voici à quoi devrait ressembler le programme principal:
Et dans la fonction coefficientsC_i il n'y aura que:
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;