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

απορία σε python/sympy

Ερώτηση

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

>
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;

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

2 απαντήσεις σε αυτή την ερώτηση

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

  • 0

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

 

>

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

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

@warchief

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

 

@maniac89

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

>print(type(S))

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

>print(type(S[0]))

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.