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.
Version imprimable
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?
essai de montrer un bout de code.
mais l'idée est un truc dans ce genre (version simple)
bon courageCode:
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:
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:
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?:roll::oops:Code:
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 :zoubi:.
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 :oops:?
Alors ton code ne marche pas avec cette troisième ligne je crois!(je suis pas expert encore:oops:)
Pour moi, cela devrait être:
Pour la proposition de 21did21, tu dois remplacer ta ligne plot par celle-ci.Code:
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:set(gca,'Xlim',[ton_Xmin ton_Xmax])
Non ceci est incorrect.
ouCode:
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:
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
merci bien , c'est résolut :ccool: