![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Присваивается значение 100
Функция вида: [i, j] = find(x) позволяет получить индексы ненулевых элементов прямоугольного массива. Функция вида:[i, j, s] = find(x) возвращает кроме того и их значения в виде вектора s. Для создания алгоритмов сложной структуры с использованием ветвящихся процессов и булевских вычислений используются логические операции. Как и операции сравнения, логические операции выполняются поэлементно с соблюдением аналогичных правил. Аргументами логических операторов могут быть числа и строки. При аргументах-числах логический нуль соответствует числовому нулю, а любое отличное от нуля число воспринимается как логическая единица. Для строк действует уже отмеченное правило – каждый символ строки представляется своим ASCII-кодом. В таблице 1.17 приведены логические операции в порядке уменьшения приоритета. Таблица 1.17. Логические операции
Примеры. Пусть задано два вектора Аи В.Продемонстрируем выполнение логических операций. >> А=[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?
|