Scilab
Discutez d'informatique ici !
-
zork
- Membre Rationnel
- Messages: 979
- Enregistré le: 06 Nov 2011, 15:22
-
par zork » 09 Avr 2015, 11:28
Bonjour
J'ai programmé une procédure scilab et je ne comprend pas pourquoi le graphique ne s'affiche pas (commande plot2d). Je n'ai aucune erreur dans ma procédure d'après scilab
voici le programme:
function [T]=generateur(t,lambda);
--> while T($)--> E=grand(1,1,'exp',1/lambda)
--> T=[T T($)+E]
--> end
--> x=[0:5];
--> plot2d(x,T,5);
-->endfunction
merci
-
ortollj
- Membre Rationnel
- Messages: 554
- Enregistré le: 13 Mai 2009, 08:28
-
par ortollj » 11 Avr 2015, 06:29
Bonjour
je ne sais pas trop quel est ton but, tu aurais du expliquer ce que tu voulais faire.
je trouve un peu curieux d'inclure le graphe dans la fonction :doh:
le code ci dessous fonctionne, mais ca n'est peut etre pas ce que tu voulais faire ! :petard2:
- Code: Tout sélectionner
function [T]=generateur(t,lambda);
T=[0];
while T($)<t
E=grand(1,1,'exp',1/lambda);
T=[T (T($)+E)];
end
x=[1:length(T)];
plot2d(x,T,5);
endfunction
generateur(1,3)
si j'avais su j'aurais pas venu.
-
zork
- Membre Rationnel
- Messages: 979
- Enregistré le: 06 Nov 2011, 15:22
-
par zork » 11 Avr 2015, 10:33
je voulais générer un processus de poisson puis avoir son graphe (j'ai trouvé ce programme sur le net)
pourquoi mettre x=[1:length(T)]? d'après ce que j'ai pu voir sur le net généralement on prend un intervalle comme [1:8]
au passage j'en profite pour demander un autre truc:
dans mon premier message que veut dire le symbole $?
-
ortollj
- Membre Rationnel
- Messages: 554
- Enregistré le: 13 Mai 2009, 08:28
-
par ortollj » 11 Avr 2015, 11:59
zork a écrit:je voulais générer un processus de poisson puis avoir son graphe (j'ai trouvé ce programme sur le net)
pourquoi mettre x=[1:length(T)]? d'après ce que j'ai pu voir sur le net généralement on prend un intervalle comme [1:8]
au passage j'en profite pour demander un autre truc:
dans mon premier message que veut dire le symbole $?
T($) veut dire le dernier indice du tableau.
si j'avais su j'aurais pas venu.
-
zork
- Membre Rationnel
- Messages: 979
- Enregistré le: 06 Nov 2011, 15:22
-
par zork » 11 Avr 2015, 12:54
ok merci de ton aide
-
ortollj
- Membre Rationnel
- Messages: 554
- Enregistré le: 13 Mai 2009, 08:28
-
par ortollj » 11 Avr 2015, 13:10
zork a écrit:ok merci de ton aide
perso j'aurais plutôt ecrit ca
- Code: Tout sélectionner
function [T]=generateur(t,lambda);
T=[grand(1,1,'exp',1/lambda)];
while T($)<t
E=grand(1,1,'exp',1/lambda);
//T=[T (T($)+E)]; je pense que c'est plutôt ca ci dessous que tu voulais faire ?
T=[T E];
end
endfunction
// test
p=generateur(1.7,3)
x=[1:length(p)];
plot2d(x,p,5);
quand tu ne connais pas quelque chose, tape help "truc" dans la console
exemple help $, et clique sur dollar
si j'avais su j'aurais pas venu.
-
ortollj
- Membre Rationnel
- Messages: 554
- Enregistré le: 13 Mai 2009, 08:28
-
par ortollj » 11 Avr 2015, 16:39
ci dessous le code de Christine Heinemann,
deja cité dans ce forum voir tout dernier message
- Code: Tout sélectionner
clc; clf;
N = 10000;
lambda = 3;
titre='Loi de Poisson de parametre lambda='+string(lambda)+' par grand - N='+string(N)
x = grand(1,N,"poi", lambda);
y=tabul(x,"i")
subplot(1,2,1)
a=get("current_axes"); a.font_size=1; a.x_location="bottom";
plot2d3(y(:,1), y(:,2)/N, rect=[-0.5,0,10,0.3],style=2)
xtitle(titre, "Classes", "Effectifs par classe normalisees")
subplot(1,2,2)
x=0:10
y=exp(-lambda)*lambda^x ./factorial(x)
a=get("current_axes"); a.font_size=1; a.x_location="bottom";
plot2d3(x, y, rect=[-0.5,0,10,0.3],style=5);
xtitle("Distribution theorique", "Valeurs de k", "P(X=k)")
si j'avais su j'aurais pas venu.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités