数学#

介绍#

The C++ standard library provides basic math functionality through {code}, which is supported in VEXcode V5. These functions let you perform common mathematical operations such as trigonometry, rounding, exponentiation, and more.

可以用它们来计算位置、角度、距离,或者进行角度和弧度之间的转换。

以下是可用的数学函数、常量和实用程序列表:

常用数学函数——常用数学工具。

  • abs – Returns the absolute value of a number.

  • fmin – Returns the smallest of the input values.

  • fmax – Returns the largest of the input values.

  • pow – Raises a number to a power.

Constants – Predefined values from {code}.

  • M_PI – The constant π (pi).

  • M_E – Euler’s number, base of the natural log.

三角学——计算角度和边之间的关系。

  • sin – Sine of an angle in radians.

  • cos – Cosine of an angle in radians.

  • tan – Tangent of an angle in radians.

  • atan – Arctangent of a value in radians.

  • atan2 – Arctangent of y/x in radians, considering the quadrant.

  • asin – Arcsine of a value in radians.

  • acos – Arccosine of a value in radians.

舍入与绝对值 – 调整精度或方向。

  • ceil – Rounds up to the nearest integer.

  • floor – Rounds down to the nearest integer.

  • trunc – Removes the decimal portion.

指数与对数——幂、根和对数计算。

  • sqrt – Returns the square root.

  • exp – Calculates e to the power of x.

  • log – Natural logarithm (base e).

  • log10 – Base-10 logarithm.

浮点运算——检查或分解浮点值。

  • fmod – Remainder with sign of the dividend.

  • copysign – Returns a value with the sign of another.

常用数学函数#

abs#

Returns the absolute value of a number, removing any negative sign.

Available Functions

1 Returns the absolute value of an integer.

int abs( int x );

2 Returns the absolute value of a double.

double abs( double x );

Parameters

范围

Type

描述

x

int or double

An integer or double.

Return Values

Returns the absolute value of the input as the same type.

Examples
// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));

// Output: 10

fmin#

Returns the lower of two values as a double.

Available Functions
double fmin( double value1, double value2 );

Parameters

范围

Type

描述

value1

double

首先要比较的值。

value2

double

第二个要比较的值。

Return Values

Returns a double representing the smaller of the two input values.

Examples
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));

// Output: 4.000000

fmax#

Returns the higher of two values as a double.

Available Functions
double fmax( double value1, double value2 );

Parameters

范围

Type

描述

value1

double

首先要比较的值。

value2

double

第二个要比较的值。

Return Values

Returns a double representing the larger of the two input values.

Examples
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));

// Output: 7.000000

pow#

Returns a number raised to a power as a double.

Available Functions
double pow( double base, double exponent );

Parameters

范围

Type

描述

base

double

基数。

exponent

double

指数。

Return Values

Returns a double representing the base raised to the power of the exponent.

Examples
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));

// Output: 8.000000

常量#

常量是预先定义好的值,在项目过程中保持不变。它们可以直接用于计算,无需任何定义或赋值。

M_PI#

M_PI gives the mathematical constant π, the ratio of a circle’s circumference to its diameter.

Available Constants
const double M_PI;

Parameters

This constant does not have parameters.

Return Values

Returns the mathematical constant π as a double.

Examples
// 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#

The mathematical constant e (Euler’s number), the base of the natural logarithm.

Available Constants
const double M_E;

Parameters

This constant does not have parameters.

Return Values

Returns the mathematical constant e as a double.

Examples
// Calculate e raised to the power of 2
double result = pow(M_E, 2);

Brain.Screen.print("%f", result);  

// Output: 7.389056

三角学#

sin#

Calculates the sine of an angle in radians and returns a double.

Available Functions
double sin( double x );

Parameters

范围

Type

描述

x

double

A double representing an angle in radians.

Return Values

Returns a double representing the sine of the angle.

Examples
// 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#

Calculates the cosine of an angle in radians and returns a double.

Available Functions
double cos( double x );

Parameters

范围

Type

描述

x

double

A double representing an angle in radians.

Return Values

Returns a double representing the cosine of the angle.

Examples
// 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#

Calculates the tangent of an angle in radians and returns a double.

Available Functions
double tan( double x );

Parameters

