Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Généraliser une séquence redondante

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Séquences, listes, ensembles, tables ou tableaux...
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 03 Mar 2016 16:55    Sujet du message: Généraliser une séquence redondante Répondre en citant

Bonjour ALS,

J'espère que vous allez bien et que vous avez un peu de temps pour les maths malgré votre autre site: )

Pourriez-vous s'il vous plaît m'aider afin de généraliser une séquence :

==========================================

restart;
Digits := 100;
p := 77;
f := (x)→ sqrt(p*x+1);
g := (x)→ (1/2)x;
h := (x)→(2/3)x;
m:= (x)→ (3/2)x
n:= (x)→ (4/3)x
a := [solve(f(x) = g(x))];
a1 := [solve(f(x) = h(x))];
a2 := [solve(f(x) = m(x))];
a3 := [solve(f(x) = n(x))];
b := seq(evalf(j), j = a);
c := seq(floor(i), i = a)
b1 := seq(evalf(j), j = a1);
c1 := seq(floor(i), i = a1);
b2 := seq(evalf(j), j = a2);
c2 := seq(floor(i), i = a2);
b3 := seq(evalf(j), j = a3);
c3 := seq(floor(i), i = a3);

==========================================

Comment éviter d'écrire à chaque fois a, a1, a2... b, b1, b2...en généralisant la séquence, de sorte que je n'aurais besoin que d'écrire les différentes fonctions autres que f(x) et que la séquence calcule après effectivement, les solutions de f(x)= g(x) , f(x) = h(x).... et calcule aussi les evalf..?
pourrait-on utiliser une seule fonction différente de f(x), par exemple g(x) et faire celle-ci prendre à chaque fois les valeurs voulues (1/2)x, (2/3)x, (4/3)x etc etc et résoudre à chaque valeur de g(x) la solution de f(x)=g(x) et les evalfs adéquats...?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 04 Mar 2016 8:54    Sujet du message: Répondre en citant

Bonjour,
J'écris une procédure intitulée solutions de façon à généraliser le procédé.
On passe 2 paramètres formels à cette procédure : la valeur de p et une liste L de fonctions, par exemple ici p=77 et L:=[1/2*x,2/3*x,3/2*x,4/3*x].
La procédure donne comme résultats une liste de 3-listes de la forme [f(x)=g(x),b,c] en utilisant vos notations.


Code:

> solutions:=proc(p::posint, L::list)
> local f,g,k,a,b,c,res;
> f:=unapply(sqrt(p*x+1),x);
> res:=NULL:
> for k in L do
>    g:=unapply(k,x): a := [solve(f(x) = g(x))]:
>    b:= seq(evalf(j), j = a):
>    c:= seq(floor(i), i = a):
>    res:=res,[f(x)=g(x),b,c]
> od:
> [res]
> end proc:
> solutions(77,[1/2*x,2/3*x,3/2*x,4/3*x]);

              1/2
  [[(77 x + 1)    = x/2, 308.01298646542764836523948745855425677377\
        3954294351609144601310098022405713065115379768045110001700\

                            1/2   2 x
        4, 308], [(77 x + 1)    = ---, 173.262986039611978044081560\
                                   3
        2259914052613222270727826703431746371106644882865773825431\

                                          1/2   3 x
        894659045908521, 173], [(77 x + 1)    = ---, 34.23520431049\
                                                 2
        6431202129324458336081551515625396308078623844002561377759\

                                                       1/2   4 x
        04778013548247446989823735792, 34], [(77 x + 1)    = ---, 4\
                                                              3
        3.32548312123666272132639886689450100708417047361051429647\

        127103596096181886418337361514568780295354, 43]]




Bonne continuation.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 04 Mar 2016 12:54    Sujet du message: Répondre en citant

Bonjour ALS,
Vous êtes génial : )
Merci Professeur : )
Bon week-end, à bientôt et portez-vous bien : )
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 04 Mar 2016 15:40    Sujet du message: Répondre en citant

Re-Bonjour ALS,
Le programme est encore plus génial que je ne le pensais ; les résultats sont super bien ordonnés : )
Merci merci merci : )
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 13 Juin 2016 14:41    Sujet du message: Généraliser une séquence redondante Répondre en citant

Bonjour ALS,

Encore besoin de votre aide s'il vous plaît pour généraliser une séquence.
Soit cette séquence :

=============================
restart;
Digits := 1000;
p := 15;
f := (x)->(2*p)/x;
a := seq(k, k = 1 .. 10):
L := []:
for k in a do if type(f(k), integer) then L := [op(L), [k, f(k)]]:
end if end do;
L;
=======================================
Ici f(x)=(2*15)/x

Mais le problème c'est que je voudrais faire varier le "p" ; j'ai utilisé la fonction séquence, cela ne fonctionne pas.

Au lieu que p=15 il faudrait que la séquence calcule à chaque fois les résultats pour p=15 pour p=21 pour p=77 etc ...
De sorte que dans la séquence je puisse mettre directement ces différentes valeurs de p dans une liste de la sorte :
p:=[15,21,77]

Cela m'éviterait donc à chaque fois d'écrire :

restart;
Digits := 1000;
p := 21;
f := (x)->(2*p)/x;
a := seq(k, k = 1 .. 10):
L := []:
for k in a do if type(f(k), integer) then L := [op(L), [k, f(k)]]:
end if end do;
L;

restart;
Digits := 1000;
p := 77;
f := (x)->(2*p)/x;
a := seq(k, k = 1 .. 10):
L := []:
for k in a do if type(f(k), integer) then L := [op(L), [k, f(k)]]:
end if end do;
L;

restart;
Digits := 1000;
p := 65;
f := (x)->(2*p)/x;
a := seq(k, k = 1 .. 10):
L := []:
for k in a do if type(f(k), integer) then L := [op(L), [k, f(k)]]:
end if end do;
L;

etc
Le problème est de faire une seule séquence où le p varie directement
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 15 Juin 2016 6:22    Sujet du message: Répondre en citant

Bonjour,

Il suffit de faire varier p pris dans une liste d'entiers liste_p grâce à une boucle for p in liste_p do ... end do:

Voici ce code :

Code:

> restart;
> Digits := 1000;
> liste_p:=[15,21,77]:
> for p in liste_p do
>   f := (x)->(2*p)/x;
>   a := seq(k, k = 1 .. 10):
>   L := []:
>   for k in a do
>    if type(f(k), integer) then L := [op(L), [k, f(k)]]:
>    end if
>   end do:
>   print(L);
> end do:
                            Digits := 1000


         [[1, 30], [2, 15], [3, 10], [5, 6], [6, 5], [10, 3]]


             [[1, 42], [2, 21], [3, 14], [6, 7], [7, 6]]


                     [[1, 154], [2, 77], [7, 22]]



Bonjour à toute la petite famille.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 15 Juin 2016 16:07    Sujet du message: Généraliser une séquence redondante Répondre en citant

Bonjour ALS,

C'est génial ! Merci une fois de plus : )
Ici ça va, il manque juste le soleil ; de votre côté aussi on espère que ça marche et votre nouveau site : )
A bientôt Professeur : )
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 16 Juin 2016 6:54    Sujet du message: Répondre en citant

Bonjour,
oui ça va bien, le temps est mitigé par contre en Bretagne.
Sinon, plus d'une centaine de pages réalisées sur le nouveau site, mais le compteur de visites a du mal à décoller.
Un sujet sans doute trop ardu ...
Les dernières pages sur les contraintes qui ont permis les évolutions en architecture, notamment les contraintes symboliques, devraient vous intéresser : plusieurs liens sur la page
http://millenaire1.free.fr/303_contraintes.html
jusqu'à "le ciel" est fait pour l'instant.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Guimzo



Inscrit le: 02 Juin 2012
Messages: 209

MessagePosté le: 17 Juin 2016 19:53    Sujet du message: Répondre en citant

Bonjour ALS,

Merci pour le lien, vous êtes un vrai polymathe !
Mais c'est un sujet "ardu" comme vous dîtes : )
Je regarderai les contraintes symboliques ;
A bientôt Professeur : )
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Séquences, listes, ensembles, tables ou tableaux... Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.