Логические выражения в Scilab
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Логические выражения в Scilab строятся на основе математических выражений, логических выражений, логических констант (% T, % F), операций отношения и соответствующих им функций, логических операций и функций, а также круглых скобок. Результатом логического выражения является значение T (True), если выражение «Истинно», и значение F (False) в противном случае – выражение «Ложно».

Операции отношения и соответствующие им функции служат для поэлементного сравнения скалярных величин, векторов и матриц. Список операций отношения приведен в Приложении 1.2, табл. 1.2.3-1.

 

Операции отношения выполняют поэлементное сравнение значений векторов или матриц одинакового размера и возвращают значение равное T , если имеет место полное совпадение, и значение F в противном случае.

Операции <, <=, >, >= при комплексных операндах используются для сравнения только действительных частей операндов – мнимые отбрасываются. В то же время операции == и ~= ведут сравнения с учетом как действительной, так и мнимой части операндов.

Логические выражения обычно используются в операторах if, for, while, switch и служат для изменения последовательности выполнения операторов программы Scilab, а также при логической индексации матриц.

При вычислении выражений операции отношения имеют более низкий приоритет, чем арифметические операции, но более высокий, чем логические.

На рис. 1.2.3-1 приведены примеры вычисления логических выражений.

 

--> // Примеры логических выражений --> --> // Пример1. Логическое умножение векторов --> vF = [%T %F %F]; vK = [%T %T %F]; --> vF & vK  ans = T F F --> --> // Пример2. Логическое сложение матриц -->mA = [%F %T %F; %F %T %T;%T %T %F]; -->mB = [%T%T %F; %T %T %T;%T %T %F]; --> IL = mA | mB  IL = T T F TTT TTF --> --> // Пример3. Умножение элементов вектора на константу -->vF = [%T %F %F]; -->vF .* %F ans = 0. 0. 0. 

 

Рис. 1.2.3-1 Примеры логических выражений

 

Обратите внимание, что операнды операций отношения и логических операций должны иметь совместимые размеры.

 

Список логических операций и функций приведен в Приложении 1.2, табл. 1.2.3-2.

 

 

Строки символов и форматирование данных

 

 

Строки символов

Строковая константа представляется в Scilab заключением символов в одинарные или двойные кавычки, а скалярная переменная (матрица 1×1) присвоением этой переменной значения символьной константы (рис.1.2.4-1).

 

 

--> // Создание данных строкового типа --> --> // Создание символьных переменных --> a = 'Система ', b = "Scilab"  a = Система  b = Scilab --> --> // Создание символьной матрицы --> mSt = ['Мы ' 'изучаем' 'Scilab' ' 6'] mSt = !МыизучаемScilab6! -->size(mSt) ans = 1. 4. --> length(mSt)  ans = 3. 7. 7. 2.    

 

Рис. 1.2.4-1 Создание данных строкового типа

 

Для создания матрицы строк используется тот же синтаксис, что и для матриц арифметического типа. В примере, приведенном на рис.1.2.4-1, создана матрица строк размером 1×4 'Мы изучаем Scilab 6'. Для того, чтобы вычислить ее размер, использована, как для обычных матриц, функция size , а для вычисления числа символов в каждом элементе матрицы – функция length.

В оперативной памяти строка представляет собой последовательность кодов символов, из которых она образуется. Однако, после создания строки, она представляется для пользователя единым целым, поэтому без специальных функций при работе со строками невозможно использовать отдельные символы строки.

Следует помнить, что строки поддерживают лишь операцию
конкатенации (объединения), которая обозначается символом плюс (+) (рис.1.2.4-2).

 

--> // Объединение строк --> -->a = 'Система'; b = "Scilab"; --> c = a +' ' + b c = Система Scilab

 

Рис. 1.2.4-2. Выполнение над строками операции конкатенации

В системе Scilab имеется множество встроенных функций обработки строковых типов данных. Наиболее востребованными функциями, которые используются при работе со строками, являются функции string и strtod. Функция string позволяет преобразовать свой входной параметр из любого типа данных в строку символов, а функция strtod позволяет преобразовать свою входную строку цифровых символов в число (рис. 1.2.4-3).

 

--> // Использование строковых функций --> x = [1 2 3 4 5]; // Вектор х --> --> // Пример1. Преобразование х в строку -->str = string(x) str = !1 2 3 4 5 ! --> --> // Пример 2. Определение типа str -->typeof(str) ans = string --> --> // Пример3. S tr - матрица размером 1х5 --> size(str)   ans = 1. 5. --> --> // Пример4. Преобразование '10' в число --> a = 2; --> c1 = a + strtod('10')  c1 = 12.

 

Рис. 1.2.4-3 Примеры использования строковых функций

 

В Примере1 вектор чисел х преобразован в массив строк str с использованием функции string,где каждая строка массива состоит из одного символа. Затем, в Примере2 с использованием функции typeof проведена проверка того, что переменная str действительно является строкой, а в Примере3 использована функция typeof,выполнение которой показало, что переменная str является матрицей строк размером 1×5. В Примере4 показано преобразование строковой константы '10'в число 10.

Рассмотрим еще одну функцию, которая используется при работе со строками. Функция strcat объединяет свой первый входной аргумент с разделителем, определённым во втором входном аргументе (рис. 1.2.4-4). В приведенном примере функция strcat используется для получения новой строки.

 

--> // Использования функций strca t --> --> strcat(["1" "2" "3" "4" "5"]," + ")   ans = 1 + 2 + 3 + 4 + 5

 

Рис. 1.2.4-4 Пример использования функций strcat


Дата: 2019-11-01, просмотров: 382.