salut,
je veux afficher que la partie non nul d'une fonction de façon que quand j'utilise plot elle m'affiche une courbe que ne s'annule pas.
merci d'avance pour m'aider.
salut,
je veux afficher que la partie non nul d'une fonction de façon que quand j'utilise plot elle m'affiche une courbe que ne s'annule pas.
merci d'avance pour m'aider.
Bonjour,
ça ne semble pas très compliqué : tu sélectionnes et tu n'affiches que les parties non nulles... as-tu commencé à coder quelque chose? ou bloques-tu?
Pour une bonne utilisation des balises codec'est ici!
Petit guide du voyageur MATLABien :Le forum
La faq
Les tutoriels
Les sources
La nature est un livre écrit en langage mathématique. Galilée.
essai de montrer un bout de code.
mais l'idée est un truc dans ce genre (version simple)
bon courage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 figure (1) hold on for i=1:nbPoint if(pointY(i)~=0) plot(pointX(i),pointY(i)) end end
bonsoir , et merci pour votre attention
j'ai une fonction que je souhaite résoudre avec l'algorithme de taboue, j'ai déclaré cette fonction comme suit:
à la programme principale et après passé par les différentes instructions de l'algorithme de taboue je fais afficher la variation de cette fonction en utilisant la fonction plot :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function F=soleval(SB,SGM,eNodeB,c,h) F=[0]; tabUnik = unique(SB); tabaffes=bsxfun(@eq,tabUnik(:),SB); tabaffee=bsxfun(@eq,SB(:),SB); x=bsxfun(@eq,tabaffes,1); z=bsxfun(@eq,1,tabaffee); for k=1:SGM; for e1=1:eNodeB; for e2=1:eNodeB; e1~=e2; y(e1,e2)=z(e1,e2); f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2)); F=[F;f]; end end end
mon problème est que je veux juste afficher la partie non nulle de la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 F=soleval(SB,SGM,eNodeB); plot(F);
Merci pour m'aider.
Bonjour,
je suis étonné par cette partie:
Ta troisième ligne ne devrait elle pas être une boucle if?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for e1=1:eNodeB; for e2=1:eNodeB; e1~=e2; y(e1,e2)=z(e1,e2); f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2)); F=[F;f]; end end
Pour ton affichage, as tu suivi la proposition de 21did21? Je pense aussi que tu devrais faire comme cela si on a bien compris ta demande![]()
bonjour, pour la troisième ligne j'ai une contrainte que e1 soit différente de e2.
Et pour la proposition de 21did21 je ne sais pas où le mettre dans mon code, de plus si je veux afficher qu'une intervalle bien déterminé de la courbe qu'est ce que je doit faire?
Alors ton code ne marche pas avec cette troisième ligne je crois!(je suis pas expert encore)
Pour moi, cela devrait être:
Pour la proposition de 21did21, tu dois remplacer ta ligne plot par celle-ci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for e1=1:eNodeB; for e2=1:eNodeB && e1~=e2; y(e1,e2)=z(e1,e2); f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2)); F=[F;f]; end end
Pour l'intervalle, tu peux te débrouiller avec xlim genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(gca,'Xlim',[ton_Xmin ton_Xmax])
Non ceci est incorrect.
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for e1=1:eNodeB; for e2=1:eNodeB if e1~=e2 y(e1,e2)=z(e1,e2); f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2)); F=[F;f]; end end end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for e1=1:eNodeB; for e2=[1:e1-1 e1+1:eNodeB] y(e1,e2)=z(e1,e2); f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2)); F=[F;f]; end end
Partager