Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

tracer courbe sur maple

Posté par
aurelien30320
14-03-13 à 18:44

Bonjour , je vais essayer d'être assez clair , alors voila ,
je veux tracer la fonction qui à t-> sigma[2][i]*t
  pour t appartient à [0,05*(i-1) ; 0,05*i ] avec i allant de 1 à 20 ,donc t allant de 0 à 1;

Le soucis c'est que je n'arrive pas à créer de boucle pour l'intervalle en fonction de i.

Si quelqu'un peut m'aider merci

(j'ai définie les sigma[2][i] précédemment bien entendu)

Posté par
aurelien30320
re : tracer courbe sur maple 14-03-13 à 19:18

pour info , j'ai deja fait cela (inutile je pense mais bon )

for i to 20 do l[2][i] := sigma[2][i]*t ; plot(l[2][i](t), t = 0.5e-1*(i-1) .. 0.5e-1*i)od;

Mais ça trace les 20 courbes , il faudrait mnt qu'elles se succèdes en quelque sorte

Posté par
aurelien30320
re : tracer courbe sur maple 14-03-13 à 20:05

je pense avoir une idée réalisable pour avoir un seul intervalle .

L'idée serait de définir ma fonction telle que je la veux sur l'intervalle que je veux et nulle ailleurs avec un if then else .

Problème , j'ai essayé de mettre la boucle de partout ça ne marche toujours pas .

Posté par
ravinator
re : tracer courbe sur maple 29-03-13 à 23:58

Bonsoir,
Si j'ai bien compris ton problème, ce morceau de code devrait faire ton bonheur

with(plots):
f := (i,t) -> sum(t, k = 2 .. i) ;
L := NULL: for i from 1 to 20 do L := plot(f(i, t), t = (0.05*(i-1)) .. (0.05*i)), L end do; L:
display({L}) ;

tracer courbe sur maple

Posté par
aurelien30320
re : tracer courbe sur maple 30-03-13 à 12:08

Tout d'abord merci.
Il s'avère que j'ai encore trouvé plus simple , avec la fonction piecewise , ça définie ta fonction sur plusieurs intervalles

ça ressemble à ça :

f := piecewise(x < 0.051, sigma[2][1]*x, x < .10, sigma[2][2]*x, x < .15, sigma[2][3]*x, x < .20, sigma[2][4]*x, x < .25, sigma[2][5]*x, x < .30, sigma[2][6]*x, x < .35, sigma[2][7]*x, x < .40, sigma[2][8]*x, x < .45, sigma[2][9]*x, x < .50, sigma[2][10]*x, x < .55, sigma[2][11]*x, x < .60, sigma[2][12]*x, x < .65, sigma[2][13]*x, x < .70, sigma[2][14]*x, x < .75, sigma[2][15]*x, x < .80, sigma[2][16]*x, x < .85, sigma[2][17]*x, x < .90, sigma[2][18]*x, x < .95, sigma[2][19]*x, x < 1, sigma[2][20]*x);

Le soucis c'est que la c'est écrit comme un bourrin ..

J'essaye de l'écrire en séquence mais je saisi pas trop comment faire .
Pour moi il faudrait écrire
W := piecewise(seq{sigma[2][i]*x, i = 1 .. 20, x < 0.05*i},i=0..20);

Mais je dois avoir un problème entre les () et les {} car ça ne marche pas ..

Si tu as une idée elle est la bienvenue

Posté par
ravinator
re : tracer courbe sur maple 30-03-13 à 17:25

J'avais tenté un piecewise aussi mais je n'ai pas réussi à faire en sorte de ne pas tout écrire à la main donc j'ai abandonné

une autre idée peut être :

f := proc(t) local i; i := floor(t/0.05); sum(t, k = 2 .. i) end proc;

plot(f(t), t = 0 .. 1);

Par contre ça relie les discontinuités

(floor est la partie entière)

Posté par
ravinator
re : tracer courbe sur maple 30-03-13 à 17:29

Je me suis trompé, je crois qu'il faut plutôt prendre floor(t/0.05) +1 pour i

Posté par
ravinator
re : tracer courbe sur maple 30-03-13 à 17:31

et pour refaire apparaître les discontinuités :
plot(f(t),t=0..1,discont=true);

Voila je crois que c'est tout ce que je peux faire =)

Bon week end



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !