Salut,
Je suis en train de tenter (^^) de faire un programme pour que la calculatrice me donne directement les marges de gain et de phase d'un système asservi (pour ceux qui ne savent, ma question ne nécessite pas ces connaissances ^^).
Pour se faire, j'ai besoin de calculer la phase d'une fonction de transfert.
Le soucis, c'est que si l'on prend, pour exemple, la fonction :
H(p)=((15*(1+5*p))/(p*(1+0.1*p)*(p^(2)+6.4*p+16))) (avec p = i * w)
En faisant angle(h(p)), la calculatrice renvoie effectivement un résultat, mais totalement indigeste, et qui a pour conséquence qu'elle ne sait pas résoudre cette équation pour trouver une pulsation, ou une phase donnée.
(pour illustrer, voilà la fonction renvoyée par la calto : arctan(((10.*w)/(w^(2)-22.2222)))+((π*sign(w*(w^(2)-22.2222)))/(2)).
Si on la calcule à la main, cela donne : -π/2 - arctan(0,1w) - arctan(0.3w))
D'où mon idée : décomposer cette fonction de transfert en produit de fonctions de transferts simples, lui faire calculer séparément chaque phase (qu'elle sait mettre sous forme simple), les mettre sous forme d'une liste, et en faire le produit.
Je sais que sur Maple, il existe la fonction convert ([],*) qui permet de faire le produit, la somme, ou n'importe quoi, des termes de la liste.
Existe t'il l'équivalent sur la Nspire, ou auriez vous une idée ?
Merci !
Commande pour faire somme ou produit des termes d'une liste
7 posts
• Page 1 of 1
-
fchiappini53
Niveau 3: MH (Membre Habitué)- Posts: 12
- Joined: 01 Oct 2011, 16:47
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PSI
Re: Commande pour faire somme ou produit des termes d'une li
Avec la Nspire, il existe une fonction "sum" ainsi qu'une fonction "product" qui permettent respectivement de faire la somme ou le produit des termes d'une liste.
La Nspire sait d'ailleurs aussi faire le même calcul pour chacun des termes d'une suite (comme calculer sa transformée par exemple) : il suffit la plupart du temps de l'appliquer à la liste elle-même.
La Nspire sait d'ailleurs aussi faire le même calcul pour chacun des termes d'une suite (comme calculer sa transformée par exemple) : il suffit la plupart du temps de l'appliquer à la liste elle-même.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Commande pour faire somme ou produit des termes d'une li
Salut Bisam,
OK, c'était tellement simple que je n'y avais même pas pensé
Merci, je vais m'occuper de ça de suite ^^
OK, c'était tellement simple que je n'y avais même pas pensé
Merci, je vais m'occuper de ça de suite ^^
-
fchiappini53
Niveau 3: MH (Membre Habitué)- Posts: 12
- Joined: 01 Oct 2011, 16:47
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PSI
Re: Commande pour faire somme ou produit des termes d'une li
De retour ! Effectivement, ça marche nickel.
Mais du coup, j'ai un autre soucis :
Pour la fonction de transfert ci dessus, je l'ai donc découpé comme ceci :
l={((5)/(p)),((1)/(1+0.15*p)),((1)/(1+0.3*p))}.
J'ai donc fait ensuite product(l) pour obtenir la fonction de transfert. Mais du coup, il fait "le produit", et remplace p par i*w. Du coup, pour calculer le module, ça me fait un calcul approché qui apporte une imprécision pour résoudre l'équation.
Du coup, serait il possible de lui "faire garder" la variable p ?
Mais du coup, j'ai un autre soucis :
Pour la fonction de transfert ci dessus, je l'ai donc découpé comme ceci :
l={((5)/(p)),((1)/(1+0.15*p)),((1)/(1+0.3*p))}.
J'ai donc fait ensuite product(l) pour obtenir la fonction de transfert. Mais du coup, il fait "le produit", et remplace p par i*w. Du coup, pour calculer le module, ça me fait un calcul approché qui apporte une imprécision pour résoudre l'équation.
Du coup, serait il possible de lui "faire garder" la variable p ?
-
fchiappini53
Niveau 3: MH (Membre Habitué)- Posts: 12
- Joined: 01 Oct 2011, 16:47
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PSI
Re: Commande pour faire somme ou produit des termes d'une li
Si la calculette remplace "p" par "i*w", c'est que tu le lui as demandé ! Elle ne le fait pas toute seule.
Il est probable que tu aies affecté la valeur i*w à la variable p.
Il suffit donc de l'effacer en tapant "Delvar p" et tout rentrera dans l'ordre.
Il est probable que tu aies affecté la valeur i*w à la variable p.
Il suffit donc de l'effacer en tapant "Delvar p" et tout rentrera dans l'ordre.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Commande pour faire somme ou produit des termes d'une li
Mais justement, je veux qu'elle garde la valeur p dans le calcul, et non pas qu'elle la remplace par i*w. Mais, je ne sais pas si c'est possible.
Mais d'ailleurs, je me suis aperçu d'un autre soucis : en faisant sum et product, le résultat renvoyé n'est plus une fonction dépendant de w (alors qu'on a du p dans la liste pourtant), mais une constante.
Huhu, je penserai pas que cela serait aussi complexe ^^
Mais d'ailleurs, je me suis aperçu d'un autre soucis : en faisant sum et product, le résultat renvoyé n'est plus une fonction dépendant de w (alors qu'on a du p dans la liste pourtant), mais une constante.
Huhu, je penserai pas que cela serait aussi complexe ^^
-
fchiappini53
Niveau 3: MH (Membre Habitué)- Posts: 12
- Joined: 01 Oct 2011, 16:47
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: PSI
Re: Commande pour faire somme ou produit des termes d'une li
Je ne comprends rien à tes réponses.
Il va falloir être plus précis.
Qu'as-tu au départ ? Que veux-tu à l'arrivée ? Est-il nécessaire pour le calcul de remplacer "p" par "i*w" ? Et bien d'autres choses encore.
Je ne connais presque rien aux calculs que tu veux faire...
Ce qui est sûr, c'est que la Nspire ne sait pas manipuler les fonctions (contrairement à Maple, par exemple). Elle ne manipule que des expressions.
On peut lui faire calculer la valeur des fonctions mais pas définir un objet qui serait la somme ou le produit de plusieurs fonctions.
Il va falloir être plus précis.
Qu'as-tu au départ ? Que veux-tu à l'arrivée ? Est-il nécessaire pour le calcul de remplacer "p" par "i*w" ? Et bien d'autres choses encore.
Je ne connais presque rien aux calculs que tu veux faire...
Ce qui est sûr, c'est que la Nspire ne sait pas manipuler les fonctions (contrairement à Maple, par exemple). Elle ne manipule que des expressions.
On peut lui faire calculer la valeur des fonctions mais pas définir un objet qui serait la somme ou le produit de plusieurs fonctions.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider] and 2 guests