Matematika#
Perkenalan#
Fitur matematika mencakup fungsi Python bawaan dan modul math lengkap, yang secara otomatis tersedia di VEXcode V5. Alat-alat ini memungkinkan Anda untuk melakukan segala hal mulai dari aritmatika dasar hingga trigonometri tingkat lanjut, pembulatan, dan operasi logaritma.
Gunakan fungsi dan konstanta ini untuk menghitung posisi, sudut, jarak, dan nilai numerik lainnya untuk robot Anda. Anda juga dapat mengkonversi antara derajat dan radian, mengevaluasi ekspresi, dan bekerja dengan nilai khusus seperti tak terhingga dan NaN.
Berikut adalah daftar fungsi matematika, konstanta, dan utilitas yang tersedia:
Fungsi Bawaan – Alat matematika umum yang disertakan dalam Python.
abs– Mengembalikan nilai absolut dari suatu angka.round– Membulatkan angka ke sejumlah tempat desimal yang ditentukan.min– Mengembalikan nilai terkecil dari nilai input.max– Mengembalikan nilai terbesar dari nilai input.sum– Menjumlahkan semua nilai dalam iterable.divmod– Mengembalikan hasil bagi dan sisa sebagai tuple.pow– Memangkatkan suatu angka, opsional dengan modulus.int– Mengonversi nilai menjadi bilangan bulat.float– Mengonversi nilai menjadi bilangan floating-point.
Konstanta – Nilai yang telah ditentukan sebelumnya dari modul math.
Trigonometri – Menghitung sudut dan hubungan antar sisi.
math.sin– Sinus suatu sudut dalam radian.math.cos– Kosinus sudut dalam radian.math.tan– Tangen sudut dalam radian.math.atan– Arctangen dari suatu nilai dalam radian.math.atan2– Arctangen y/x dalam radian, dengan mempertimbangkan kuadran.math.asin– Arcsin dari suatu nilai dalam radian.math.acos– Arccosine dari suatu nilai dalam radian.math.degrees– Mengonversi radian ke derajat.math.radians– Mengonversi derajat ke radian.
Pembulatan & Nilai Mutlak – Sesuaikan presisi atau arah.
math.ceil– Membulatkan ke bilangan bulat terdekat.math.floor– Membulatkan ke bawah ke bilangan bulat terdekat.math.trunc– Menghapus bagian desimal.math.fabs– Mengembalikan nilai absolut sebagai float.
Eksponen & Logaritma – Perhitungan pangkat, akar, dan logaritma.
math.pow– Memangkatkan suatu angka.math.sqrt– Mengembalikan akar kuadrat.math.exp– Menghitung e pangkat x.math.log– Hitung logaritma dari x.
Operasi Bilangan Titik Mengambang – Memeriksa atau menguraikan nilai bilangan titik mengambang.
math.modf– Mengembalikan bagian pecahan dan bilangan bulat dari sebuah float.math.frexp– Menguraikan sebuah angka menjadi mantissa dan eksponen.math.fmod– Sisa dengan tanda dividen.math.copysign– Mengembalikan nilai dengan tanda yang lain.math.ldexp– Menghitungx * (2 ** exp).
Fungsi Bawaan#
Python menyediakan beberapa fungsi bawaan yang memungkinkan Anda melakukan operasi matematika di dalam proyek Anda.
abs#
abs mengembalikan nilai absolut dari suatu angka, dengan menghilangkan tanda negatif.
Usage:
abs(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan bulat atau bilangan pecahan. |
# Get the absolute value of -10
abs_result = abs(-10)
brain.screen.print(abs_result)
# abs_result = 10
round#
round membulatkan angka ke sejumlah tempat desimal yang ditentukan.
Usage:
round(x, ndigits)
Parameter |
Keterangan |
|---|---|
|
Bilangan bulat atau bilangan pecahan. |
|
Opsional. Jumlah tempat desimal yang akan dibulatkan. Nilai default adalah 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.screen.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.screen.print(round_result, precision=2)
# round_result = 3.14
min#
min mengembalikan nilai terkecil dari beberapa argumen atau sebuah iterable.
Usage:
min(arg1, arg2, …) or min(sequence)
Parameter |
Keterangan |
|---|---|
|
Angka-angka untuk perbandingan. |
|
Daftar, tuple, atau urutan lain yang berisi angka. |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.screen.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.screen.print(min_list_result)
# min_list_result = 1
max#
max mengembalikan nilai terbesar dari beberapa argumen atau sebuah iterable.
Usage:
max(arg1, arg2, …) or max(sequence)
Parameter |
Keterangan |
|---|---|
|
Angka-angka untuk perbandingan. |
|
Daftar, tuple, atau urutan lain yang berisi angka. |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.screen.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.screen.print(max_list_result)
# max_list_result = 25
sum#
sum menjumlahkan semua nilai dalam sebuah iterable, dengan nilai awal opsional.
Usage:
sum(sequence, start)
Parameter |
Keterangan |
|---|---|
|
Daftar, tuple, atau urutan lain yang berisi angka. |
|
Opsional. Nilai yang akan ditambahkan ke jumlah total. Nilai default adalah 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.screen.print(sum_result)
# sum_result = 15
# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
brain.screen.print(sum_with_start)
# sum_with_start = 16
divmod#
divmod mengembalikan tuple yang berisi hasil bagi dan sisa dari operasi pembagian.
Usage:
divmod(a, b)
Parameter |
Keterangan |
|---|---|
|
Dividen. |
|
Pembagi. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.screen.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow memangkatkan suatu angka dan secara opsional melakukan operasi modulus.
Usage:
pow(x, y, mod)
Parameter |
Keterangan |
|---|---|
|
Angka dasar. |
|
Eksponen. |
|
Opsional. Nilai modulus. Jika diberikan, mengembalikan |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.screen.print(pow_result)
# pow_result = 8
int#
int mengkonversi angka atau string menjadi bilangan bulat. Fungsi ini juga mendukung konversi basis saat mengkonversi dari string.
Usage:
int(x, base)
Parameter |
Keterangan |
|---|---|
|
Angka, string, atau objek lain yang akan dikonversi. |
|
Opsional. Basis angka yang digunakan untuk konversi. Nilai default adalah 10. |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
brain.screen.print("{} coins".format(price_int))
# Output: 19 coins
# Convert a string into an integer to use in calculations
user_input = "55"
user_number = int(user_input)
brain.screen.print(user_number * 2)
# Output: 110
float#
float mengubah angka atau string menjadi bilangan floating-point.
Usage:
float(x)
Parameter |
Keterangan |
|---|---|
|
Angka, string, atau objek lain yang akan dikonversi. |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
robot.screen.print(apples_per_person)
# Output: 3.00
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
robot.screen.print(user_number * 3)
# Output: 70.20
Modul Matematika#
Modul math di MicroPython menyediakan metode tambahan untuk melakukan perhitungan matematika umum. Metode-metode ini meliputi operasi trigonometri, logaritma, dan operasi numerik lainnya.
Modul math diimpor secara default di VEXcode.
Constants#
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.
pi#
pi memberikan konstanta matematika π, yaitu perbandingan antara keliling lingkaran dan diameternya.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
brain.screen.print(circle_area, precision=2)
# circle_area = 78.54
e#
e memberikan basis logaritma natural.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
brain.screen.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
dosa#
sin menghitung sinus suatu sudut dalam radian dan mengembalikan nilai float.
Usage:
math.sin(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.screen.print(result, precision=2)
# result = 0.50
karena#
cos menghitung kosinus suatu sudut dalam radian dan mengembalikan nilai float.
Usage:
math.cos(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.screen.print(result, precision=2)
# result = 0.50
cokelat muda#
tan menghitung tangen suatu sudut dalam radian dan mengembalikan nilai float.
Usage:
math.tan(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.screen.print(result)
# result = 1.00
asin#
asin menghitung invers sinus (arc sinus) dari suatu angka dan mengembalikan nilai float yang mewakili sudut dalam radian.
Usage:
math.asin(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat antara -1 dan 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.screen.print(result)
# result = 30.00
acos#
acos menghitung kosinus invers (arc cosine) dari suatu angka dan mengembalikan nilai float yang mewakili sudut dalam radian.
Usage:
math.acos(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat antara -1 dan 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.screen.print(result)
# result = 60.00
atan#
atan menghitung invers tangen (arc tangen) dari suatu angka dan mengembalikan nilai float yang mewakili sudut dalam radian.
Usage:
math.atan(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.screen.print(result)
# result = 45.00
atan2#
atan2 menghitung nilai utama dari invers tangen y/x dan mengembalikan nilai float yang mewakili sudut dalam radian.
Usage:
math.atan2(y, x)
Parameter |
Keterangan |
|---|---|
|
Bilangan floating point atau integer yang mewakili koordinat y. |
|
Bilangan floating point atau integer yang mewakili koordinat x. |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.screen.print(result)
# result = 45.00
derajat#
degrees mengkonversi sudut dari radian ke derajat dan mengembalikan nilai float.
Usage:
math.degrees(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.screen.print(degrees_result)
# degrees_result = 180.00
radian#
radians mengkonversi sudut dari derajat ke radian sebagai bilangan floating point.
Usage:
math.radians(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang mewakili sudut dalam derajat. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.screen.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
langit-langit#
ceil membulatkan angka ke atas ke bilangan bulat terdekat.
Usage:
math.ceil(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang akan dibulatkan ke atas. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.screen.print(ceil_result)
# ceil_result = 4
lantai#
floor membulatkan angka ke bawah ke bilangan bulat terdekat.
Usage:
math.floor(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang akan dibulatkan ke bawah. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.screen.print(floor_result)
# floor_result = 3
memotong#
trunc menghilangkan bagian desimal dari suatu angka tanpa pembulatan.
Usage:
math.trunc(x)
Parameter |
Keterangan |
|---|---|
|
Angka desimal yang akan dipotong. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.screen.print(trunc_result)
# trunc_result = 3
fabs#
fabs mengembalikan nilai absolut suatu angka sebagai bilangan float.
Usage:
math.fabs(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.screen.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
catatan#
log menghitung logaritma suatu angka dan mengembalikan nilai float.
Usage:
math.log(x, base)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat positif. |
|
Opsional. Basis logaritma yang akan digunakan. Secara default, ini adalah logaritma natural. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.screen.print(log_result)
# log_result = 2.00
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.screen.print(log_result)
# log_result = 3.00
daya#
pow memangkatkan x dengan y dan mengembalikan nilai float, bahkan jika kedua inputnya adalah bilangan bulat.
Usage:
math.pow(x, y)
Parameter |
Keterangan |
|---|---|
|
Basis bilangan pecahan atau bilangan bulat. |
|
Eksponen berupa bilangan pecahan atau bilangan bulat. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.screen.print(power_result)
# power_result = 8.00
akar kuadrat#
sqrt menghitung akar kuadrat dari suatu angka dan mengembalikan nilai float, bahkan untuk bilangan kuadrat sempurna.
Usage:
math.sqrt(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan floating point atau integer non-negatif. |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.screen.print(square_root)
# square_root = 4.00
pengalaman#
exp menghitung eksponen dari suatu angka dan mengembalikan nilai float.
Usage:
math.exp(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.screen.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
modf#
modf menguraikan sebuah angka menjadi bagian pecahan dan bagian bilangan bulatnya dan mengembalikan sebuah tuple (fractional part, integer part), keduanya berupa bilangan float.
Usage:
math.modf(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang akan diuraikan. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.screen.print(fractional_part, precision=2)
brain.screen.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
frexp#
frexp menguraikan sebuah angka menjadi mantissa dan eksponennya dan mengembalikan sebuah tuple (mantissa, exponent), di mana mantissa adalah bilangan float dan eksponen adalah bilangan bulat.
Usage:
math.frexp(x)
Parameter |
Keterangan |
|---|---|
|
Bilangan desimal atau bilangan bulat yang akan diuraikan. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.screen.print(mantissa, precision=2)
brain.screen.print(exponent)
# mantissa = 0.50
# exponent = 5
fmod#
fmod mengembalikan sisa pembagian sambil mempertahankan tanda dividen (x).
Usage:
math.fmod(x, y)
Parameter |
Keterangan |
|---|---|
|
Dividen. |
|
Pembagi. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.screen.print(fmod_result)
# fmod_result = 1
tanda tangan hak cipta#
copysign mengembalikan x dengan tanda y.
Usage:
math.copysign(x, y)
Parameter |
Keterangan |
|---|---|
|
Nilai yang akan dimodifikasi. |
|
Nilai yang tandanya akan disalin. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.screen.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp menghitung x * (2 ** exp), yang setara dengan x * 2exp.
Usage:
math.ldexp(x, exp)
Parameter |
Keterangan |
|---|---|
|
Nilai dasar. |
|
Eksponen. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.screen.print(ldexp_result)
# ldexp_result = 48