isreal

Определите, использует ли массив комплексное устройство хранения данных

Синтаксис

Описание

пример

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

Примеры

свернуть все

Задайте матрицу 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 isreal.

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 и yisreal.

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.

  • Для durationcalendarDurationлогический, и char типы данных, isreal всегда возвращает true.

  • Для stringТаблицаячейка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++ с помощью MATLAB® Coder™.

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

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте