คณิตศาสตร์#
การแนะนำ#
ไลบรารีมาตรฐานของ C++ มีฟังก์ชันทางคณิตศาสตร์พื้นฐานผ่านทาง <cmath>ซึ่งได้รับการสนับสนุนใน VEXcode V5 ฟังก์ชันเหล่านี้ช่วยให้คุณสามารถดำเนินการทางคณิตศาสตร์ทั่วไป เช่น ตรีโกณมิติ การปัดเศษ การยกกำลัง และอื่นๆ
ใช้หน่วยเหล่านี้ในการคำนวณตำแหน่ง มุม ระยะทาง หรือทำการแปลงหน่วยระหว่างองศาและเรเดียน
ด้านล่างนี้คือรายการฟังก์ชันทางคณิตศาสตร์ ค่าคงที่ และเครื่องมืออำนวยความสะดวกที่มีให้ใช้งาน:
ฟังก์ชันทางคณิตศาสตร์พื้นฐาน – เครื่องมือทางคณิตศาสตร์ที่ใช้กันทั่วไป
abs– ส่งคืนค่าสัมบูรณ์ของตัวเลขfmin– ส่งคืนค่าที่น้อยที่สุดของค่าอินพุตfmax– ส่งคืนค่าที่มากที่สุดของค่าที่ป้อนเข้ามาpow– ยกกำลังจำนวนหนึ่ง
ค่าคงที่ – ค่าที่กำหนดไว้ล่วงหน้าตั้งแต่ <cmath>
ตรีโกณมิติ – การคำนวณมุมและความสัมพันธ์ระหว่างด้านต่างๆ
sin– ค่าไซน์ของมุมในหน่วยเรเดียนcos– โคไซน์ของมุมในหน่วยเรเดียนtan– ค่าแทนเจนต์ของมุมในหน่วยเรเดียนatan– อาร์คแทงเจนต์ของค่าในหน่วยเรเดียนatan2– อาร์คแทงเจนต์ของ y/x ในหน่วยเรเดียน โดยพิจารณาควอดแรนต์asin– ค่าอาร์คไซน์ของค่าในหน่วยเรเดียนacos– อาร์คโคไซน์ของค่าในหน่วยเรเดียน
การปัดเศษและค่าสัมบูรณ์ – ปรับความแม่นยำหรือทิศทาง
ceil– ปัดเศษขึ้นเป็นจำนวนเต็มที่ใกล้ที่สุดfloor– ปัดลงเป็นจำนวนเต็มที่ใกล้ที่สุดtrunc– ลบส่วนทศนิยมออก
เลขยกกำลังและลอการิทึม – การยกกำลัง ราก และการคำนวณลอการิทึม
sqrt– ส่งคืนค่ารากที่สองexp– คำนวณ e ยกกำลัง xlog– ลอการิทึมธรรมชาติ (ฐาน 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#
ส่งคืนค่าที่ต่ำกว่าระหว่างสองค่าในรูปแบบทศนิยม (double)
Available Functionsdouble fmin( double value1, double value2 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าแรกที่จะนำมาเปรียบเทียบ |
|
|
ค่าที่สองที่จะนำมาเปรียบเทียบ |
ส่งคืนค่า double double ซึ่งแทนค่าที่น้อยกว่าของค่าอินพุตทั้งสองค่า
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
ส่งคืนค่าที่สูงกว่าระหว่างสองค่าในรูปแบบทศนิยม (double)
Available Functionsdouble fmax( double value1, double value2 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าแรกที่จะนำมาเปรียบเทียบ |
|
|
ค่าที่สองที่จะนำมาเปรียบเทียบ |
ส่งคืนค่า double 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 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 double
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
ตรีโกณมิติ#
sin#
คำนวณค่าไซน์ของมุมในหน่วยเรเดียนและส่งคืนค่าทศนิยม (double)
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#
คำนวณค่าโคไซน์ของมุมในหน่วยเรเดียนและส่งคืนค่าทศนิยม (double)
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#
คำนวณค่าแทนเจนต์ของมุมในหน่วยเรเดียนและส่งคืนค่าทศนิยม (double)
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 ซึ่งแสดงค่า arc sine ในหน่วยเรเดียน
// 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 ซึ่งแทนค่า arc cosine ในหน่วยเรเดียน
// 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#
ส่งคืนค่าตัวเลขที่ปัดขึ้นเป็นค่าทศนิยม (double)
Available Functionsdouble ceil( double x );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
เป็นเลขคู่ที่ต้องปัดเศษขึ้น |
ส่งคืนค่า double ซึ่งแทนจำนวนเต็มที่เล็กที่สุดที่มากกว่าหรือเท่ากับ x
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
ส่งคืนค่าตัวเลขที่ปัดลงเป็นค่าทศนิยม (double)
Available Functionsdouble floor( double x );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
เลขคู่ที่ต้องปัดลง |
ส่งคืนค่า double ซึ่งแทนจำนวนเต็มที่มากที่สุดที่น้อยกว่าหรือเท่ากับ x
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
ส่งคืนค่าตัวเลขในรูปแบบ double โดยตั้งค่าส่วนทศนิยมเป็นศูนย์
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 ซึ่งแทนค่าลอการิทึมฐาน 10 ของ x
// 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