рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Комплексные числа

Комплексные числа - раздел Связь, И Радиосвязь, радиовещание и телевидение дневного отделения Комплексные Числа Широко Используются В Современной Радиотехнике Для Расчета ...

Комплексные числа широко используются в современной радиотехнике для расчета различных схем и устройств по переменному току.

Комплексным числом называется выражение вида a + jb, где a и b – любые действительные числа, j2 = –1, j – это специальная величина, называемая мнимой единицей.

Рис. 1.1. Геометрическая интерпретация
комплексного числа

Комплексные числа часто обозначают одной буквой, например, z = a + jb. Число a называется действительной частью комплексного числа z (Re z), а число b – мнимой частью этого числа z (Im z). Комплексные числа вида a + j · 0 называют действительными. Числа вида 0 + jb называются чисто мнимыми. Геометрическими интерпретациями комплексного числа являются вектор или точка на комплексной плоскости рис. 1.1. Комплексной называется плоскость, когда по оси ординат откладывается мнимая часть комплексного числа, а по оси абсцисс – действительная.

Модулем комплексного числа называется длина вектора, соответствующего этому числу:

Аргументом комплексного числа z = a + jb (z ≠ 0) называется величина угла между положительным направлением действительной оси и вектором, обозначается обычно φ = arg(z) = arctg(b/a). Существует три формы записи комплексного числа:

алгебраическая z =a + bj;

тригонометрическая ;

показательная .

В С++ для работы с комплексными числами предусмотрен класс сomplex.Для его использования нужно включить заголовочный файл: #include<complex>.В стандартную библиотеку C++ включены три специализированные версии класса complex для типов float, double и long double.

Инициализация комплексной переменной

// Чисто мнимое число: 0 + 7j

complex< double > purei( 0, 7 );

// Мнимая часть равна 0: 3 + 0j

complex< float > real_num( 3 );

// И вещественная, и мнимая части равны 0: 0 + 0j

complex< long double > zero;

// Инициализация одного комплексного числа другим

complex< double > purei2( purei );

//Инициализация комплексного числа арифметическим типом

complex< double > w;

double h=3.14159;

w = h;

Приведение типов

При операциях с комплексными числами, так же как и с вещественными, происходит преобразование типов – их приведение. Приведение может быть без потери информации – безопасное приведение и рискованное (опасное), когда такая потеря может происходить. Здесь много подводных камней. Поэтому надо запомнить, что безопасным является приведение complex<float> в complex <double>, оно может быть задано неявно. Остальные приведения надо задавать явно. Кроме того, лучше не использовать комплексные числа целого типа, так как в явном и неявном виде они не преобразуются в complex с типом float или double.

сomplex<float> cf;

complex<double> cd;

complex<double> cdL(cf); // OK: явное приведение

complex<float> cd2 = cd; // OK: безопасное приведение

complex<int> ci;

complex<double> cd4 = ci; // ОШИБКА: небезопасное приведение

complex<double> cd5(ci); // ОШИБКА: нет явного приведения

Вывод и ввод комплексных чисел

В С++ поддерживается и ввод/вывод комплексных чисел. Оператор вывода печатает действительную и мнимую части через запятую в круглых скобках. Например, результат выполнения оператора вывода

complex< double > z( 3.14159, -2.171 );

cout << z << endl;

выглядит так:

( 3.14159, –2.171 )

Оператор ввода понимает любой из следующих форматов:

// Допустимые форматы для ввода комплексного числа

// 3.14159 ==> complex( 3.14159 );

// ( 3.14159 ) ==> complex( 3.14159 );

// ( 3.14, –1.0 ) ==> complex( 3.14, 1.0 );

// может быть считано как

cin >> a >> b >> с;

// где a, b, с – комплексные числа

Значит, если вы введете вещественное число (в круглых скобках или без них) на место комплексных переменных a или b, то это интерпретируется как комплексная переменная с нулевой мнимой частью. Для ввода же переменной с = 3.14 1.0j, необходимо в круглых скобках через запятую ввести отдельно действительную и мнимую части.

Операторы класса complex

Комплексные числа можно складывать, вычитать, умножать, делить, сравнивать,

#include <complex>.

complex< double > a;

