Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Присваивается значение 100




A =
 
 
 

Функция вида: [i, j] = find(x) позволяет получить индексы ненулевых элементов прямоугольного массива.

Функция вида:[i, j, s] = find(x) возвращает кроме того и их значения в виде вектора s.

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

Аргументами логических операторов могут быть числа и строки. При аргументах-числах логический нуль соответствует числовому нулю, а любое отличное от нуля число воспринимается как логическая единица. Для строк действует уже отмеченное правило – каждый символ строки представляется своим ASCII-кодом. В таблице 1.17 приведены логические операции в порядке уменьшения приоритета.

Таблица 1.17. Логические операции

Функция Оператор
Логическое НЕ ~ ; not (not (a, b))
Логическое И &;and (and (a, b))
Логическое ИЛИ |;or (or (a, b))
Исключающее ИЛИ xor (xor (a, b))
Верно, если все элементы вектора равны нулю any (any (a))
Верно, если все элементы вектора не равны нулю all (all (a))

Примеры.

Пусть задано два вектора Аи В.Продемонстрируем выполнение логических операций.

>> А=[1 2 3]; В=[1 0 4];


1. >> and(A,B)

ans = 1 0 0

2. >> оr(А,В)

ans = 1 1 1

3. >> А&В

ans = 1 0 0

4. >> А|В

ans= 1 1 1

5. >> not(А)

ans = 0 0 0

6. >> not(B)

ans = 0 1 0

7. >> ~B

ans= 0 1 0

8. >> xor(A,B)

ans = 0 1 0

9. >> any(A)

ans = 1

10. >> all([0 0 0])

ans = 0

11. >> all(B)

ans = 0

12. >> and('abc','012')

ans = 1 1 1


 

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

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

- (a*b) < (c*d) – объединение арифметических и логических команд;

- (A & B) == (C | D) – объединение логических команд и операции сравнения "равно" – ==.

-x = (b ~= 0) && (a/b > 18.5) – объединение логических команд и операции "больше" – >.

 

Контрольные вопросы

1. Какие арифметические операции предусмотрены в среде MATLAB?

2. В чем разница между записью матричных и поэлементных арифметических операций? Для каких арифметических операций эта разница существенна, а для каких нет?

3. Какие операции отношения предусмотрены в среде MATLAB и, какими символами они задаются?

4. Какие логические операции предусмотрены в среде MATLAB и, какими символами они задаются?

5. Какой преоритет имеют арифметические, логические операции и операции отношения?

6. Приведите пример построения сложного логического выражения. содержащего операции различного типа.

7. Какие элементарные функции реализованы в среде MATLAB?

8. Как можно определить назначение стандартной функции по ее имени?

9. Какие стандартные функции, связанные с арифметическими операциями предусмотрены в среде MATLAB?


Поделиться:

Дата добавления: 2014-12-30; просмотров: 74; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты