Μαθηματικά#
Εισαγωγή#
Η τυπική βιβλιοθήκη C++ παρέχει βασικές μαθηματικές λειτουργίες μέσω <cmath>, το οποίο υποστηρίζεται στο VEXcode V5. Αυτές οι συναρτήσεις σάς επιτρέπουν να εκτελείτε κοινές μαθηματικές πράξεις όπως τριγωνομετρία, στρογγυλοποίηση, ύψωση σε δύναμη και άλλα.
Χρησιμοποιήστε τα για τον υπολογισμό θέσεων, γωνιών, αποστάσεων ή για την εκτέλεση μετατροπών μεταξύ μοιρών και ακτινίων.
Παρακάτω είναι μια λίστα με τις διαθέσιμες μαθηματικές συναρτήσεις, σταθερές και βοηθητικά προγράμματα:
Κοινές Μαθηματικές Συναρτήσεις – Κοινά μαθηματικά εργαλεία.
abs– Επιστρέφει την απόλυτη τιμή ενός αριθμού.fmin– Επιστρέφει τη μικρότερη από τις τιμές εισόδου.fmax– Επιστρέφει τη μεγαλύτερη από τις τιμές εισόδου.pow– Ανυψώνει έναν αριθμό σε δύναμη.
Σταθερές – Προκαθορισμένες τιμές από <cmath>.
Τριγωνομετρία – Υπολογισμός γωνιών και σχέσεων μεταξύ πλευρών.
sin– Ημίτονο μιας γωνίας σε ακτίνια.cos– Συνημίτονο μιας γωνίας σε ακτίνια.tan– Εφαπτόμενη μιας γωνίας σε ακτίνια.atan– Τόξο εφαπτομένης μιας τιμής σε ακτίνια.atan2– Τόξο εφαπτομένης του y/x σε ακτίνια, λαμβάνοντας υπόψη το τεταρτημόριο.asin– Το τόξο του ημιτόνου μιας τιμής σε ακτίνια.acos– Αρκοημίτονο μιας τιμής σε ακτίνια.
Στρογγυλοποίηση & Απόλυτη Τιμή – Προσαρμογή ακρίβειας ή κατεύθυνσης.
ceil– Στρογγυλοποιεί προς τα πάνω στον πλησιέστερο ακέραιο αριθμό.floor– Στρογγυλοποιεί προς τα κάτω στον πλησιέστερο ακέραιο αριθμό.trunc– Αφαιρεί το δεκαδικό μέρος.
Εκθέτες & Λογάριθμοι – Υπολογισμοί δύναμης, ρίζας και λογαρίθμου.
sqrt– Επιστρέφει την τετραγωνική ρίζα.exp– Υπολογίζει το e στη δύναμη του x.log– Φυσικός λογάριθμος (βάση e).log10– Λογάριθμος με βάση το 10.
Πράξεις κινητής υποδιαστολής – Έλεγχος ή ανάλυση τιμών κινητής υποδιαστολής.
Κοινές Μαθηματικές Συναρτήσεις#
abs#
Επιστρέφει την απόλυτη τιμή ενός αριθμού, αφαιρώντας οποιοδήποτε αρνητικό πρόσημο.
Available Functions1 — Επιστρέφει την απόλυτη τιμή ενός ακέραιου αριθμού.
int abs( int x );
Parameters2 — Επιστρέφει την απόλυτη τιμή ενός διπλού.
double abs( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας ακέραιος ή διπλός αριθμός. |
Επιστρέφει την απόλυτη τιμή της εισόδου ως του ίδιου τύπου.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Επιστρέφει τη χαμηλότερη από τις δύο τιμές ως διπλάσια.
Available Functionsdouble fmin( double value1, double value2 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η πρώτη τιμή προς σύγκριση. |
|
|
Η δεύτερη τιμή προς σύγκριση. |
Επιστρέφει ένα double που αντιπροσωπεύει τη μικρότερη από τις δύο τιμές εισόδου.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Επιστρέφει την υψηλότερη από δύο τιμές ως διπλάσια.
Available Functionsdouble fmax( double value1, double value2 );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η πρώτη τιμή προς σύγκριση. |
|
|
Η δεύτερη τιμή προς σύγκριση. |
Επιστρέφει ένα double που αντιπροσωπεύει τη μεγαλύτερη από τις δύο τιμές εισόδου.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Επιστρέφει έναν αριθμό υψωμένο σε δύναμη ως διπλάσιο.
Available Functionsdouble pow( double base, double exponent );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο βασικός αριθμός. |
|
|
Ο εκθέτης. |
Επιστρέφει ένα double που αντιπροσωπεύει τη βάση υψωμένη στη δύναμη του εκθέτη.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Σταθερές#
Οι σταθερές είναι προκαθορισμένες τιμές που παραμένουν σταθερές κατά τη διάρκεια ενός έργου. Μπορούν να χρησιμοποιηθούν σε υπολογισμούς χωρίς να απαιτείται ορισμός ή ανάθεση.
M_PI#
M_PI δίνει τη μαθηματική σταθερά π, την αναλογία της περιφέρειας ενός κύκλου προς τη διάμετρό του.
const double M_PI;
Αυτή η σταθερά δεν έχει παραμέτρους.
Return ValuesΕπιστρέφει τη μαθηματική σταθερά π ως double.
// Calculate the area of a circle with radius 5
double area = M_PI * 5 * 5;
Brain.Screen.print("%f", area);
// Output: 78.539816
M_E#
Η μαθηματική σταθερά e (αριθμός του Όιλερ), η βάση του φυσικού λογαρίθμου.
Available Constantsconst double M_E;
Αυτή η σταθερά δεν έχει παραμέτρους.
Return ValuesΕπιστρέφει τη μαθηματική σταθερά e ως double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Τριγωνομετρία#
sin#
Υπολογίζει το ημίτονο μιας γωνίας σε ακτίνια και επιστρέφει διπλάσιο.
Available Functionsdouble sin( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που αντιπροσωπεύει μια γωνία σε ακτίνια. |
Επιστρέφει ένα double που αντιπροσωπεύει το ημίτονο της γωνίας.
// Convert 30 degrees to radians
double radians = 30 * M_PI / 180.0;
// Display the sine of 30 degrees
Brain.Screen.print("%f", sin(radians));
// Output: 0.500000
cos#
Υπολογίζει το συνημίτονο μιας γωνίας σε ακτίνια και επιστρέφει διπλάσιο.
Available Functionsdouble cos( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που αντιπροσωπεύει μια γωνία σε ακτίνια. |
Επιστρέφει ένα double που αντιπροσωπεύει το συνημίτονο της γωνίας.
// Convert 60 degrees to radians
double radians = 60 * M_PI / 180.0;
// Display the cosine of 60 degrees
Brain.Screen.print("%f", cos(radians));
// Output: 0.500000
tan#
Υπολογίζει την εφαπτομένη μιας γωνίας σε ακτίνια και επιστρέφει διπλάσια τιμή.
Available Functionsdouble tan( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που αντιπροσωπεύει μια γωνία σε ακτίνια. |
Επιστρέφει ένα double που αντιπροσωπεύει την εφαπτομένη της γωνίας.
// Convert 45 degrees to radians
double radians = 45 * M_PI / 180.0;
// Compute tangent of 45 degrees
Brain.Screen.print("%f", tan(radians));
// Output: 1.000000
atan#
Υπολογίζει την αντίστροφη εφαπτομένη (εφαπτομένη τόξου) ενός αριθμού και επιστρέφει ένα διπλάσιο που αντιπροσωπεύει τη γωνία σε ακτίνια.
Available Functionsdouble atan( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Διπλή αξία. |
Επιστρέφει ένα double που αντιπροσωπεύει την εφαπτομένη του τόξου σε ακτίνια.
// Calculate the arc tangent of 1 in degrees
double degrees = atan(1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
atan2#
Υπολογίζει την κύρια τιμή της αντίστροφης εφαπτομένης του y/x και επιστρέφει μια διπλή τιμή που αντιπροσωπεύει τη γωνία σε ακτίνια.
Available Functionsdouble atan2( double y, double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που αντιπροσωπεύει τη συντεταγμένη y. |
|
|
Ένα διπλό που αντιπροσωπεύει τη συντεταγμένη x. |
Επιστρέφει ένα double που αντιπροσωπεύει την εφαπτομένη του τόξου y/x σε ακτίνια.
// Calculate the inverse tangent of 1/1 in degrees
double degrees = atan2(1.0, 1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
asin#
Υπολογίζει το αντίστροφο ημίτονο (τόξο ημιτόνου) ενός αριθμού και επιστρέφει ένα διπλάσιο που αντιπροσωπεύει τη γωνία σε ακτίνια.
Available Functionsdouble asin( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό μεταξύ -1 και 1. |
Επιστρέφει ένα double που αντιπροσωπεύει το ημίτονο του τόξου σε ακτίνια.
// Calculate the arc sine of 0.5 in degrees
double degrees = asin(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 30.000000
acos#
Υπολογίζει το αντίστροφο συνημίτονο (τοξικό συνημίτονο) ενός αριθμού και επιστρέφει ένα διπλάσιο που αντιπροσωπεύει τη γωνία σε ακτίνια.
Available Functionsdouble acos( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό μεταξύ -1 και 1. |
Επιστρέφει ένα double που αντιπροσωπεύει το συνημίτονο του τόξου σε ακτίνια.
// Calculate the arc cosine of 0.5 in degrees
double degrees = acos(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 60.000000
Στρογγυλοποίηση & Απόλυτη Τιμή#
ceil#
Επιστρέφει έναν αριθμό στρογγυλοποιημένο προς τα πάνω ως διπλάσιο.
Available Functionsdouble ceil( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που πρέπει να στρογγυλοποιηθεί προς τα πάνω. |
Επιστρέφει ένα double που αντιπροσωπεύει τον μικρότερο ακέραιο αριθμό μεγαλύτερο ή ίσο του x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Επιστρέφει έναν αριθμό στρογγυλοποιημένο προς τα κάτω ως διπλάσιο.
Available Functionsdouble floor( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που στρογγυλοποιείται προς τα κάτω. |
Επιστρέφει ένα double που αντιπροσωπεύει τον μεγαλύτερο ακέραιο αριθμό μικρότερο ή ίσο του x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Επιστρέφει έναν αριθμό ως διπλάσιο, με το δεκαδικό του μέρος να έχει οριστεί σε μηδέν.
Available Functionsdouble trunc( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλό που πρέπει να περικοπεί. |
Επιστρέφει double χωρίς το δεκαδικό μέρος.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Εκθέτες & Λογάριθμοι#
sqrt#
Επιστρέφει την τετραγωνική ρίζα ενός αριθμού.
Available Functionsdouble sqrt( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα μη αρνητικό διπλάσιο. |
Επιστρέφει ένα double που αντιπροσωπεύει την τετραγωνική ρίζα του x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Υπολογίζει την εκθετική ενός αριθμού.
Available Functionsdouble exp( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα διπλάσιο για τον υπολογισμό της εκθετικής του. |
Επιστρέφει ένα double που αντιπροσωπεύει το e υψωμένο στη δύναμη του x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Υπολογίζει τον φυσικό λογάριθμο ενός αριθμού.
Available Functionsdouble log( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα θετικό διπλό. |
Επιστρέφει ένα double που αντιπροσωπεύει τον φυσικό λογάριθμο του x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Υπολογίζει τον λογάριθμο με βάση το 10 ενός αριθμού.
Available Functionsdouble log10( double x );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένα θετικό διπλό. |
Επιστρέφει ένα double που αντιπροσωπεύει τον λογάριθμο του x με βάση το 10.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Λειτουργίες κινητής υποδιαστολής#
fmod#
Επιστρέφει το υπόλοιπο της διαίρεσης διατηρώντας το πρόσημο του διαιρετέου.
Available Functionsdouble fmod( double x, double y );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Το μέρισμα. |
|
|
Ο διαιρέτης. |
Επιστρέφει ένα double που αντιπροσωπεύει το υπόλοιπο του x/y με το πρόσημο του x.
// Calculate remainder of 10 / -3
// that preserves the sign of 10
double result = fmod(10.0, -3.0);
Brain.Screen.print("%f", result);
// Output: 1.000000
copysign#
Επιστρέφει έναν αριθμό με μέγεθος x και πρόσημο y.
Available Functionsdouble copysign( double x, double y );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η τιμή της οποίας το μέγεθος θα χρησιμοποιηθεί. |
|
|
Η τιμή της οποίας το πρόσημο θα χρησιμοποιηθεί. |
Επιστρέφει ένα double με το μέγεθος του x και το πρόσημο του y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000