complex< double > b;

complex< double > с = a * b + a / b;

Комплексные и арифметические типы разрешается смешивать в одном выражении:

complex< double > a;

complex< double > d = a + 3.14159;

Внимание! В правой части приведенного оператора происходит суммировние комплексной переменной и вещественной константы. Тип этих объектов должен быть одинаковым, в данном случае – это double, так как константа с десятичной точкой в Visual C++ имеет по умолчанию тип double. Если же типы этих объектов не совпадут, то компилятор выдаст ошибку:

complex< float > a;

complex< double > d = a + 3.14159;//ОШИБКА

Устраним эту ошибку

complex< float > a;

complex< double > d = a + 3.14159f; //OK

Буква f в конце числа сообщает компилятору, что тип числа – float.

Класс комплексных чисел поддерживает четыре составных оператора присваивания: +=, -=, *= и /=. Таким образом, если

complex <float>a,d;

то можно записать

a+=d;

Функции для работы с комплексными числами

Класс complex имеет две функции, возвращающие соответственно вещественную и мнимую части. Мы можем обращаться к ним, используя синтаксис доступа к членам класса:

complex<double> z;

double re = z.real();

double im = z.imag();

или эквивалентный синтаксис вызова функции:

double re = real(z);

double im = imag(z);

Кроме того, для работы с комплексными числами имеются следующие функции: abs(), arg(), conj(), polar(), sqrt(), sin(), cos(), tan(), exp(), log(), log10() и pow(). Функция polar() по модулю и аргументу комплексного числа находит его действительную и мнимую части, функция conj(z) возвращает комплексно сопряженное число к числу z.

– Конец работы –

Эта тема принадлежит разделу:

И Радиосвязь, радиовещание и телевидение дневного отделения

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Комплексные числа

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

НОВОСИБИРСК
  2012 УДК 004(076.5) И 741   Составили: канд. техн. наук, доц

Методические указания
  Редактор Л.Н. Ветчакова Выпускающий редактор И.П. Брованова Компьютерная верстка Л.А. Веселовская ___________________________________

Общие требования и порядок выполнения лабораторных работ
1. Лабораторный практикум по первой части курса «Информатика» состоит из четырех лабораторных работ, каждая из которых рассчитана на четыре академических часа. Состав работ, выполняемых студентом,

РАБОТА В ИНТЕГРИРОВАННОЙ СРЕДЕ VISUAL STUDIO
Прежде чем создавать простейшую программу на C++ в среде Visual Studio , необходимо разобраться со структурой программ в этой среде. Разработчики Visual Studio оперируют такими

Создание проекта и добавление файла исходного кода
1. Создайте новый проект. В меню Файл выберите пункт Создать и щелкните левой кнопкой мыши по Проект...(рис. 1). 2. В списке тип

Исправление ошибок компиляции с помощью интегрированной среды разработки
1. В файле first.cpp удалите точку с запятой в последней строке, как указано ниже: cout<<name<<endl 2. В меню Построение выберите

Контекстное меню редактора кода
Если щелкнуть правой кнопкой мыши на какой-нибудь идентификатор в редакторе (например, на названии функции sqrt()), откроется вот такое контекстное меню:

Панель инструментов
П

Пояснение к работе
В языке С++ понятие оператора трактуется шире, чем в других языках, поскольку не делается существенного различия между оператором и арифметическим выражением. Другими словами, любое арифмети

Порядок выполнения работы
1. Написать, ввести и отладить программу вычисления переменных a или b в соответствии с вариантом. Предусмотреть вывод исходных данных и результатов на экран монитора. 2. Исп

Понятие массива. Его объявление и инициализация
Массив – это совокупность элементов одного типа, обозначаемых единым именем и размещенных в смежных ячейках памяти. Простейший одномерный массив можно в общем случае объявить так:

Связь массивов и указателей
Каждая область памяти, которую вы используете для хранения данных, имеет свой адрес. Адрес позволяет компьютеру обращаться к определенному элементу данных. Указатель – это

Пояснения к работе
Матрицей [A] называется упорядоченная система из n*m величин, расположенных в прямоугольной таблице из m строк и n столбцов. Величины a[i][j] (i

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги