Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка 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

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

  • меньше — (<) сравнение "меньше, чем"
  • больше
  • boolean — Объекты Scilab'а, логические переменные и операторы & | ~
  • isequal — сравнение объектов
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:01 CEST 2014