Προς το περιεχόμενο

απορία σε python/sympy


maniac89

Προτεινόμενες αναρτήσεις

Εισάγω την εξής εντολή(η οποία λύνει ένα σύστημα εξισώσεων):

>
S=solve([1/(x**2 + y**2 + 1) - (2*x*(x - y))/(x**2 + y**2 + 1)**2,- 1/(x**2 + y**2 + 1) - (2*y*(x - y))/(x**2 + y**2 + 1)**2],x,y)

 

και παίρνω το εξής αποτέλεσμα(αν κάνω print S):

>
[(-sqrt(2)/2, sqrt(2)/2),
(-sqrt(2)/2, sqrt(2)/2),
(sqrt(2)/2, -sqrt(2)/2),
(sqrt(2)/2, -sqrt(2)/2),
(-sqrt(2)*I/2, -sqrt(2)*I/2),
(sqrt(2)*I/2, sqrt(2)*I/2)]

 

λογικά αυτές είναι οι λύσεις που παίρνω για το x και τον y.

Ξέρει κανείς πώς γίνεται να εμφανίζω μόνο τις τιμές του x ή μόνο τις τιμές του y;

 

Ευχαριστώ πολύ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λογικά αυτές ειναι οι ρίζες τις εξίσωσης που έβαλες στο φορματ S = [(x1, y1), (x2, y2), (xn, yn)]

 

>

# Για να πάρεις τα διάφορα x
print [root[0] for root in S]

# Και για τα διάφορα y
print [root[1] for root in S]

 

Εκτός και αν δεν κατάλαβα καλα..

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@warchief

Καλά κατάλαβες.

 

@maniac89

Η solve επιστρέφει μία list με tuples. Αυτό μπορείς να το δεις δίνοντας

>print(type(S))

η αντίστοιχα ότι τα περιεχόμενα είναι tuples μέσω του

>print(type(S[0]))

 

Χρησιμοποίησε το isympy (ή και το live sympy http://live.sympy.org/ ). Επιταχύνει αρκετά την εκμάθηση του sympy.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...