若P(2,3cot60°)是锐角三角函数练习题Q的终...

C H A P T E R
2 - Fortran 95 Intrinsic Functions
C H A P T E R
Fortran 95 Intrinsic Functions
This chapter lists the intrinsic function names recognized by the f95 compiler.
The generic Fortran 95 intrinsic functions are grouped in this section by functionality as they appear in the Fortran 95 standard.
The arguments shown are the names that can be used as argument keywords when using the keyword form, as in cmplx(Y=B, KIND=M, X=A).
Consult the Fortran 95 standard for the detailed specifications of these generic intrinsic procedures.
Argument presence
Absolute value
Imaginary part of a complex number
Truncation to whole number
ANINT (A [, KIND])
Nearest whole number
CEILING (A
Least integer greater than or equal to number
CMPLX (X [, Y, KIND])
Conversion to complex type
Conjugate of a complex number
Conversion to double precision real type
DIM (X, Y)
Positive difference
DPROD (X, Y)
Double precision real product
Greatest integer less than or equal to number
INT (A [, KIND])
Conversion to integer type
MAX (A1, A2 [, A3,...])
Maximum value
MIN (A1, A2 [, A3,...])
Minimum value
MOD (A, P)
Remainder function
MODULO (A, P)
Modulo function
NINT (A [, KIND])
Nearest integer
REAL (A [, KIND])
Conversion to real type
SIGN (A, B)
Transfer of sign
Arctangent
ATAN2 (Y, X)
Arctangent
Hyperbolic cosine
Exponential
Natural logarithm
Common logarithm (base 10)
Hyperbolic sine
Square root
Hyperbolic tangent
Character in given position in ASCII collating sequence
ADJUSTL (STRING)
Adjust left
ADJUSTR (STRING)
Adjust right
CHAR (I [, KIND])
Character in given position in processor collating sequence
IACHAR (C)
Position of a character in ASCII collating sequence
Position of a character in processor collating sequence
INDEX (STRING, SUBSTRING [, BACK])
Starting position of a substring
LEN_TRIM (STRING)
Length without trailing blank characters
LGE (STRING_A, STRING_B)
Lexically greater than or equal
LGT (STRING_A, STRING_B)
Lexically greater than
LLE (STRING_A, STRING_B)
Lexically less than or equal
LLT (STRING_A, STRING_B)
Lexically less than
REPEAT (STRING, NCOPIES)
Repeated concatenation
SCAN (STRING, SET [, BACK])
Scan a string for a character in a set
TRIM (STRING)
Remove trailing blank characters
VERIFY (STRING, SET [, BACK])
Verify the set of characters in a string
LEN (STRING)
Length of a character entity
Kind type parameter value
SELECTED_INT_KIND (R)
Integer kind type parameter value, given range
SELECTED_REAL_KIND ([P, R])
Real kind type parameter value, given precision and range
LOGICAL (L [, KIND])
Convert between objects of type logical with different kind type parameters
DIGITS (X)
Number of significant digits of the model
EPSILON (X)
Number that is almost negligible compared to one
Largest number of the model
MAXEXPONENT (X)
Maximum exponent of the model
MINEXPONENT (X)
Minimum exponent of the model
PRECISION (X)
Decimal precision
Base of the model
Decimal exponent range
Smallest positive number of the model
BIT_SIZE (I)
Number of bits of the model
BTEST (I, POS)
Bit testing
IAND (I, J)
Logical AND
IBCLR (I, POS)
IBITS (I, POS, LEN)
Bit extraction
IBSET (I, POS)
IEOR (I, J)
Exclusive OR
IOR (I, J)
Inclusive OR
ISHFT (I, SHIFT)
Logical shift
ISHFTC (I, SHIFT [, SIZE])
Circular shift
Logical complement
TRANSFER (SOURCE, MOLD [, SIZE])
Treat first argument as if of type of second argument
EXPONENT (X)
Exponent part of a model number
FRACTION (X)
Fractional part of a number
NEAREST (X, S)
Nearest different processor number in given direction
RRSPACING (X)
Reciprocal of the relative spacing of model numbers near given number
SCALE (X, I)
Multiply a real by its base to an integer power
SET_EXPONENT (X, I)
Set exponent part of a number
SPACING (X)
Absolute spacing of model numbers near given number
DOT_PRODUCT (VECTOR_A, VECTOR_B)
Dot product of two rank-one arrays
MATMUL (MATRIX_A, MATRIX_B)
Matrix multiplication
ALL (MASK [, DIM])
True if all values are true
ANY (MASK [, DIM])
True if any value is true
COUNT (MASK [, DIM])
Number of true elements in an array
MAXVAL (ARRAY, DIM [, MASK])
or MAXVAL (ARRAY [, MASK])
Maximum value in an array
MINVAL (ARRAY, DIM [, MASK])
or MINVAL (ARRAY [, MASK])
Minimum value in an array
PRODUCT (ARRAY, DIM [, MASK])
or PRODUCT (ARRAY [, MASK])
Product of array elements
SUM (ARRAY, DIM [, MASK])
or SUM (ARRAY [, MASK])
Sum of array elements
ALLOCATED (ARRAY)
Array allocation status
LBOUND (ARRAY [, DIM])
Lower dimension bounds of an array
SHAPE (SOURCE)
Shape of an array or scalar
SIZE (ARRAY [, DIM])
Total number of elements in an array
UBOUND (ARRAY [, DIM])
Upper dimension bounds of an array
MERGE (TSOURCE, FSOURCE, MASK)
Merge under mask
PACK (ARRAY, MASK [, VECTOR])
Pack an array into an array of rank one under a mask
SPREAD (SOURCE, DIM, NCOPIES)
Replicates array by adding a dimension
UNPACK (VECTOR, MASK, FIELD)
Unpack an array of rank one into an array under a mask
RESHAPE (SOURCE, SHAPE[, PAD, ORDER])
Reshape an array
CSHIFT (ARRAY, SHIFT [, DIM])
Circular shift
EOSHIFT (ARRAY, SHIFT [, BOUNDARY, DIM]
End-off shift
TRANSPOSE (MATRIX)
Transpose of an array of rank two
MAXLOC (ARRAY, DIM [, MASK])
or MAXLOC (ARRAY [, MASK])
Location of a maximum value in an array
MINLOC (ARRAY, DIM [, MASK])
or MINLOC (ARRAY [, MASK])
Location of a minimum value in an array
ASSOCIATED (POINTER [, TARGET])
Association status inquiry or comparison
NULL ([MOLD])
Returns disassociated pointer
COMMAND_ARGUMENT_COUNT ()
Returns number of command arguments
GET_COMMAND ([COMMAND, LENGTH,
Returns entire command that invoked the program
GET_COMMAND_ARGUMENT (NUMBER [,
VALUE, LENGTH, STATUS])
Returns a command argument
GET_ENVIRONMENT_VARIABLE (NAME [,
VALUE, LENGTH, STATUS,
TRIM_NAME])
Obtain the value of an environment variable.
CPU_TIME (TIME)
Obtain processor time
DATE_AND_TIME ([DATE, TIME,
ZONE, VALUES])
Obtain date and time
MVBITS (FROM, FROMPOS,
LEN, TO, TOPOS)
Copies bits from one integer to another
RANDOM_NUMBER (HARVEST)
Returns pseudorandom number
RANDOM_SEED ([SIZE, PUT, GET])
Initializes or restarts the pseudorandom number generator
SYSTEM_CLOCK ([COUNT,
COUNT_RATE, COUNT_MAX])
Obtain data from the system clock
Specific and Generic Names for Fortran 95 Intrinsic Functions
default real
default real
default complex
default real
default real
ALOG10 (X)
default real
AMAX0 (A1, A2 [, A3,...])
REAL (MAX (A1, A2 [, A3,...]))
default integer
AMAX1 (A1, A2 [, A3,...])
MAX (A1, A2 [, A3,...])
default real
AMIN0 (A1, A2 [, A3,...])
REAL (MIN (A1, A2 [, A3,...]))
default integer
AMIN1 (A1, A2 [, A3,...])
MIN (A1, A2 [, A3,...])
default real
AMOD (A, P)
MOD (A, P)
default real
default real
default real
default real
ATAN2 (Y, X)
ATAN2 (Y, X)
default real
default complex
default complex
default complex
default integer
default complex
default complex
default real
default real
default complex
default complex
double precision
double precision
double precision
double precision
DATAN2 (Y, X)
ATAN2 (Y, X)
double precision
double precision
double precision
DDIM (X, Y)
DIM (X, Y)
double precision
double precision
DIM (X, Y)
DIM (X, Y)
default real
double precision
double precision
DLOG10 (X)
double precision
DMAX1 (A1, A2 [, A3,...])
MAX (A1, A2 [, A3,...])
double precision
DMIN1 (A1, A2 [, A3,...])
MIN (A1, A2 [, A3,...])
double precision
DMOD (A, P)
MOD (A, P)
double precision
double precision
DPROD (X, Y)
DPROD (X, Y)
default real
DSIGN (A, B)
SIGN (A, B)
double precision
double precision
double precision
double precision
double precision
double precision
default real
default integer
default integer
default character
IDIM (X, Y)
DIM (X, Y)
default integer
double precision
IDNINT (A)
double precision
default real
INDEX (STRING, SUBSTRING)
INDEX (STRING, SUBSTRING)
default character
default real
ISIGN (A, B)
SIGN (A, B)
default integer
LEN (STRING)
LEN (STRING)
default character
LGE (STRING_A, STRING_B)
LGE (STRING_A, STRING_B)
default character
LGT (STRING_A, STRING_B)
LGT (STRING_A, STRING_B)
default character
LLE (STRING_A, STRING_B)
LLE (STRING_A, STRING_B)
default character
LLT (STRING_A, STRING_B)
LLT (STRING_A, STRING_B)
default character
MAX0 (A1, A2 [, A3,...])
MAX (A1, A2 [, A3,...])
default integer
MAX1 (A1, A2 [, A3,...])
INT (MAX (A1, A2 [, A3,...]))
default real
MIN0 (A1, A2 [, A3,...])
MIN (A1, A2 [, A3,...])
default integer
MIN1 (A1, A2 [, A3,...])
INT (MIN (A1, A2 [, A3,...]))
default real
MOD (A, P)
MOD (A, P)
default integer
default real
default integer
SIGN (A, B)
SIGN (A, B)
default real
default real
default real
double precision
default real
default real
default real
Functions marked with # cannot be used as an actual argument.
&double precision& means double-precision real.
The Fortran 2000 draft standard provides a set of intrinsic modules that define features to support IEEE arithmetic and interoperability with the C language. These modules define new functions and subroutines, and are implemented in the Sun Studio 8 Fortran 95 compiler.
The Fortran 2000 draft standard intrinsic modules IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and IEEE_FEATURES to support new features in the proposed language standard to support IEEE arithmetic and IEEE exception handling.
The draft standard defines a set of inquiry functions, elemental functions, kind functions, elemental subroutines, and nonelemental subroutines. These are listed in the tables that follow.
To access these functions and subroutines, the calling routine must include
USE, INTRINSIC :: IEEE_ARITHMETIC, IEEE_EXCEPTIONS
See Chapter 14 of the draft standard () for details.
The module IEEE_EXCEPTIONS contains the following inquiry functions.
IEEE_SUPPORT_FLAG(FLAG[,X])
Inquire whether the processor supports an exception.
IEEE_SUPPORT_HALTING(FLAG)
Inquire whether the processor supports control of halting after an exception.
The module IEEE_ARITHMETIC contains the following inquiry functions.
IEEE_SUPPORT_DATATYPE([X])
Inquire whether the processor supports IEEE arithmetic.
IEEE_SUPPORT_DENORMAL([X])
Inquire whether the processor supports denormalized numbers.
IEEE_SUPPORT_DIVIDE([X])
Inquire whether the processor supports divide with the accuracy specified by the IEEE standard.
IEEE_SUPPORT_INF([X])
Inquire whether the processor supports the IEEE infinity.
IEEE_SUPPORT_IO([X])
Inquire whether the processor supports IEEE base conversion rounding during formatted input/output.
IEEE_SUPPORT_NAN([X])
Inquire whether the processor supports the IEEE Not-a-Number.
IEEE_SUPPORT_ROUNDING(VAL[,X])
Inquire whether the processor supports a particular rounding mode.
IEEE_SUPPORT_SQRT([X])
Inquire whether the processor supports the IEEE square root.
IEEE_SUPPORT_STANDARD([X])
Inquire whether the processor supports all IEEE facilities.
The module IEEE_ARITHMETIC contains the following elemental functions for real X and Y for which IEEE_SUPPORT_DATATYPE(X) and IEEE_SUPPORT_DATATYPE(Y) are true.
IEEE_CLASS(X)
IEEE class.
IEEE_COPY_SIGN(X,Y)
IEEE copysign function.
IEEE_IS_FINITE(X)
Determine if value is finite.
IEEE_IS_NAN(X)
Determine if value is IEEE Not-a-Number
IEEE_IS_NORMAL(X)
Determine if a value is normal.
IEEE_IS_NEGATIVE(X)
Determine if value is negative.
IEEE_LOGB(X)
Unbiased exponent in the IEEE floating point format.
IEEE_NEXT_AFTER(X,Y)
Returns the next representable neighbor of X in the direction toward Y.
IEEE_REM(X,Y)
The IEEE REM remainder function, X - Y*N where N is the integer nearest to the exact value of X/Y.
IEEE_RINT(X)
Round to an integer value according to the current rounding mode.
IEEE_SCALB(X,I)
Returns X*2**I
IEEE_UNORDERED(X,Y)
IEEE unordered function. True if X or Y is a NaN and false otherwise.
IEEE_VALUE(X,CLASS)
Generate an IEEE value.
The module IEEE_ARITHMETIC contains the following transformational function:
IEEE_SELECTED_REAL_KIND([P,][R])
Kind type parameter value fo an IEEE real with given precision and range.
The module IEEE_EXCEPTIONS contains the following elemental subroutines.
IEEE_GET_FLAG(FLAG,FLAG_VALUE)
Get an exception flag.
IEEE_GET_HALTING_MODE(FLAG,HALTING)
GEt halting mode for an exception.
The module IEEE_EXCEPTIONS contains the following nonelemental subroutines.
IEEE_GET_STATUS(STATUS_VALUE)
Get the current state of the floating point environment.
IEEE_SET_FLAG(FLAG,FLAG_VALUE)
Set an exception flag.
IEEE_SET_HALTING_MODE(FLAG,HALTING)
Controls continuation or halting on exceptions.
IEEE_SET_STATUS(STATUS_VALUE)
Restore the state of the floating point environment.
The module IEEE_ARITHMETIC contains the following nonelemental subroutines.
IEEE_GET_ROUNDING_MODE(ROUND_VAL)
Get the current IEEE rounding mode.
IEEE_SET_ROUNDING_MODE(ROUND_VAL)
Set the current IEEE rounding mode.
The Fortran 2000 draft standard provides a means of referencing C language procedures. The ISO_C_BINDING module defines three support procedures as intrinsic module functions. Accessing these functions requires
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_LOC, C_PTR, C_ASSOCIATED
in the calling routine. The procedures defined in the module are
Returns the C address of the argument
C_ASSOCIATED(C_PTR_1 [, C_PTR_2])
Indicates the association status of C_PTR_1 or indicates whether C_PTR_1 and C_PTR_2 are associated with the same entity.
C_F_POINTER(CPTR, FPTR [, SHAPE])
Associates a pointer with the target of a C pointer and specifies its shape.
For details on the ISO_C_BINDING intrinsic module, see Chapter 15 of the Fortran 2000 draft standard at .
The following functions are considered intrinsics by the f95 compiler, but are not part of the Fortran 95 standard.
When compiling with -xknown_lib=blas, the compiler will recognize calls to the following routines as intrinsics and will optimize for and link to the Sun Performance Library implementation. The compiler will ignore user-supplied versions of these routines.
BLAS Intrinsics
Product of a scalar and a vector plus a vector
Copy a vector
Dot product (inner product)
Scale a vector
See the Sun Performance Library User's Guide for more information on these routines.
The following table lists intrinsic functions that are recognized by the compiler when compiling for interval arithmetic (-xia). For details, see the Fortran 95 Interval Arithmetic Programming Reference.
The f95 compiler recognizes a variety of legacy intrinsic functions that were defined by Fortran compilers from other vendors, including Cray Research, Inc. These are obsolete and their use should be avoided.
Intrinsic Functions From Cray CF90 and Other Compilers
Obtains the address of a character object
Bit-by-bit complement of a word. Use NOT(i) instead
Generic cotangent. (Also: DCOT, QCOT)
([I=]i,[J=]j,[K=]k)
Conditional Scalar Merge
([I=]i,[J=]j,[K=]k)
Double-object left shift of i and j by k bits
([I=]i,[J=]j,[K=]k)
Double-object right shift of i and j by k bits
([I=]i,[J=]j)
Logical equivalence. Use IOER(i,j) instead.
([I=]i,[J=]j)
Constructs a character pointer
Obtains file position
([I=]i, [POS=]j)
Generic function to change specified bit in a word.
([I=]i, [SHIFT=]j)
Generic arithmetic shift
([I=]i, [SHIFT=]j)
Generic circular shift
([I=]i, [SHIFT=]j)
Generic left shift
Counts number of leading 0 bits
Returns the number of Cray words successfully transferred
Returns the address of a variable (See )
([I=]i,[J=]j)
Logical non-equivalence. Use IOER(i,j) instead.
Counts number of bits set to 1
Computes bit popluation parity
([I=]i,[J=]j)
Shift left circular. Use ISHFT(i,j) or ISHFTC(i,j,k) instead.
([I=]i,[J=]j)
Arithmetic shift with sign extension.
([I=]i,[J=]j)
Shift left with zero fill. Use ISHFT(i,j) or ISHFTC(i,j,k) instead.
([I=]i,[J=]j)
Shift right with zero fill. Use ISHFT(i,j) or ISHFTC(i,j,k) instead.
Returns elapsed time since the first call
Returns status of BUFFERIN or BUFFEROUT
([I=]i,[J=]j)
Logical exclusive OR. Use IOER(i,j) instead.
for a list of VMS Fortran 77 intrinsics.
The Fortran 95 compiler recognizes the following additional intrinsic functions:
MPI_SIZEOF( x, size, error)
Returns the size in bytes of the machine representation of the given variable, x. If x is an array, it returns the size of the base element and not the size of the whole array
variable or array of arbitrary type
size in bytes of x
set to an error code if an error detected, zero otherwise
Memory allocation, reallocation, and deallocation functions malloc(), realloc(), and free() are implemented as f95 intrinsics. See
for details.Summary of Trigonometric Identities
&Navigation&
&Contact&Graeme&
& Summary of Identities
This page contains a summary of all of the basic trigonometric identities
that you will need to use in a high school trig class, organized by type.
even/odd, co-function and phase shift identities
cos(x) = cos(-x)
sec(x) = 1/cos(x) = 1/cos(-x) = sec(-x)
tan(x) = sin(x)/cos(x) = -sin(-x)/cos(-x) =
sin(x) = -sin(-x)
csc(x) = 1/sin(x) = 1/-sin(-x) = -csc(-x)
cot(x) = cos(x)/sin(x) = cos(-x)/-sin(-x) =
co-functions
sin(x) = cos(π/2-x)
tan(x) = cot(π/2-x)
sec(x) = csc(π/2-x)
cos(x) = sin(π/2-x)
cot(x) = tan(π/2-x)
csc(x) = sec(π/2-x)
phase shift
&&&&&(see also the )
sin(x) = cos(x-π/2) = -sin(x-π) = -cos(x+π/2) =
sin(x+2π)
csc(x) = sec(x-π/2) = -csc(x-π) = -sec(x+π/2) =
csc(x+2π)
tan(x) = -cot(x±π/2) = tan(x+π)
tan(x+π/4) = (1+tan(x))/(1-tan(x))
exact values of trig functions of common angles --
&Brain Dump&
If you're in a high school trig class, and you need to know the exact
values of sin, cos, and tan for these &round number& angles, then I strongly
recommend practicing this brain dump.& On a blank piece of paper, write
down all the degrees that are multiples of 30 or 45, convert them into
radians by multiplying by π/180, and then write down the sin and cos values&
The repetitive nature of these two functions should help a lot.& You
know tan=sin/cos, so just do the math, and write 'em in.
Once you can do this brain dump in two or three minutes, then you will be
ready to do that during every test.& No need to bring a cheat sheet
with you -- make a new one on scrap paper at the very first thing you do
during a test.& (Some teachers may object at first, so it's best to
clear this idea with your teacher first.)
-sqrt(2)/2
-sqrt(3)/2
-sqrt(3)/3
-sqrt(3)/2
-sqrt(2)/2
-sqrt(2)/2
-sqrt(3)/2
-sqrt(3)/2
-sqrt(2)/2
11π/6
-sqrt(3)/3
This idea can be extended using some of the identities presented below.&
Here are a whole lot more .
Pythagorean identity: sin2x
+ cos2x = 1
sin2x + cos2x = 1
Apply the Pythagorean Theorem to this triangle:
+ 1 = sec2x&
Start with the first formula, then divide every
term by cos2x.
Start over, dividing by sin2x.
half angle formulas
sin(x/2) = ±sqrt((1-cos(x))/2)
cos(x) = cos(x/2 + x/2) = cos2(x/2)
- sin2(x/2)
cos(x) = 1 - 2sin2(x/2),
then solve for sin(x/2);
cos(x) = 2cos2(x/2) - 1,
then solve for cos(x/2).
cos(x/2) = ±sqrt((1+cos(x))/2)
tan(x/2) = (1-cos(x))/sin(x)
&&&&&= sin(x)/(1+cos(x))
tan(x/2) = sin(x/2) / cos(x/2)
&&&=&sqrt(1-cos x)/sqrt(1+cos x)
&&&=&(1-cos x)/(sin x),&&by&rationalizing the denominator&
&&&=&(sin x)/(1+cos x),&&by&rationalizing the numerator&
sin(x/2)-cos(x/2) = ±sqrt(1-sin(x)),
cos(x/2)-sin(x/2) = ±sqrt(1-sin(x))
(sin(x/2)-cos(x/2))2
= 1-2sin(x/2)cos(x/2) = 1-sin(x);
take the square root of both sides.
sin(x/2)+cos(x/2) = �sqrt(1+sin(x))
(sin(x/2)+cos(x/2))2
= 1+2sin(x/2)cos(x/2) = 1+sin(x)
tan(x/2+π/4) = (1+sin(x)) / cos(x)
&&&&&= cos(x) / (1-sin(x))
tan(x/2+π/4) = sin(x/2+π/4)/cos(x/2+π/4)
&= (sin(x/2)+cos(x/2))/(cos(x/2)-sin(x/2))
&= sqrt(1+sin x)/sqrt(1-sin x),
and then rationalize, as with tan(x/2), above.
double angle formulas
sin(2x)&=&2&sin(x)&cos(x)&
delightfully simple
using an isosceles triangle
cos(2x) = cos2(x)
&&= 1 - 2sin2(x)
&&= 2cos2(x) - 1
From the cos sum formula, using cos(x+x)
tan(2x) = sin(2x)/cos(2x)
& = 2&sin(x)&cos(x)&/&(cos2(x)-sin2(x))
&&= 2 tan(x) / (1-tan2(x))
Use the sin(2x) and cos(2x) formulas, then divide
the numerator and denominator by cos2(x)
triple, quadruple, etc. angle formulas
cos 3x = -3cos+4cos3 &
cos 4x = 1-8cos2+8cos4 &
cos 5x = 5cos-20cos3+16cos5 &
cos 6x = -1+18cos2-48cos4+32cos6 &
cos 7x = -7cos+56cos3-112cos5+64cos7
(&x& on the right hand side is omitted for clarity)
cos((n+1)x)=2cos(x)cos(nx)-cos((n-1)x)
sin 3x = (sin) (-1+4cos2)
sin 4x = (sin) (-4cos+8cos3)
sin 5x = (sin) (1-12cos2+16cos4)
sin 6x = (sin) (6cos-32cos3+32cos5)
sin 7x = (sin) (-1+24cos2-80cos4+64cos6)
. . . . . . use similar recurrence relation as above:&
sin(nx)=2sin((n-1)x)cos(x)-sin((n-2)x)
&In fact, sin(nx)/sinx=gn(cosx) for some polynomials gn
(the Chebyshev polynomial polynomials for
cos((n+1)x) above are called Chebyshev polynomials of the first
kind). They satisfy the same recurrence relation. Easy way how to
see that is just to differentiate the formula cos(nx)=fn(cosx).
continued fraction for tan nx:
&&&n tan x&&&&&&&
(n?-1?)tan?x&&&&&&&
(n?-2?)tan?x&&&&
If n is an integer, the continued fraction
terminates.& .
tan((n+1)x/2) = (sin x + sin 2x + ... + sin
&&&&&&&&&&&&&&&&&&& (cos x + cos 2x + ... + cos nx)
&. . . . . . further reading:
double angle formulas expressed in terms of
These are variously called the &Universal& substitutions and the
, where t=tan(x/2).
Weierstrass
t-substitution
tan(x) = 2 tan(x/2)/(1-tan2(x/2))
tan(x)&=&2t/(1-t2)
from the tan-of-sum formula, using tan(x/2 + x/2)
cos(x) = (1-tan2(x/2))/(1+tan2(x/2))
cos(x)&=&(1-t2)/(1+t2)
cos2(x/2) = (cos(x)+1)/2
(cos(x)+1)/2 = 1/(1+t2)
&. . . . . .& add a row for sin^2(x/2)&
sin(x) = cos(x)tan(x)
&&&& = 2 tan(x/2)/(1+tan2(x/2))
sin(x)&=&2t/(1+t2)
by combining the two formulas above.
dx = 2 cos2(x/2) dt&&&
= (cos(x)+1) dt
dx = ((1-t2)/(1+t2) + 1)
dt&& = 2dt/(1+t2)
t = tan(x/2), so dt/dx = (1/2) sec2(x/2), or
x=2 arctan(t), so dx/dt = 2/(t2+1)
sec(x) - tan(x)
&&&& = (1-tan(x/2))/(1+tan(x/2))
LHS =&(1+tan2(x/2))/(1-tan2(x/2))
- 2 tan(x/2)/(1-tan2(x/2))
&&= (1-tan(x/2))2/(1-tan2(x/2))
&&= (1-tan(x/2)/(1+tan(x/2))
(1-sin(x))/(1+sin(x))
&&&& = (1-tan(x/2))2/(1+tan(x/2))2
&&&&&= (sec(x)-tan(x))2
(1-sin(2x))/(1+sin(2x))
&&= (1-2sin(x)cos(x)) / (1+2sin(x)cos(x))&
&&= (cos(x)-sin(x))2 /
(cos(x)+sin(x))2&
&&= (1-tan(x))2 /
(1+tan(x))2&
cos(x+y) etc. -- cos of sum, sin of sum, tan of sum
cos(x+y) = cos(x)cos(y) - sin(x)sin(y)
sin(x+y) = sin(x)cos(y) + cos(x)sin(y)&
exponential proof of both identities at once:
cos(x+y)+i sin(x+y) = ex+y
&&=(cos(x)+i sin(x))&(cos(y)+i sin(y))
&&=(cos(x)cos(y)-sin(x)sin(y)) + i(sin(x)cos(y)+cos(x)sin(y))
tan(x+y) = (tan(x)+tan(y)) /
(1-tan(x)tan(y))&
cos(x) cos(y) -- sum of cos, etc. -- converting
between a sum and a product of trig functions
are important for solving integrals of
products of trig functions.& The trick is to convert these products
into sums of functions that are easy to integrate.
cos(a+b) cos(a-b) = cos2b - sin2a
cos(x) cos(y) = cos2((x-y)/2)-sin2((x+y)/2),
&& where x=a+b; y=a-b;
&&&&&&& a=(x+y)/2; b=(x-y)/2
cos(a+b) cos(a-b) =
(cos a cos b - sin a sin b) (cos a cos b + sin a sin b) =
cos2a cos2b - sin2a sin2b
(1-sin2a)cos2b - sin2a (1-cos2b)
cos2b - sin2a cos2b - sin2a
+ sin2a cos2b =
cos2b - sin2a&
cos(x) cos(y) = cos(x+y)/2 + cos(x-y)/2
cos(x+y)&=&cos(x)cos(y) - sin(x)sin(y)
cos(x-y)&=&cos(x)cos(y) + sin(x)sin(y)
the proof is to add these equations together.
cos(a) + cos(b) = 2 cos((a-b)/2)
cos((a+b)/2)
from above, where a=x+y; b=x-y; x=(a+b)/2;
y=(a-b)/2;
sin(x) sin(y) = cos(x-y)/2-cos(x+y)/2
cos(x-y)&=&cos(x)cos(y) + sin(x)sin(y)
-cos(x+y)&=&-cos(x)cos(y) + sin(x)sin(y);
the proof is to add these equations together.
cos(b) - cos(a) = 2 sin((a-b)/2)
sin((a+b)/2)
from above, where a=x+y; b=x-y; x=(a+b)/2;
y=(a-b)/2;
cos(x) sin(y) = sin(x+y)/2 - sin(x-y)/2&&
sin(x+y)&=&sin(x)cos(y) + cos(x)sin(y)&
-sin(x-y)&=&-sin(x)cos(y) + cos(x)sin(y);
the proof is to add these equations together.
sin(a) - sin(b) = 2 cos((a+b)/2)
sin((a-b)/2)
sin(a) + sin(b) = 2 cos((a-b)/2) sin((a+b)/2)
from above, where a=x+y; b=x-y; x=(a+b)/2;
y=(a-b)/2;
2nd equation replaces b with -b.
(cos(b)-cos(a)) / (sin(a)+sin(b)) =
tan((a-b)/2)
(cos(b)-cos(a)) / (sin(a)-sin(b)) = tan((a+b)/2)
divide the cos(b)-cos(a) and sin(a)+sin(b)
identities, above.
(sin(a)+sin(b)) / (cos(a)+cos(b)) =
tan((a+b)/2)
(sin(a)-sin(b)) / (cos(a)+cos(b)) = tan((a-b)/2)
divide the sin(a)+sin(b) and cos(a)+cos(b)
identities, above.
cos(a−b) cos(t+u) − cos(a+b) cos(t−u)
= sin(u+a) sin(b−t) − sin(u−a) sin(b+t)
.& This identity is used in the proof of .
generalized phase shift
a cos(x-A) + b cos(x-B) = r cos(x-θ),&where
&&&&&r = sqrt(a2 + b2
+ 2ab cos(A-B)), and
&&&&&θ = atan2(a cos A + b cos B, a sin A + b sin B)
y = a cos(x-A) + b cos(x-B)
&&= cos x (a cos A + b cos B) + sin x (a sin A + b sin B)
&&= cos x (r cos θ) + sin x (r sin θ)
&&= r cos(x-θ)
explains this more completely.
&geometric progression& identities
I call these &geometric progression& identities, because if a, b, c are
in geometric progression then a/b = b/c...
(1+sin(x)) / cos(x) = cos(x) / (1-sin(x))
1-sin2(x)=cos2(x)
(1+sin(x))(1-sin(x))=cos2(x)
(1+sin(x))/cos(x)=cos(x)/(1-sin(x))
Note: this equals tan(x/2+π/4) -- see the half angle formula section
of this page.
(1+sin(x)) / cos(x) = cos(x) / (1-sin(x))
&= (1+cos(x)+sin(x)) / (1+cos(x)-sin(x))
Linear Combination of Fractions:
If A/B = C/D, then (rA+sC)/(rB+sD) = C/D ()
(1-cos(x)) / sin(x) = sin(x) / (1+cos(x))
&= (1+sin(x)-cos(x)) / (1+sin(x)+cos(x))
Note: this equals tan(x/2) -- half angle.
and Linear Combination of Fractions.
(sec(x)-1) / tan(x) = tan(x) / (sec(x)+1))
&= (sec(x)+tan(x)-1) / (sec(x)+tan(x)+1)
and Linear Combination of Fractions.
(sec(x)-tan(x)) = 1 / (sec(x)+tan(x))
&= (1+sec(x)-tan(x))/(1+sec(x)+tan(x))
ln Isec(x)-tan(x)I = -ln Isec(x)+tan(x)I
and Linear Combination of F
Watch out for equivalent solutions of integrals!
(csc(x)-1) / cot(x) = cot(x) / (csc(x)+1))
Any difference of squares can be turned
into a geometric progression identity!
—& (A-B)/C = C/(A+B)
(csc(x)-cot(x)) = 1/ (csc(x)+cot(x))
Triangle identities -- sin(arccos(x)), etc.
I've noticed some students have trouble understanding the meaning of
sin(arccos(x)), so I'll dissect it for you in this paragraph.& Let an
angle, A, represented by the red line in the triangles, below, have a cosine
of x.& That is cos(A)=x, or in other words, A=arccos(x).& So then
sin(arccos(x))=sin(A).& To rephrase the whole thing, sin(arccos(x)) is
saying &what is the sine of the angle whose cosine is x?&
sin(arccos(x)) = ±sqrt(1-x2)&
sqrt(1-x2)
tan(arccos(x)) = ±sqrt(1-x2)/x&
cos(arcsin(x)) = ±sqrt(1-x2)&
sqrt(1-x2)
tan(arcsin(x)) = ±x/sqrt(1-x2)&
cos(arctan(x)) = ±1/sqrt(1+x2)
sqrt(1+x2)
sin(arctan(x)) = ±x/sqrt(1+x2)
sin(arcsec(x)) = ±sqrt(x2-1)/x&
sqrt(x2-1)
tan(arcsec(x)) = ±sqrt(x2-1)&
cos(arccsc(x)) = ±sqrt(x2-1)/x&
sqrt(x2-1)
tan(arccsc(x)) = ±1/sqrt(x2-1)&
cos(arccot(x)) = ±x/sqrt(1+x2)
sqrt(1+x2)
sin(arccot(x)) = ±1/sqrt(1+x2)
Euler identities and hyperbolic functions
ex&=&1&+&x/1!&+&x2/2!&+&x3/3!&+&...&
cos(x) = 1&&-&x2/2!&+&x4/4!&-&x6/6!&+&...&
sin(x) = x/1!&-&x3/3!&+&x5/5!&-&...&
cosh(x) = 1&&+&x2/2!&+&x4/4!&+&x6/6!&+&...&
sin(x) = x/1!&+&x3/3!&+&x5/5!&+&...&
Euler's formula for ex
cosh(x) = (ex+e-x)/2
sinh(x) = (ex-e-x)/2
tanh(x) = (ex-e-x)/(ex+e-x)
eix&=&cos(x) + i sin(x) =
cosh(ix) + sinh(ix)
ex&=&cos(ix) - i sin(ix) = cosh(x) + sinh(x)
Euler's formula for ex,
then replace x with -ix
cosh(ix) = cos(x)
sinh(ix) = i sin(x)
cos(ix) = cosh(x)
sin(ix) = i sinh(x)
arcsinh(x) = ln(x + sqrt(x? + 1))
arccosh(x) = ln(x + sqrt(x? - 1))
arctanh(x) = (1/2) (ln(1+x) - ln(1-x))
cosh?(x) - sinh?(x) = 1
Additional factoids
If additional trig identities come to light (send me an email if yours is
missing from this page!) then I'll add them here, until I can find a &home&
for them in the other sections of this page.
tan(x-y) + tan(y-z) + tan(z-x) = tan(x-y) *tan(y-z)*tan(z-x)
Tan-1(1/2) + Tan-1(1/5) + Tan-1(1/8)
= π/4
tan-1(1/2) + tan-1(1/5) + tan-1(1/8)=π/4.
See the diagram to the right.
Gregory's Formula for Arctan, Machin's formula for π/4
arctan x = x - x3/3 + x5/5 - x7/7 + x9/9
where -1 & x & 1
This was discovered in 1672 by James Gregory ().& It's a useful formula
because it converges quickly when x is small.& π/4 is arctan 1, so it provides a
formula for π/4, which is
π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...
(Gregory never explicitly wrote down this formula but another famous
mathematician of the time, Gottfried Leibniz (), mentioned it in print
first in 1682, and so this special case of Gregory's series is usually called
Leibnitz Formula for π.)
This formula converges very slowly.& It is better to note that&
π/4 = arctan(1) = 4 arctan(1/5) - arctan(1/239)
(This formula is called Machin's formula, discovered In 1706 by John Machin
Derivation of the formula:
Remember that tan x+y = (tan x + tan y) / (1 - tan x tan y)
so tan 2x = (2 tan x) / (1 - tan2 x)
let z be arctan 1/5.
tan 2z = (2 tan z) / (1 - tan2 z) = (2/5)/(1-1/25) =
(2/5)/(24/25) = 50/120 = 5/12
Now let w be arctan 5/12
tan 2w = (2 tan 2) / (1 - tan2 w) = (5/6)/(1-25/144) =
(5/6)/(119/144) = 720/714 = 120/119
So arctan 120/119 is an angle 4 times as large as arctan 1/5.
Now let x be arctan 120/119 and y be arctan -1/239
tan x+y = (120/119 - 1/239) / (1 + (120/119)(1/239)) = (120*239-119) /
In other words, the sum of 4 arctan 1/5 and arctan -1/239 is equal to
the arctan of 1, i.e. π/4.
How can you discover your own group of small angles with rational
tangents whose sum is π/4?
In other words, if you have an angle arctan a, what is the value of b
for which arctan a + arctan b = π/4?
Let x = arctan a, and
let y = arctan b, and let x + y = π/4
tan x+y = (tan x + tan y) / (1 - tan x tan y)
1 = (a + b) / (1 - ab)
a + b = 1 - ab
b + ab = 1 - a
b(1+a) = (1-a)
b = (1-a) / (1+a)
After John Machin calculated that 4 arctan 1/5 is equal to arctan
120/119, then he presumably set a=120/119 and used this formula for b
b = (1-a) / (1 + a)
= (1 - 120/119) / (1 + 120/119)
= (-1/119) / (239/119)
Here's another one that adds up to π/4: 3 arctan 1/4 + arctan 5/99
Internet references
SOS Math: &
(b. 1646, d. 1716) was a German philosopher, mathematician, and logician who is
probably most well known for having invented the differential and integral
calculus (independently of Sir Isaac Newton).
Wikipedia: &
Mathworld article: .
Mathworld: , including formulas for ,
Mathworld:
formulas, which convert sums of sines and cosines into products of sines and
cosines, and vice-versa.
Related Pages in this website
functions of any multiple of an angle.
calculus section of this website
is a clever trig substitution that lets you solve the kind of integrals that
naturally come up in the polar form of certain functions. The substitution is
t=tan(x/2).
sinh(x) and cosh(x), which, together with exp(x) and the circular functions
sin(x) and cos(x) form a family of functions.
by an arbitrary
derivations of various special integrals requires extensive use of the trig
identities on this page.
The webmaster and author of this

我要回帖

更多关于 锐角三角函数练习题 的文章

 

随机推荐