<< комментарии Ключевые слова Scilab доллар >>

Справка Scilab >> Scilab > Ключевые слова Scilab > сравнение

сравнение

операторы сравнения, отношения

Последовательность вызова

a==b
a~=b или a<>b
a<b
a<=b
a>b
a>=b

Аргументы

a

любой тип переменной для сравнения величин a==b, a~=b a<>b, но для сравнений, связанных с порядком a<b, a<=b, a>b, a>=b, ограничен массивами вещественных чисел с плавающей запятой и массивами целочисленных значений.

b

любой тип переменной для сравнения величин a==b, a~=b a<>b, но для сравнений, связанных с порядком a<b, a<=b, a>b, a>=b, ограничен массивами вещественных чисел с плавающей запятой и массивами целочисленных значений.

Описание

Нужно различать два класса операторов:

сравнение на равенство и неравенство:

a==b, a~=b (или по-другому a<>b). Эти операторы применимы к любому типу операндов.

Сравнения, связанные с порядком:

a<b, a<=b, a>b, a>=b. Эти операторы применимы только к массивам чисел с плавающей запятой и целочисленным массивам.

Смысл операторов сравнения также зависит от типа операндов:

Для массивов переменных

таких как массивы чисел с плавающей запятой и массивы целочисленных значений, массивы логических значений, строковые массивы, массивы полиномиальных и рациональных значений, массивы дескрипторов, списки... применимы следующие правила:

  • Если a и b являются массивами одного типа и размера, то сравнение выполняется поэлементно, а результат является массивом логических значений того же размера.

  • Если a и b являются массивами одного типа, но a или b является скаляром, то скаляр сравнивается с каждым элементом массива. Результат является массивом логических значений того же размера, что и оператор-нескаляр.

  • В иных случаях результатом является логическое значение %f

  • Если типы данных операндов отличаются, но "совместимы" как числа с плавающей запятой и целые числа, то перед сравнение производится преобразование типов.

Для других типов операндов

таких как function и libraries результатом является %t, если объекты идентичны и %f в противном случае.

Сравнение на равенство операндов несовместимых типов данных возвращает %f.

Примеры

// поэлементные сравнения
(1:5)==3
(1:5)<=4 
(1:5)<=[1 4 2 3 0]
1<[]
list(1,2,3)~=list(1,3,3)
"foo"=="bar"
sparse([1,2;4,5;3,10],[1,2,3]) == sparse([1,2;4,5;3,10],[1,2,3])
 
//пообъектные сравнения
(1:10)==[4,3]
'foo'==3
1==[]
list(1,2,3)==1
 
isequal(list(1,2,3),1)
isequal(1:10,1)
 
//сравнение с преобразованием типов данных
int32(1)==1
int32(1)<1.5
int32(1:5)<int8(3)
p=poly(0,'s','c')
p==0
p/poly(1,'s','c')==0

Смотрите также


Report an issue
<< комментарии Ключевые слова Scilab доллар >>