π
<-

Probleme variable non définie

Pour le TI-Basic sur Nspire

Probleme variable non définie

Unread postby skini26 » 21 Jun 2013, 00:10

Salut,

J'ai un probleme qui peut etre est tres simple à résoudre mais dont je ne trouve pas de solution.

Je fais un programme sur ma nspire cas, toutes mes variables définies en local dans le programme peuvent avoir une valeur attribuée avec le ":=" sauf mon expression.
Le programme s’arrête au premier y:= et me génère l'erreur de variable non définie.
( j'ai essayé de changé le nom de ma variable, la mettre entre parenthèses, lui donner une valeur bidon pour lui redonner la valeur que je veux, etc. mais il me dit toujours variable non définie ).

Voici le code :

Code: Select all
Define LibPub mhsamor()=
Prgm
:Local y,c1c2,x0,x1,y0,y1,m,m1,m2,y,c,k,x,t,condi,edo,solg,solp,zeross,w,a,phase,p,f,c1,c2,a,b
:
:Request "m*y'' +c*y'+ k*y = 0 : m = ?",m
:Request "m*y'' + c*y'+ k*y = 0 : c = ?",c
:Request "m*y'' + c*y'+ k*y = 0 : k = ?",k
:Request "Condition initiale ? (1=OUI / 0=NON)",condi
:
:Disp "Solution homogene :"
:Disp "Equation caract. : "&string(m)&"r²+"&string(c)&"r+"&string(k)&"=0"
:zeross:=cSolve(m*r*r+c*r+k=0,r)
:Disp zeross
:
:If c^(2)-4*m*k>0 Then
:  Disp "Situation de sur amortissement c^2-4mk>0"
:  m1:=zeross[1]
:  m2:=zeross[2]
:  y:=c1*e^(m1*t)+c2*e^(m2*t)   :warning:
:  Disp "Solution generale :"
:  Disp y
:EndIf
:
:If c^(2)-4*m*k=0 Then
:Disp "Situation de amortissement critique c^2-4mk=0"
:m:=zeross[1]
:y:=c1*e^(m*t)+c2*t*e^(m*t)
:Disp "Solution generale :"
:Disp y
:EndIf
:
:If c^(2)-4*m*k<0 Then
:  Disp "Situation de sous amortissement c^2-4mk<0"
:  m1:=zeross[1]
:  m2:=zeross[2]
:  a:=real(m1)
:  b:=imag(m1)
:  y:=^(a*t)*(c1*cos(b*t)+c2*sin(b*t))
:  Disp "Solution generale :"
:  Disp y
:EndIf
:
:If condi=1 Then
:   Request "y(x) =y0 : x ?",x0
:   Request "y(x) =y0 : y ?",y0
:   Request "y'(x) =y1 : x ?",x1
:   Request "y'(x) = y1 : y ?",y1
:
:   c1c2:=solve(system((y|t=x0)=y0,(y|t=x1,t)=y1),{c1,c2})
:   c1:=c1c2[1]
:   c2:=c1c2[2]
:
:   Disp "Solution particuliere :"
:   Disp y
:EndIf
:EndPrgm


Merci.
User avatar
skini26
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 7
Joined: 21 Jun 2013, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Université

Re: Probleme variable non définie

Unread postby AnToX98 » 21 Jun 2013, 00:24

Ou est-ce que ton programme s'arrete ?
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Probleme variable non définie

Unread postby AnToX98 » 21 Jun 2013, 00:25

As-tu bien enregistré ton code avec :nsct: + :nsb:
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Probleme variable non définie

Unread postby AnToX98 » 21 Jun 2013, 00:43

Mais oui c'est logique.

Meme si tu definit tes variables avec "local", tu doit obligatoirement leur donner une valeur avec :nsva: (sto) ou :nsab: (:=)

Mais si tu veux veut exprimer quelque chose en fonction d'une variable qui n'a pas de valeur, ne definie pas tes variables en local :

Ce code :

Code: Select all
Prgm
y:=a*b
Disp y
EndPrgm


M'affiche a*b

Tes variables c1 et c2 sont definies en local mais n'ont pas de valeur. Donc si tu as envie d'exprimer y en fonction de c1 et c2, ne definie pas ces variables en local.

En esperant de t'avoir éclaircit, AnToX98
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Probleme variable non définie

Unread postby skini26 » 21 Jun 2013, 01:05

Merci beaucoup à vous tous.
AntoX98 je te remercie je comprend maintenant :)
User avatar
skini26
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 7
Joined: 21 Jun 2013, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Université

Re: Probleme variable non définie

Unread postby skini26 » 21 Jun 2013, 01:15

Une autre petite question, saurais tu comment extraire un nombre du résulat de Solve lorsque celui ci me donne comme résultat : "unnombre1" ou "unnombre2"
Lorsque ça me donne deux solutions, elles sont stockées dans un tableau (exemple [5 10] ), mais lorsque c'est une solution double ( par exemple : +2 or -2 ), le resultat est égal à : +2 or -2

Dans mon cas, je ne peux extraire la partie imaginaire de mon nombre complexe en faisant imag(zeross[1]) ça me donne cela :
Code: Select all
imag((r=−√(2)* or r=√(2)*)[1])
User avatar
skini26
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 80%
 
Posts: 7
Joined: 21 Jun 2013, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Université

Re: Probleme variable non définie

Unread postby critor » 21 Jun 2013, 08:55

Utilise zeros(gauche-droite,...) au lieu de solve(gauche=droite,...).

zeros() renvoie une liste qui sera donc facile à extraire.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Probleme variable non définie

Unread postby Bisam » 24 Jun 2013, 14:34

Tu peux aussi utiliser la fonction "exp>list" après la fonction "solve".
Elle sert justement à transformer la réponse donnée par un "solve" en une liste des valeurs possibles.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile


Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider], michell0987654321 and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
863 utilisateurs:
>827 invités
>28 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)