范围

Type

描述

x

double

A double representing an angle in radians.

Return Values

Returns a double representing the tangent of the angle.

Examples
// 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#

Calculates the inverse tangent (arc tangent) of a number and returns a double representing the angle in radians.

Available Functions
double atan( double x );

Parameters

范围

Type

描述

x

double

A double value.

Return Values

Returns a double representing the arc tangent in radians.

Examples
// 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#

Calculates the principal value of the inverse tangent of y/x and returns a double representing the angle in radians.

Available Functions
double atan2( double y, double x );

Parameters

范围

Type

描述

y

double

A double representing the y-coordinate.

x

double

A double representing the x-coordinate.

Return Values

Returns a double representing the arc tangent of y/x in radians.

Examples
// 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#

Calculates the inverse sine (arc sine) of a number and returns a double representing the angle in radians.

Available Functions
double asin( double x );

Parameters

范围

Type

描述

x

double

A double between -1 and 1.

Return Values

Returns a double representing the arc sine in radians.

Examples
// 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#

Calculates the inverse cosine (arc cosine) of a number and returns a double representing the angle in radians.

Available Functions
double acos( double x );

Parameters

范围

Type

描述

x

double

A double between -1 and 1.

Return Values

Returns a double representing the arc cosine in radians.

Examples
// 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#

Returns a number rounded up as a double.

Available Functions
double ceil( double x );

Parameters

范围

Type

描述

x

double

A double to be rounded up.

Return Values

Returns a double representing the smallest integer greater than or equal to x.

Examples
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));

// Output: 10.000000

floor#

Returns a number rounded down as a double.

Available Functions
double floor( double x );

Parameters

范围

Type

描述

x

double

A double to be rounded down.

Return Values

Returns a double representing the largest integer less than or equal to x.

Examples
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));

// Output: 9.000000

trunc#

Returns a number as a double, with its decimal portion set to zero.

Available Functions
double trunc( double x );

Parameters

范围

Type

描述

x

double

A double to be truncated.

Return Values

Returns a double with the decimal portion removed.

Examples
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));

// Output: 9.000000

指数与对数#

sqrt#

Returns the square root of a number as a float.

Available Functions
double sqrt( double x );

Parameters

范围

Type

描述

x

double

A non-negative double.

Return Values

Returns a double representing the square root of x.

Examples
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));

// Output: 11.000000

exp#

Calculates the exponential of a number and returns a float.

Available Functions
double exp( double x );

Parameters

范围

Type

描述

x

double

A double to calculate the exponential of.

Return Values

Returns a double representing e raised to the power of x.

Examples
// Calculate e raised to the power of 1
double result = exp(1);

Brain.Screen.print("%f", result);
  
// Output: 2.718282

log#

Calculates the natural logarithm of a number and returns a float.

Available Functions
double log( double x );

Parameters

范围

Type

描述

x

double

A positive double.

Return Values

Returns a double representing the natural logarithm of x.

Examples
// Calculate the natural logarithm (base e) of e
double result = log(M_E);

Brain.Screen.print("%f", result);  
  
// Output: 1.000000

log10#

Calculates the base-10 logarithm of a number and returns a float.

Available Functions
double log10( double x );

Parameters

范围

Type

描述

x

double

A positive double.

Return Values

Returns a double representing the base-10 logarithm of x.

Examples
// Calculate the base-10 logarithm of 1000
double result = log10(1000);

Brain.Screen.print("%f", result);  
  
// Output: 3.000000

浮点运算#

fmod#

Returns the remainder of division while keeping the sign of the dividend.

Available Functions
double fmod( double x, double y );

Parameters

范围

Type

描述

x

double

分红。

y

double

除数。

Return Values

Returns a double representing the remainder of x/y with the sign of x.

Examples
// 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#

Returns a number with the magnitude of x and the sign of y.

Available Functions
double copysign( double x, double y );

Parameters

范围

Type

描述

x

double

The value whose magnitude will be used.

y

double

The value whose sign will be used.

Return Values

Returns a double with the magnitude of x and the sign of y.

Examples
// Return-10 with the sign of -3 (negative)
double result = copysign(10, -3);

Brain.Screen.print("%f", result);  
  
// Output: -10.000000