Previous Up Next

1.8.7  Αναπαράσταση πραγματικού αριθμού σαν συνεχές
κλάσμα: dfc

dfc λαμβάνει ως όρισματα έναν πραγματικό αριθμό ή έναν ρητό αριθμό ή έναν αριθμό κινητής υποδιαστολής a και έναν ακέραιο n (ή ένα πραγματικό epsilon).
dfc επιστρέφει την λίστα του συνεχούς κλάσματος που παριστάνει τον a τάξης n (ή με ακρίβεια epsilon δηλαδή η αναπαράσταση συνεχούς κλάσματος που προσεγγίζει a ή το evalf(a) με ακρίβεια epsilon. Από προεπιλογή epsilon είναι η τιμή του epsilon και ορίζεται στις Ρυθμίσεις Cas ή στην μπάρα ρυθμίσεων).
convert με την επιλογή confrac έχει παρόμοια λειτουργία: στην περίπτωση αυτή η τιμή του epsilon είναι το epsilon και ορίζεται στις Ρυθμίσεις Cas ή στην μπάρα ρυθμίσεων (βλ. 1.21.23) και η απάντηση μπορεί να αποθηκευθεί σε ένα προαιρετικό τρίτο όρισμα

Σχόλια

Αν dfc(a)=[a0,a1,a2,[b0,b1]] αυτό σημαίνει :

a=a0+
1
a1+
1
a2+
1
b0+
1
b1+
1
b0+...
 

Αν dfc(a)=[a0,a1,a2,r] αυτό σημαίνει :

a=a0+
1
a1+
1
a2+
1
r
 

Είσοδος :

dfc(sqrt(2),5)

Έξοδος :

[1,2,[2]]

Είσοδος :

dfc(evalf(sqrt(2)),1e-9)

ή :

dfc(sqrt(2),1e-9)

Έξοδος :

[1,2,2,2,2,2,2,2,2,2,2,2,2]

Είσοδος :

convert(sqrt(2),confrac,dev)

Έξοδος (αν στο cas έχουμε ρύθμιση epsilon=1e-9) :

[1,2,2,2,2,2,2,2,2,2,2,2,2]

και [1,2,2,2,2,2,2,2,2,2,2,2,2] αποθηκεύεται στο dev.
Είσοδος :

dfc(9976/6961,5)

Έξοδος :

[1,2,3,4,5,43/7]

Εισόδος για την επαλήθευση:
1+1/(2+1/(3+1/(4+1/(5+7/43))))
Έξοδος :
9976/6961
Είσοδος :

convert(9976/6961,confrac,l)

Έξοδος (αν στο cas έχουμε ρύθμιση epsilon=1e-9) :

[1,2,3,4,5,6,7]

και [1,2,3,4,5,6,7] αποθηκεύεται στο l
Είσοδος :

dfc(pi,5)

Έξοδος :

[3,7,15,1,292,(-113*pi+355)/(33102*pi-103993)]

Είσοδος :

dfc(evalf(pi),5)

Έξοδος (αν οι αριθμοί κινητής υποδιαστολής είναι αριθμοί κινητής υποδιαστολής υλικού, π.χ. για Digits=12) :

[3,7,15,1,292,1.57581843574]

Είσοδος :

dfc(evalf(pi),1e-9)

ή :

dfc(pi,1e-9)

ή (αν στο cas έχουμε ρύθμιση epsilon=1e-9) :

convert(pi,confrac,ll)

Έξοδος :

[3,7,15,1,292]

Previous Up Next