Matematika#

Perkenalan#

Fitur matematika mencakup fungsi bawaan Python dan modul math lengkap, yang secara otomatis tersedia di VEXcode GO. 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.

  • math.pi – Konstanta π (pi).

  • math.tau – Konstanta tau (2π).

  • math.e – Bilangan Euler, basis logaritma natural.

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.

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 – Menghitung x * (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

x

Bilangan bulat atau bilangan pecahan.

def main():
    # Get the absolute value of -10
    abs_result = abs(-10)
    console.print(abs_result)

# abs_result = 10

# Start threads — Do not delete
start_thread(main)

round#

round membulatkan angka ke sejumlah tempat desimal yang ditentukan.

Usage:
round(x, ndigits)

Parameter

Keterangan

x

Bilangan bulat atau bilangan pecahan.

ndigits

Opsional. Jumlah tempat desimal yang akan dibulatkan. Nilai default adalah 0.

def main():
    # Round 5.7 to the nearest integer
    round_int_result = round(5.7)
    console.print(round_int_result)

# round_int_result = 6

# Start threads — Do not delete
start_thread(main)

def main():
    # Round 3.14159 to 2 decimal places
    round_result = round(3.14159, 2)
    console.print(round_result, precision=2)

# round_result = 3.14

# Start threads — Do not delete
start_thread(main)

min#

min mengembalikan nilai terkecil dari beberapa argumen atau sebuah iterable.

Usage:
min(arg1, arg2, …) or min(sequence)

Parameter

Keterangan

arg1, arg2, …

Angka-angka untuk perbandingan.

sequence

Daftar, tuple, atau urutan lain yang berisi angka.

def main():
    # Get the smallest number from 3, 7, and 1
    min_result = min(3, 7, 1)
    console.print(min_result)

# min_result = 1

# Start threads — Do not delete
start_thread(main)

def main():
    # Get the smallest value from a list
    min_list_result = min([10, 4, 25, 1])
    console.print(min_list_result)

# min_list_result = 1

# Start threads — Do not delete
start_thread(main)

max#

max mengembalikan nilai terbesar dari beberapa argumen atau sebuah iterable.

Usage:
max(arg1, arg2, …) or max(sequence)

Parameter

Keterangan

arg1, arg2, …

Angka-angka untuk perbandingan.

sequence

Daftar, tuple, atau urutan lain yang berisi angka.

def main():
    # Get the largest number from 3, 7, and 1
    max_result = max(3, 7, 1)
    console.print(max_result)

# max_result = 7

# Start threads — Do not delete
start_thread(main)

def main():
    # Get the largest value from a list
    max_list_result = max([10, 4, 25, 1])
    console.print(max_list_result)

# max_list_result = 25

# Start threads — Do not delete
start_thread(main)

sum#

sum menjumlahkan semua nilai dalam sebuah iterable, dengan nilai awal opsional.

Usage:
sum(sequence, start)

Parameter

Keterangan

sequence

Daftar, tuple, atau urutan lain yang berisi angka.

start

Opsional. Nilai yang akan ditambahkan ke jumlah total. Nilai default adalah 0.

def main():
    # Calculate the sum of a list of numbers
    sum_result = sum([1, 2, 3, 4, 5])
    console.print(sum_result)

# sum_result = 15

# Start threads — Do not delete
start_thread(main)

def main():
    # Calculate the sum of a list with a starting value of 10
    sum_with_start = sum([1, 2, 3], 10)
    console.print(sum_with_start)

# sum_with_start = 16

# Start threads — Do not delete
start_thread(main)

divmod#

divmod mengembalikan tuple yang berisi hasil bagi dan sisa dari operasi pembagian.

Usage:
divmod(a, b)

Parameter

Keterangan

a

Dividen.

b

Pembagi.

def main():
    # Perform integer division and remainder of 10 / 3
    divmod_result = divmod(10, 3)
    console.print(divmod_result)

# divmod_result = (3, 1)

# Start threads — Do not delete
start_thread(main)

pow#

pow memangkatkan suatu angka dan secara opsional melakukan operasi modulus.

Usage:
pow(x, y, mod)

Parameter

Keterangan

x

Angka dasar.

y

Eksponen.

mod

Opsional. Nilai modulus. Jika diberikan, mengembalikan (x ** y) % mod.

def main():
    # Calculate 2 raised to the power of 3
    pow_result = pow(2, 3)
    console.print(pow_result)

# pow_result = 8

# Start threads — Do not delete
start_thread(main)

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

x

Angka, string, atau objek lain yang akan dikonversi.

base

Opsional. Basis angka yang digunakan untuk konversi. Nilai default adalah 10.

def main():
    # Convert a float to an integer to get rid of decimals
    price = 19.99
    price_int = int(price)
    console.print("{} coins".format(price_int))

# Output: 19 coins

# Start threads — Do not delete
start_thread(main)

def main():
    # Convert a string into an integer to use in calculations
    user_input = "55"
    user_number = int(user_input)
    console.print(user_number * 2)

# Output: 110

# Start threads — Do not delete
start_thread(main)

float#

float mengubah angka atau string menjadi bilangan floating-point.

Usage:
float(x)

Parameter

Keterangan

x

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

def main():
    # Calculate the area of a circle with radius 5 using pi
    circle_area = math.pi * 5 * 5
    console.print(circle_area, precision=2)

# circle_area = 78.54

# Start threads — Do not delete
start_thread(main)

tau#

tau memberikan nilai 2π.

Usage:
math.tau

def main():
    # Calculate the circumference of a circle with radius
    circumference = math.tau * 5
    console.print(circumference, precision=2)

# circumference = 31.42

# Start threads — Do not delete
start_thread(main)

e#

e memberikan basis logaritma natural.

Usage:
math.e

def main():
    # Calculate e raised to the power of 2
    e_power = math.pow(math.e, 2)
    console.print(e_power, precision=2)

# e_power = 7.39

# Start threads — Do not delete
start_thread(main)

Trigonometry#

dosa#

sin menghitung sinus suatu sudut dalam radian dan mengembalikan nilai float.

Usage:
math.sin(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian.

def main():
    # Calculate the sine of 
    # 30 degrees in radians
    result = math.sin(math.radians(30))
    console.print(result, precision=2)

# result = 0.50

# Start threads — Do not delete
start_thread(main)

karena#

cos menghitung kosinus suatu sudut dalam radian dan mengembalikan nilai float.

Usage:
math.cos(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian.

def main():
    # Calculate the cosine of 
    # 60 degrees in radians
    result = math.cos(math.radians(60))
    console.print(result, precision=2)

# result = 0.50

# Start threads — Do not delete
start_thread(main)

cokelat muda#

tan menghitung tangen suatu sudut dalam radian dan mengembalikan bilangan bulat.

Usage:
math.tan(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian.

def main():
    # Calculate the tangent of 
    # 45 degrees in radians
    result = math.tan(math.radians(45))
    console.print(result)

# result = 1

# Start threads — Do not delete
start_thread(main)

asin#

asin menghitung invers sinus (arc sinus) dari suatu angka dan mengembalikan bilangan bulat yang mewakili sudut dalam radian.

Usage:
math.asin(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat antara -1 dan 1.

def main():
    # Calculate the arc sine 
    # of 0.5 in degrees
    result = math.degrees(math.asin(0.5))
    console.print(result)

# result = 30

# Start threads — Do not delete
start_thread(main)

acos#

acos menghitung kosinus invers (kosinus busur) dari suatu angka dan mengembalikan bilangan bulat yang mewakili sudut dalam radian.

Usage:
math.acos(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat antara -1 dan 1.

def main():
    # Calculate the arc cosine 
    # of 0.5 in degrees
    result = math.degrees(math.acos(0.5))
    console.print(result)

# result = 60

# Start threads — Do not delete
start_thread(main)

atan#

atan menghitung invers tangen (arc tangen) dari suatu angka dan mengembalikan bilangan bulat yang mewakili sudut dalam radian.

Usage:
math.atan(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat.

def main():
    # Calculate the arc tangent 
    # of 1 in degrees
    arc_tan = math.atan(1.0)
    result = math.degrees(arc_tan)
    console.print(result)

# result = 45

# Start threads — Do not delete
start_thread(main)

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

y

Bilangan floating point atau integer yang mewakili koordinat y.

x

Bilangan floating point atau integer yang mewakili koordinat x.

def main():
    # Calculate the inverse tangent 
    # of 1/1 in degrees
    atan2 = math.atan2(1.0, 1.0)
    result = math.degrees(atan2)
    console.print(result)

# result = 45

# Start threads — Do not delete
start_thread(main)

derajat#

degrees mengkonversi sudut dari radian ke derajat dan mengembalikan bilangan bulat.

Usage:
math.degrees(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang mewakili sudut dalam radian.

def main():
    # Convert pi radians to degrees
    degrees_result = math.degrees(math.pi)
    console.print(degrees_result)

# degrees_result = 180

# Start threads — Do not delete
start_thread(main)

radian#

radians mengubah sudut dari derajat ke radian.

Usage:
math.radians(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang mewakili sudut dalam derajat.

def main():
    # Convert 180 degrees to radians
    radians_result = math.radians(180)
    console.print(radians_result, precision=2)

# radians_result = 3.14

# Start threads — Do not delete
start_thread(main)

Rounding & Absolute Values#

langit-langit#

ceil membulatkan angka ke atas ke bilangan bulat terdekat.

Usage:
math.ceil(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang akan dibulatkan ke atas.

def main():
    # Round 3.7 up to the nearest integer
    ceil_result = math.ceil(3.7)
    console.print(ceil_result)

# ceil_result = 4

# Start threads — Do not delete
start_thread(main)

lantai#

floor membulatkan angka ke bawah ke bilangan bulat terdekat.

Usage:
math.floor(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat yang akan dibulatkan ke bawah.

def main():
    # Round 3.7 down to the nearest integer
    floor_result = math.floor(3.7)
    console.print(floor_result)

# floor_result = 3

# Start threads — Do not delete
start_thread(main)

memotong#

trunc menghilangkan bagian desimal dari suatu angka tanpa pembulatan.

Usage:
math.trunc(x)

Parameter

Keterangan

x

Angka desimal yang akan dipotong.

def main():
    # Remove the decimal part of 3.7
    trunc_result = math.trunc(3.7)
    console.print(trunc_result)

# trunc_result = 3

# Start threads — Do not delete
start_thread(main)

fabs#

fabs mengembalikan nilai absolut suatu angka sebagai bilangan float.

Usage:
math.fabs(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat.

def main():
    # Get the absolute value of -3.7
    fabs_result = math.fabs(-3.7)
    console.print(fabs_result, precision=1)

# fabs_result = 3.7

# Start threads — Do not delete
start_thread(main)

Exponents & Logarithms#

catatan#

log menghitung logaritma suatu angka dan mengembalikan nilai float.

Usage:
math.log(x, base)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat positif.

base

Opsional. Basis logaritma yang akan digunakan. Secara default, ini adalah logaritma natural.

def main():
    # Calculate the natural logarithm
    # (base e) of 7.389056
    log_result = math.log(7.389056)
    console.print(log_result)

# log_result = 2

# Start threads — Do not delete
start_thread(main)

def main():
    # Calculate the log base 2 of 8
    log_result = math.log(8, 2)
    console.print(log_result)

# log_result = 3

# Start threads — Do not delete
start_thread(main)

log10#

log10 menghitung logaritma basis 10 dari suatu angka dan mengembalikan nilai float.

Usage:
math.log10(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat positif.

def main():
    # Calculate the base-10 logarithm of 100
    log10_result = math.log10(100)
    console.print(log10_result)

# log10_result = 2

# Start threads — Do not delete
start_thread(main)

daya#

pow memangkatkan x dengan y dan mengembalikan nilai float, bahkan jika kedua inputnya adalah bilangan bulat.

Usage:
math.pow(x, y)

Parameter

Keterangan

x

Basis bilangan pecahan atau bilangan bulat.

y

Eksponen berupa bilangan pecahan atau bilangan bulat.

def main():
    # Calculate 2 raised to the power of 3
    power_result = math.pow(2, 3)
    console.print(power_result)

    # power_result = 8

# Start threads — Do not delete
start_thread(main)

akar kuadrat#

sqrt menghitung akar kuadrat dari suatu angka dan mengembalikan nilai float, bahkan untuk bilangan kuadrat sempurna.

Usage:
math.sqrt(x)

Parameter

Keterangan

x

Bilangan floating point atau integer non-negatif.

def main():
    # Calculate 2 raised to the power of 3
    power_result = math.pow(2, 3)
    console.print(power_result)

# power_result = 8

# Start threads — Do not delete
start_thread(main)

pengalaman#

exp menghitung eksponen dari suatu angka dan mengembalikan nilai float.

Usage:
math.exp(x)

Parameter

Keterangan

x

Bilangan desimal atau bilangan bulat.

def main():
    # Calculate e raised to the power of 1
    exp_result = math.exp(1)
    console.print(exp_result, precision=2)

# exp_result = 2.72

# Start threads — Do not delete
start_thread(main)

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

x

Bilangan desimal atau bilangan bulat yang akan diuraikan.

def main():
    # Decompose 3.14159 into fractional and integer parts
    fractional_part, integer_part = math.modf(3.14159)
    console.print(fractional_part, precision=2)
    console.new_line()
    console.print(integer_part)

# fractional_part = 0.14
# integer_part = 3

# Start threads — Do not delete
start_thread(main)

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

x

Bilangan desimal atau bilangan bulat yang akan diuraikan.

def main():
    # Decompose 16 into its mantissa and exponent
    mantissa, exponent = math.frexp(16)
    console.print(mantissa, precision=2)
    console.new_line()
    console.print(exponent)

# mantissa = 0.50
# exponent = 5

# Start threads — Do not delete
start_thread(main)

fmod#

fmod mengembalikan sisa pembagian sambil mempertahankan tanda dividen (x).

Usage:
math.fmod(x, y)

Parameter

Keterangan

x

Dividen.

y

Pembagi.

def main():
    # Calculate remainder of 10 / 3
    # that preserves the sign of 10
    fmod_result = math.fmod(10, 3)
    console.print(fmod_result)

# fmod_result = 1

# Start threads — Do not delete
start_thread(main)

tanda tangan hak cipta#

copysign mengembalikan x dengan tanda y.

Usage:
math.copysign(x, y)

Parameter

Keterangan

x

Nilai yang akan dimodifikasi.

y

Nilai yang tandanya akan disalin.

def main():
    # Return -10 with the sign of 3 (positive)
    copysign_result = math.copysign(-10, 3)
    console.print(copysign_result)

# copysign_result = 10

# Start threads — Do not delete
start_thread(main)

ldexp#

ldexp menghitung x * (2 ** exp), yang setara dengan x * 2exp.

Usage:
math.ldexp(x, exp)

Parameter

Keterangan

x

Nilai dasar.

exp

Eksponen.

def main():
    # Compute 3 * (2 ** 4)
    ldexp_result = math.ldexp(3, 4)
    console.print(ldexp_result)

# ldexp_result = 48

# Start threads — Do not delete
start_thread(main)