Matematika#
Perkenalan#
Pustaka standar C++ menyediakan fungsi matematika dasar melalui <cmath>, yang didukung di VEXcode IQ. Fungsi-fungsi ini memungkinkan Anda melakukan operasi matematika umum seperti trigonometri, pembulatan, perpangkatan, dan banyak lagi.
Gunakan alat-alat ini untuk menghitung posisi, sudut, jarak, atau melakukan konversi antara derajat dan radian.
Berikut adalah daftar fungsi matematika, konstanta, dan utilitas yang tersedia:
Fungsi Matematika Umum – Alat matematika umum.
abs– Mengembalikan nilai absolut dari suatu angka.fmin– Mengembalikan nilai terkecil dari nilai input.fmax– Mengembalikan nilai terbesar dari nilai input.pow– Memangkatkan suatu angka.
Konstanta – Nilai yang telah ditentukan sebelumnya dari <cmath>.
Trigonometri – Menghitung sudut dan hubungan antar sisi.
sin– Sinus suatu sudut dalam radian.cos– Kosinus suatu sudut dalam radian.tan– Tangen sudut dalam radian.atan– Arctangen dari suatu nilai dalam radian.atan2– Arctangen y/x dalam radian, dengan mempertimbangkan kuadran.asin– Arcsin dari suatu nilai dalam radian.acos– Arccosinus dari suatu nilai dalam radian.
Pembulatan & Nilai Mutlak – Sesuaikan presisi atau arah.
ceil– Membulatkan ke bilangan bulat terdekat.floor– Membulatkan ke bawah ke bilangan bulat terdekat.trunc– Menghapus bagian desimal.
Eksponen & Logaritma – Perhitungan pangkat, akar, dan logaritma.
sqrt– Mengembalikan akar kuadrat.exp– Menghitung e pangkat x.log– Logaritma natural (basis e).log10– Logaritma basis 10.
Operasi Bilangan Titik Mengambang – Memeriksa atau menguraikan nilai bilangan titik mengambang.
Fungsi Matematika Umum#
abs#
Mengembalikan nilai absolut dari suatu angka, dengan menghilangkan tanda negatif.
Available Functions1 — Mengembalikan nilai absolut dari sebuah bilangan bulat.
int abs( int x );
Parameters2 — Mengembalikan nilai absolut dari tipe data double.
double abs( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Bilangan bulat atau bilangan desimal. |
Mengembalikan nilai absolut dari input dengan tipe yang sama.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Mengembalikan nilai yang lebih rendah dari dua nilai sebagai bilangan double.
Available Functionsdouble fmin( double value1, double value2 );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai pertama yang akan dibandingkan. |
|
|
Nilai kedua yang akan dibandingkan. |
Mengembalikan nilai double yang mewakili nilai input yang lebih kecil.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Mengembalikan nilai yang lebih tinggi dari dua nilai sebagai bilangan double.
Available Functionsdouble fmax( double value1, double value2 );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai pertama yang akan dibandingkan. |
|
|
Nilai kedua yang akan dibandingkan. |
Mengembalikan nilai double yang mewakili nilai input yang lebih besar.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Mengembalikan angka yang dipangkatkan sebagai nilai double.
Available Functionsdouble pow( double base, double exponent );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dasar. |
|
|
Eksponen. |
Mengembalikan nilai double yang mewakili basis yang dipangkatkan dengan eksponen.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstanta#
Konstanta adalah nilai yang telah ditentukan sebelumnya dan tetap konstan selama proyek berlangsung. Konstanta dapat digunakan dalam perhitungan tanpa memerlukan definisi atau penugasan apa pun.
M_PI#
M_PI memberikan konstanta matematika π, yaitu perbandingan antara keliling lingkaran dan diameternya.
const double M_PI;
Konstanta ini tidak memiliki parameter.
Return ValuesMengembalikan konstanta matematika π sebagai 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#
Konstanta matematika e (bilangan Euler), basis logaritma natural.
Available Constantsconst double M_E;
Konstanta ini tidak memiliki parameter.
Return ValuesMengembalikan konstanta matematika e sebagai double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometri#
sin#
Menghitung sinus suatu sudut dalam radian dan mengembalikan nilai double.
Available Functionsdouble sin( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua yang mewakili sudut dalam radian. |
Mengembalikan nilai double yang mewakili sinus sudut.
// 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#
Menghitung kosinus suatu sudut dalam radian dan mengembalikan nilai double.
Available Functionsdouble cos( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua yang mewakili sudut dalam radian. |
Mengembalikan nilai double yang mewakili kosinus sudut.
// 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#
Menghitung tangen suatu sudut dalam radian dan mengembalikan nilai double.
Available Functionsdouble tan( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua yang mewakili sudut dalam radian. |
Mengembalikan nilai double yang mewakili tangen sudut.
// 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#
Menghitung invers tangen (arc tangen) dari suatu angka dan mengembalikan nilai double yang mewakili sudut dalam radian.
Available Functionsdouble atan( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai ganda. |
Mengembalikan nilai double yang mewakili arc tangen dalam radian.
// 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#
Menghitung nilai utama dari invers tangen y/x dan mengembalikan nilai double yang mewakili sudut dalam radian.
Available Functionsdouble atan2( double y, double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka desimal yang mewakili koordinat y. |
|
|
Angka desimal yang mewakili koordinat x. |
Mengembalikan nilai double yang mewakili arc tangen dari y/x dalam radian.
// 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#
Menghitung invers sinus (arc sinus) dari suatu angka dan mengembalikan nilai double yang mewakili sudut dalam radian.
Available Functionsdouble asin( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka ganda antara -1 dan 1. |
Mengembalikan nilai double yang mewakili arcsin dalam radian.
// 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#
Menghitung kosinus invers (kosinus busur) dari suatu angka dan mengembalikan nilai double yang mewakili sudut dalam radian.
Available Functionsdouble acos( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka ganda antara -1 dan 1. |
Mengembalikan nilai double yang mewakili arc cosinus dalam radian.
// 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
Pembulatan & Nilai Mutlak#
ceil#
Mengembalikan angka yang dibulatkan ke atas sebagai bilangan desimal (double).
Available Functionsdouble ceil( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua akan dibulatkan ke atas. |
Mengembalikan nilai double yang mewakili bilangan bulat terkecil yang lebih besar dari atau sama dengan x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Mengembalikan angka yang dibulatkan ke bawah sebagai bilangan desimal (double).
Available Functionsdouble floor( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua yang dibulatkan ke bawah. |
Mengembalikan nilai double yang mewakili bilangan bulat terbesar yang kurang dari atau sama dengan x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Mengembalikan angka sebagai nilai double, dengan bagian desimalnya diatur menjadi nol.
Available Functionsdouble trunc( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Angka dua akan dipotong. |
Mengembalikan nilai double dengan bagian desimal dihilangkan.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Eksponen dan Logaritma#
sqrt#
Mengembalikan akar kuadrat dari suatu angka.
Available Functionsdouble sqrt( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Bilangan ganda non-negatif. |
Mengembalikan nilai double yang mewakili akar kuadrat dari x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Menghitung eksponen dari suatu angka.
Available Functionsdouble exp( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Bilangan double untuk menghitung eksponennya. |
Mengembalikan nilai double yang mewakili e dipangkatkan x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Menghitung logaritma natural dari suatu bilangan.
Available Functionsdouble log( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Bilangan ganda positif. |
Mengembalikan nilai double yang mewakili logaritma natural dari x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Menghitung logaritma basis 10 dari suatu angka.
Available Functionsdouble log10( double x );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Bilangan ganda positif. |
Mengembalikan nilai double yang mewakili logaritma basis 10 dari x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Operasi Titik Mengambang#
fmod#
Mengembalikan sisa pembagian sambil mempertahankan tanda dari bilangan yang dibagi.
Available Functionsdouble fmod( double x, double y );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Dividen. |
|
|
Pembagi. |
Mengembalikan nilai double yang mewakili sisa pembagian x/y dengan tanda 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#
Mengembalikan angka dengan besaran x dan tanda y.
Available Functionsdouble copysign( double x, double y );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai yang besarnya akan digunakan. |
|
|
Nilai yang tandanya akan digunakan. |
Mengembalikan nilai double dengan besaran x dan tanda y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000