isreal

Определите, использует ли массив сложное хранилище

Синтаксис

Описание

пример

tf = isreal(A) возвращает логический 1 (true) при числовом массиве A не имеет мнимой части, и логического 0 (false) в противном случае. isreal возвращает логический 0 (false) для комплексных чисел, которые имеют нулевую мнимую часть, поскольку значение все еще сохранено как комплексное число.

Примеры

свернуть все

Задайте матрицу 3 на 4, A.

A = [7 3+4i 2 5i;...
     2i 1+3i 12 345;...
     52 108 78 3];

Определите, является ли массив вещественным.

tf = isreal(A)
tf = logical
   0

Начиная с A содержит сложные элементы, isreal возвращает false.

Используйте complex функция для создания скаляра, A, с нулевым значением мнимой части.

A = complex(12)
A = 12.0000 + 0.0000i

Определите, A реально.

tf = isreal(A)
tf = logical
   0

A не является реальным, потому что имеет мнимую часть, хотя значение мнимой части 0.

Определите, A содержит любые элементы с нулевым значением мнимой части.

~any(imag(A))
ans = logical
   1

A содержит элементы с нулевым значением мнимой части.

Задайте два комплексных скаляра, x и y.

x=3+4i;
y=5-4i;

Определите, является ли сложение двух комплексных скаляров, x и y, реально.

A = x+y
A = 8

MATLAB ® отбрасывает нулевую мнимую часть .

isreal(A)
ans = logical
   1

A реально, поскольку не имеет мнимой части.

Создайте массив ячеек.

C{1,1} = pi;                 % double
C{2,1} = 'John Doe';         % char array
C{3,1} = 2 + 4i;             % complex double
C{4,1} = ispc;               % logical
C{5,1} = magic(3);           % double array
C{6,1} = complex(5,0)        % complex double
C=6×1 cell array
    {[          3.1416]}
    {'John Doe'        }
    {[2.0000 + 4.0000i]}
    {[               0]}
    {3x3 double        }
    {[5.0000 + 0.0000i]}

C - массив ячеек 1 на 6.

Закольцовывайте элементы массива ячеек, чтобы различать действительные и сложные элементы.

for k = 1:6
x(k,1) = isreal(C{k,1});
end

x
x = 6x1 logical array

   1
   1
   0
   1
   1
   0

Все, кроме C{3,1} и C{6,1} являются реальными массивами.

Входные параметры

свернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив.

  • Для типов числовых данных, если A не имеет мнимой части, isreal возвращает true; если A имеет мнимую часть isreal возвращает false.

  • Для duration, calendarDuration, logical, и char типы данных, isreal всегда возвращается true.

  • Для string, table, cell, struct, datetime, function_handle, и object типы данных, isreal всегда возвращается false.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | datetime | duration | calendarDuration | function_handle
Поддержка комплексного числа: Да

Совет

  • Чтобы проверить, является ли каждый элемент массива A реально, использовать A == real(A).

  • isreal(complex(A)) всегда возвращается false, даже когда мнимая часть все нули.

  • ~isreal(x) обнаруживает массивы, которые имеют мнимую часть, даже если это все нули.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

Представлено до R2006a