exponenta event banner

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++ с помощью MATLAB ® Coder™

.

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

.

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

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