Τώρα είναι Τρί 19 Μαρ 2024 05:37 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Τόξο συνημιτόνου
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 12 Νοέμ 2012 03:37 pm 
Χωρίς σύνδεση

Εγγραφή: Τετ 10 Οκτ 2012 04:00 am
Δημοσιεύσεις: 8
Μια (πολύ) χρήσιμη συνάρτηση που δυστυχώς ΛΕΙΠΕΙ από την ΓΛΩΣΣΑ είναι η τοξσυν(x). Παρακάτω δίνω μια συνάρτηση που δίνει το τόξο συνημιτόνου. Η συνάρτηση είναι βασισμένη στο τόξο εφαπτομένης για μεγαλύτερη ακρίβεια.

1. Το τόξο εφαπτομένης προσεγγίζεται με σειρές, δηλαδή σαν ένα άπειρο άθροισμα πολυωνύμων. Αποφάσισα να πάρω ΜΟΝΟ τους 3 πρώτους όρους.

2. Όσο μεγαλύτερη η γωνία, τόσο μικρότερη η ακρίβεια, γι' αυτό κάνουμε αναγωγή στο 1ο τεταρτημόριο.

3. Για τον ίδιο λόγο με πάνω (2), για γωνίες πάνω από 45 μοίρες χρησιμοποιώ το τόξο ημιτόνου για μεγαλύτερη ακρίβεια.

4. Γενικά η συνάρτηση έχει πολύ μικρό σφάλμα (< 0,07%) για οποιοδήποτε συνημίτονο.

5. Η συνάρτηση επιστρέφει τη γωνία σε ΑΚΤΙΝΙΑ, όχι σε μοίρες.

6. Μπορείτε να την χρησιμοποιήσετε αν θέλετε τόξο ημιτόνου, και εύκολα να την τροποποιήσετε αν θέλετε τόξο εφαπτομένης ή συνεφαπτομένης.

7. Αν θέλετε ΑΚΟΜΑ μεγαλύτερη ακρίβεια μπορείτε να προσθέσετε κι' άλλους όρους στο άθροισμα του τόξου εφαπτομένης. Μπορέιτε να βρέιτε τον τύπο της σειράς μαζί με άλλες πληροφορίες εδώ (βιβλιογραφία) : http://en.wikipedia.org/wiki/Inverse_tr ... _functions

Κώδικας:
ΣΥΝΑΡΤΗΣΗ ΤΟΞΣΥΝ(Χ): ΠΡΑΓΜΑΤΙΚΗ
ΣΤΑΘΕΡΕΣ
  ΠΙ=3.14159265
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ι,Κ
  ΠΡΑΓΜΑΤΙΚΕΣ: Χ,Υ
ΑΡΧΗ
  Ι <-- 0
  ΑΝ Χ<0 ΤΟΤΕ
    Χ <-- -Χ
    Ι <-- 1
  ΤΕΛΟΣ_ΑΝ
  Κ <-- 0
  ΑΝ Χ>Τ_Ρ(2)/2 ΤΟΤΕ
    Χ <-- Τ_Ρ(1-Χ^2)/(1+Χ)
  ΑΛΛΙΩΣ
    Χ <-- Χ/(1+ Τ_Ρ(1-Χ^2))
    Κ <-- 1
  ΤΕΛΟΣ_ΑΝ 
  Χ <-- Χ-(X^3)/3+(X^5)/5
  ΑΝ Κ=0 ΤΟΤΕ
    Υ <-- 2*Χ
  ΑΛΛΙΩΣ
    Υ <-- ΠΙ/2-2*Χ
  ΤΕΛΟΣ_ΑΝ
  ΑΝ Ι=1 ΤΟΤΕ
    Υ <-- ΠΙ-Υ
  ΤΕΛΟΣ_ΑΝ
  ΤΟΞΣΥΝ <-- Υ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

_________________
"Peace to everyone, and - who knows ? - maybe one day ... civilization !!!" - Pat Condell


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: