Matematik#
giriiş#
Matematik bölümü, hem Python’ın yerleşik fonksiyonlarını hem de VEXcode EXP’de otomatik olarak bulunan tam math modülünü içerir. Bu araçlar, temel aritmetikten gelişmiş trigonometriye, yuvarlamaya ve logaritmik işlemlere kadar her şeyi gerçekleştirmenizi sağlar.
Robotunuzun konumlarını, açılarını, mesafelerini ve diğer sayısal değerlerini hesaplamak için bu fonksiyonları ve sabitleri kullanın. Ayrıca derece ve radyan arasında dönüşüm yapabilir, ifadeleri değerlendirebilir ve sonsuzluk ve NaN gibi özel değerlerle çalışabilirsiniz.
Aşağıda mevcut matematiksel fonksiyonlar, sabitler ve yardımcı programların bir listesi bulunmaktadır:
Yerleşik Fonksiyonlar – Python ile birlikte gelen yaygın matematik araçları.
abs– Bir sayının mutlak değerini döndürür.round– Bir sayıyı belirtilen sayıda ondalık basamağa yuvarlar.min– Giriş değerlerinin en küçüğünü döndürür.max– Girdi değerlerinin en büyüğünü döndürür.sum– Yinelenebilir bir nesnedeki tüm değerleri toplar.divmod– Bölümü ve kalanı bir demet olarak döndürür.pow– Bir sayıyı, isteğe bağlı olarak modül ile birlikte bir kuvvete yükseltir.int– Bir değeri tam sayıya dönüştürür.float– Bir değeri ondalıklı sayıya dönüştürür.
Sabitler – math modülünden önceden tanımlanmış değerler.
Trigonometri – Açıları ve kenarlar arasındaki ilişkileri hesaplayın.
math.sin– Radyan cinsinden bir açının sinüsü.math.cos– Radyan cinsinden bir açının kosinüsü.math.tan– Radyan cinsinden bir açının tanjantı.math.atan– Radyan cinsinden bir değerin arktanjantı.math.atan2– Çeyrek bölgeyi dikkate alarak y/x’in radyan cinsinden arktanjantı.math.asin– Radyan cinsinden bir değerin arksinüsü.math.acos– Radyan cinsinden bir değerin arkkosinüsü.math.degrees– Radyanları dereceye dönüştürür.math.radians– Dereceleri radyanlara dönüştürür.
Yuvarlama ve Mutlak Değer – Hassasiyeti veya yönü ayarlayın.
math.ceil– En yakın tam sayıya yuvarlar.math.floor– En yakın tam sayıya yuvarlar.math.trunc– Ondalık kısmı kaldırır.math.fabs– Mutlak değeri ondalık sayı olarak döndürür.
Üslü Sayılar ve Logaritma – Kuvvet, kök ve logaritma hesaplamaları.
math.pow– Bir sayıyı bir kuvvete yükseltir.math.sqrt– Karekökünü döndürür.math.exp– e’nin x kuvvetini hesaplar.math.log– x’in logaritmasını hesaplayın.
Kayan Nokta İşlemleri – Kayan noktalı sayıları inceleyin veya ayrıştırın.
math.modf– Bir ondalık sayının kesirli ve tam sayı kısımlarını döndürür.math.frexp– Bir sayıyı mantis ve üsse ayırır.math.fmod– Bölünenin işaretiyle kalan.math.copysign– Başka bir değerin işaretiyle bir değer döndürür.math.ldexp–x * (2 ** exp)hesaplar.
Dahili Fonksiyonlar#
Python, projeniz içinde matematiksel işlemler gerçekleştirmenize olanak tanıyan çeşitli yerleşik fonksiyonlar sunar.
abs#
abs bir sayının mutlak değerini, negatif işareti kaldırarak döndürür.
Usage:
abs(x)
Parametre |
Tanım |
|---|---|
|
Bir tamsayı veya ondalık sayı. |
# Get the absolute value of -10
abs_result = abs(-10)
brain.screen.print(abs_result)
# abs_result = 10
round#
round…
Usage:
round(x, ndigits)
Parametre |
Tanım |
|---|---|
|
Bir tamsayı veya ondalık sayı. |
|
İsteğe bağlı. Yuvarlama için ondalık basamak sayısı. Varsayılan değer 0’dır. |
# 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 birden fazla argümandan veya yinelenebilir bir nesneden en küçük değeri döndürür.
Usage:
min(arg1, arg2, …) or min(sequence)
Parametre |
Tanım |
|---|---|
|
Karşılaştırılacak sayılar. |
|
Sayılar içeren bir liste, demet veya başka bir dizi. |
# 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 birden fazla argümandan veya yinelenebilir bir nesneden en büyük değeri döndürür.
Usage:
max(arg1, arg2, …) or max(sequence)
Parametre |
Tanım |
|---|---|
|
Karşılaştırılacak sayılar. |
|
Sayılar içeren bir liste, demet veya başka bir dizi. |
# 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 isteğe bağlı bir başlangıç değeriyle, yinelenebilir bir nesnedeki tüm değerleri toplar.
Usage:
sum(sequence, start)
Parametre |
Tanım |
|---|---|
|
Sayılar içeren bir liste, demet veya başka bir dizi. |
|
İsteğe bağlı. Toplama eklenecek değer. Varsayılan değer 0’dır. |
# 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 bir bölme işleminin bölümünü ve kalanını içeren bir demet döndürür.
Usage:
divmod(a, b)
Parametre |
Tanım |
|---|---|
|
Temettü. |
|
Bölücü. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.screen.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow bir sayıyı bir kuvvete yükseltir ve isteğe bağlı olarak modül işlemi gerçekleştirir.
Usage:
pow(x, y, mod)
Parametre |
Tanım |
|---|---|
|
Taban sayısı. |
|
Üs. |
|
İsteğe bağlı. Bir modül değeri. Sağlanırsa, |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.screen.print(pow_result)
# pow_result = 8
int#
int , bir sayıyı veya dizeyi tamsayıya dönüştürür. Ayrıca, dizeden dönüştürme yaparken taban dönüştürmeyi de destekler.
Usage:
int(x, base)
Parametre |
Tanım |
|---|---|
|
Dönüştürülecek sayı, dize veya başka bir nesne. |
|
İsteğe bağlı. Dönüştürme için kullanılacak sayı tabanı. Varsayılan değer 10’dur. |
# 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 , bir sayıyı veya dizeyi ondalıklı sayıya dönüştürür.
Usage:
float(x)
Parametre |
Tanım |
|---|---|
|
Dönüştürülecek sayı, dize veya başka bir nesne. |
# 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
Matematik Modülü#
MicroPython’daki math modülü, yaygın matematiksel hesaplamaları gerçekleştirmek için ek yöntemler sunar. Bu yöntemler arasında trigonometrik, logaritmik ve diğer sayısal işlemler bulunur.
VEXcode’da math modülü varsayılan olarak içe aktarılır.
Constants#
Sabitler, bir proje boyunca sabit kalan önceden tanımlanmış değerlerdir. Herhangi bir tanımlama veya atama gerektirmeden hesaplamalarda kullanılabilirler.
pi#
pi , bir dairenin çevresinin çapına oranını veren matematiksel sabit π’yi verir.
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 doğal logaritmanın tabanını verir.
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#
günah#
sin , radyan cinsinden bir açının sinüsünü hesaplar ve ondalık sayı döndürür.
Usage:
math.sin(x)
Parametre |
Tanım |
|---|---|
|
Radyan cinsinden açıyı temsil eden ondalık sayı veya tam sayı. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.screen.print(result, precision=2)
# result = 0.50
cos#
cos , radyan cinsinden bir açının kosinüsünü hesaplar ve ondalık sayı döndürür.
Usage:
math.cos(x)
Parametre |
Tanım |
|---|---|
|
Radyan cinsinden açıyı temsil eden ondalık sayı veya tam sayı. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.screen.print(result, precision=2)
# result = 0.50
bronz#
tan , radyan cinsinden bir açının tanjantını hesaplar ve ondalık sayı döndürür.
Usage:
math.tan(x)
Parametre |
Tanım |
|---|---|
|
Radyan cinsinden açıyı temsil eden ondalık sayı veya tam sayı. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.screen.print(result)
# result = 1.00
asin#
asin bir sayının ters sinüsünü (ark sinüsünü) hesaplar ve radyan cinsinden açıyı temsil eden bir ondalık sayı döndürür.
Usage:
math.asin(x)
Parametre |
Tanım |
|---|---|
|
-1 ile 1 arasında bir ondalık sayı veya tam sayı. |
# 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 bir sayının ters kosinüsünü (ark kosinüsünü) hesaplar ve radyan cinsinden açıyı temsil eden bir ondalık sayı döndürür.
Usage:
math.acos(x)
Parametre |
Tanım |
|---|---|
|
-1 ile 1 arasında bir ondalık sayı veya tam sayı. |
# 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 bir sayının ters tanjantını (arktanjantını) hesaplar ve radyan cinsinden açıyı temsil eden bir ondalık sayı döndürür.
Usage:
math.atan(x)
Parametre |
Tanım |
|---|---|
|
Ondalık sayı veya tam sayı. |
# 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 y/x’in ters tanjantının esas değerini hesaplar ve radyan cinsinden açıyı temsil eden bir ondalık sayı döndürür.
Usage:
math.atan2(y, x)
Parametre |
Tanım |
|---|---|
|
Y koordinatını temsil eden ondalık sayı veya tam sayı. |
|
X koordinatını temsil eden ondalık sayı veya tam sayı. |
# 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
dereceler#
degrees , bir açıyı radyan cinsinden dereceye dönüştürür ve ondalık sayı döndürür.
Usage:
math.degrees(x)
Parametre |
Tanım |
|---|---|
|
Radyan cinsinden açıyı temsil eden ondalık sayı veya tam sayı. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.screen.print(degrees_result)
# degrees_result = 180.00
radyanlar#
radians bir açıyı dereceden radyana ondalık sayı olarak dönüştürür.
Usage:
math.radians(x)
Parametre |
Tanım |
|---|---|
|
Açı değerini derece cinsinden temsil eden ondalık sayı veya tam sayı. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.screen.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
tavan#
ceil bir sayıyı en yakın tam sayıya yuvarlar.
Usage:
math.ceil(x)
Parametre |
Tanım |
|---|---|
|
Yukarı yuvarlanacak ondalık sayı veya tam sayı. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.screen.print(ceil_result)
# ceil_result = 4
zemin#
floor basamak, bir sayıyı en yakın tam sayıya yuvarlar.
Usage:
math.floor(x)
Parametre |
Tanım |
|---|---|
|
Aşağı yuvarlanacak ondalık sayı veya tam sayı. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.screen.print(floor_result)
# floor_result = 3
kesik#
trunc yuvarlama yapmadan sayının ondalık kısmını kaldırır.
Usage:
math.trunc(x)
Parametre |
Tanım |
|---|---|
|
Kesilecek bir kayan nokta. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.screen.print(trunc_result)
# trunc_result = 3
fabrikalar#
fabs , bir sayının mutlak değerini ondalık sayı olarak döndürür.
Usage:
math.fabs(x)
Parametre |
Tanım |
|---|---|
|
Ondalık sayı veya tam sayı. |
# 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#
kayıt#
log , bir sayının logaritmasını hesaplar ve ondalık sayı döndürür.
Usage:
math.log(x, base)
Parametre |
Tanım |
|---|---|
|
Pozitif bir ondalık sayı veya tam sayı. |
|
İsteğe bağlı. Kullanılacak logaritma tabanı. Varsayılan olarak bu, doğal logaritmadır. |
# 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
güç#
pow ifadesi, x’i y kuvvetine yükseltir ve her iki girdi de tamsayı olsa bile ondalık sayı döndürür.
Usage:
math.pow(x, y)
Parametre |
Tanım |
|---|---|
|
Kayan noktalı veya tam sayı tabanı. |
|
Ondalık sayı veya tam sayı üs. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.screen.print(power_result)
# power_result = 8.00
karekök#
sqrt , bir sayının karekökünü hesaplar ve tam kareler için bile ondalık sayı döndürür.
Usage:
math.sqrt(x)
Parametre |
Tanım |
|---|---|
|
Negatif olmayan bir ondalık sayı veya tam sayı. |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.screen.print(square_root)
# square_root = 4.00
deneyim#
exp , bir sayının üssünü hesaplar ve ondalık sayı döndürür.
Usage:
math.exp(x)
Parametre |
Tanım |
|---|---|
|
Ondalık sayı veya tam sayı. |
# 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 bir sayıyı kesirli ve tam sayı kısımlarına ayırır ve her ikisi de ondalık sayı olan bir (fractional part, integer part)döndürür.
Usage:
math.modf(x)
Parametre |
Tanım |
|---|---|
|
Ayrıştırılacak bir ondalık sayı veya tam sayı. |
# 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 bir sayıyı mantis ve üs bileşenlerine ayırır ve mantisin ondalık sayı, üssün ise tam sayı olduğu bir (mantissa, exponent)döndürür.
Usage:
math.frexp(x)
Parametre |
Tanım |
|---|---|
|
Ayrıştırılacak bir ondalık sayı veya tam sayı. |
# 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 bölünenin işaretini koruyarak bölme işleminden kalanını döndürür (x).
Usage:
math.fmod(x, y)
Parametre |
Tanım |
|---|---|
|
Temettü. |
|
Bölücü. |
# 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
copysign#
copysign returns x with the sign of y.
Usage:
math.copysign(x, y)
Parametre |
Tanım |
|---|---|
|
Değiştirilecek değer. |
|
İşareti kopyalanacak olan değer. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.screen.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp x * (2 ** exp)ifadesini hesaplar; bu da x * 2exp ifadesine eşdeğerdir.
Usage:
math.ldexp(x, exp)
Parametre |
Tanım |
|---|---|
|
Temel değer. |
|
Üs. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.screen.print(ldexp_result)
# ldexp_result = 48