Операторы сравнения для массивов
Операторы сравнения определены для массивов одинаковой размерности и все операции выполняются на поэлементной основе. Результатом оператора является массив той же размерности, состоящий из «0» и «1», отражающих заданное условие между соответствующими элементами.
Виды операторов:
а) A < B - А меньше B
б) A > B - A больше
в) A <= B - A меньше или равно B
г) A >= B - A больше или равно B
д) A == B - A равно B
е) A ~= B - A не равно B
Пример 2.5. Использовать оператор сравнения “>=” для сравнения матриц.
Пусть Х= = {xij}. Сравним ее поэлементно с матрицей
Y= = {yij}.
>>X = 5*ones(3,3); % создание матрицы Х
>>X >= [1 2 3; 4 5 6; 7 8 10] % сравнение X и Y
ans =
1 1 1
1 1 0
0 0 0
Единицы соответствуют элементам, для которых условие Xij>Yij выполнено.
Логические операторы
Логических операторов всего три: «И» - “&”, «ИЛИ» - “|”, «НЕ» - “~”. Результатом логического оператора также является матрица, состоящая из «0» и «1», причем в исходных операндах 0 обозначает «ложь», а любое не нулевое число – «истина».
Пример 2.6.Пример использования оператора “|”:
>>u = [0 0 1 1 0 1];
>>v = [0 1 1 0 0 1];
>>u | v % Поэлементная
% дизъюнкция векторов
% u и v
ans =
0 1 1 1 0 1
Символьные вычисления
Большой интерес для применения методов дифференциального и интегрального исчисления представляют так называемые символьные вычисления. Для их реализации используется пакет расширения Symbolic Math.
Символьные переменные – это специальный тип переменных, которые можно испльзовать как входные параметры символьных команд. К символьным командам относятся математические преобразования над функциональными представлениями y = f(x), такиекак упрощение алгебраических выражений, раскрытие скобок в многочленах, операции интегрирования и дифференцирования функций, и т.д.
Основные команды пакета Symbolic Math:
1. x = sym ('x') - создаёт символьную переменную с именем х.
2. x = sym(a)- преобразует десятичную дробь a в обыкновенную (p/q).
>> x =sym( 2.5);
x =
5/2 % Результат
3. Лексикографическое упорядочивание буквенных символов (сортировка) – т.е. перестановка их в порядке, определенном соответствующим алфавитом, в примере - латинским.
>> syms a b c d e x
>> sort ([a c e b d])
ans =
[a,b,c,d,e] % Результат
4. int(s) - возвращает первообразную функции s.
5. diff(s) – дифференцирует функцию s.
6. R = jacobian(f,v), где f- функция; v - вектор аргументов f. Возвращает якобиан.
Пример 2.7.
Перед использованием функций пакета символьных вычислений необходимо определить тип переменной x, как символический.
a) Вычислить интеграл
>> syms x
>> int(x^2-1) % вычисление первообразной
ans =
1/3*x^3-x
b) Найти производную .
Производную можно найти, используя оператор
>> diff(x^2-1,x) % нахождение производной
ans =
2*x
с) Даны функции зависимости координат {x, y, z} от параметров r, l, f.
x = r× cos(l)×cos(f);
y = r× cos(l)×sin(f);
z = r× sin(l);
Найти якобиан замены координат.
>> syms r l f % объявление переменных r, l, f как
% символьных
>> x = r*cos(l)*cos(f);
>> y = r*cos(l)*sin(f);
>> z = r*sin(l);
>> J = jacobian([x; y; z], [r l f])% вычисление
% якобиана
J = % результат
[cos(l)*cos(f), -r*sin(l)*cos(f), r*cos(l)*sin(f)]
[cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*cos(f)]
[sin(l), r*cos(l), 0]
Упражнение 2.1. Найти , .
Упражнение 2.2. Найти .
Упражнение 2.3. Вычислить ; если .
Упражнение 2.4. Найти .