.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" Distributed under GPL .\" .\" Дата последней коррекции перевода 07.03.2004 .\" Перевод с английского сделал Виктор Вислобоков .\" http://www.linuxshare.ru/projects/man/ .\" .TH COMPLEX 5 2002-07-28 "" "комплексная математика" .SH ИМЯ complex \- основы комплексной математики .SH ОБЗОР .B #include .SH ОПИСАНИЕ Комплексные числа являются чилами вида z = a+b*i, где a и b являются вещественными числами, а i = sqrt(-1) (квадратный корень из минус единицы, так называемая \fIмнимая единица\fP -- прим.пер.), так что i*i = -1. .br Существуют и другие способы представления комплесных чисел. Пара вещественных чисел (a,b) может быть представлена как точка на плоскости, которая задаётся координатными осями X и Y. Эта же самая точка может быть также описана парой вещественных чисел (r,phi), где r - это дистанция от нулевой точки отсчёта 0, а phi - угол между осью X и прямой 0z. Итак, z = r*exp(i*phi) = r*(cos(phi)+i*sin(phi)). .PP Основные операции с комплесными числами, заданными в виде z = a+b*i и w = c+d*i следующие: .TP .B сложение: z+w = (a+c) + (b+d)*i .TP .B умножение: z*w = (a*c - b*d) + (a*d + b*c)*i .TP .B деление: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c - a*d)/(c*c + d*d))*i .PP Почти все математические функции имеют своих комплексных собратьев, но есть и только комплексные функции. .SH ПРИМЕР Ваш C-компилятор может работать с комплексными числами, если он поддерживает стандарт C99. Связывание (компановку) нужно производить с опцией -lm (чтобы подключилась математическая библиотека -- прим.пер.). Здесь мнимая единица представлена как I. .sp .nf /* check that exp(i*pi) == -1 */ #include /* for atan */ #include main() { double pi = 4*atan(1); complex z = cexp(I*pi); printf("%f+%f*i\\n", creal(z), cimag(z)); } .fi .SH "СМОТРИ ТАКЖЕ" .BR cabs (3), .BR carg (3), .BR cexp (3), .BR cimag (3), .BR creal (3) .SH ПЕРЕВОД Перевёл с английского Виктор Вислобоков 2004