![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Поэлементные и матричные операции
Ранее было отмечено, что Matlab представляет числа в виде массива >> x=1:4 x = 1 2 3 4 >> y=10:10:40 y = 10 20 30 40 >> z=x+y z = 11 22 33 44 Векторы складываются поэлементно >> x=0:pi/6:pi; >> y=sin(x) y = 0 0.5000 0.8660 1.0000 0.8660 0.5000 0.0000 Поскольку х – вектор-строка, то у будет вектором того же размера, что и х. С операциями типа "умножение" (возведение в степень, умножение и деление) несколько сложнее. Дело в том, что в Matlab имеется два различных типа арифметических операций типа "умножение" – поэлементные и для массивов в целом (матричные). Матричные арифметические операции определяются правилами линейной алгебры. Например, поэлементное умножение матриц A и B размером Знак точки ". " отличает операции над элементами массивов от матричных операций. Сравните A1=[2 3; 4 5]; A2=[1 4; 6 2]; %задаются матрицы 2×2 A3=a1*a2 % матричное умножение матриц A3 = 20 14 29 28 A4=a1. *a2 % поэлементное умножение матриц A4 = 2 12 30 8 Символ "%" отделяет комментарий (пояснительный текст) от команд. >> a=[1 2 3; 0 4 5] % задается матрица 2×3 a = 1 2 3 0 4 5 >> a.^2 %поэлементное возведение в квадрат ans = 1 4 9 0 16 25 >> a^2 %матричное возведение в квадрат ??? Error using ==> mpower Matrix must be square. Попытка возвести в квадрат прямоугольную матрицу Примеры наглядно демонстрируют, что для одних и тех же матриц результаты поэлементных и матричных операций типа "умножение" разные! Арифметические операции типа "сложение" над массивами всегда выполняются поэлементно, поэтому операции ". +" и ". -" не существуют. В математике не определена операция деления матриц и векторов. Но в Matlab символы / и \ используются для решения матричных уравнений. Операция b/a эквивалентна операции b*inv(a), где функция inv осуществляет обращение матрицы. Эту операцию удобно использовать для решения матричного уравнения >> v=4:2:10 v = 4 6 8 10 >> w=v/2 w = 2 3 4 5 Попытка поделить число на вектор или матрицу вызовет ошибку >> q=2/v ??? Error using ==> mrdivide Matrix dimensions must agree. Matlab сообщает об ошибке использования матричного деления. Размеры матриц должны быть согласованы. А вот операция поэлементного деления пройдет в обоих >> q=2./v q = 0.5000 0.3333 0.2500 0.2000 Здесь значение 2 было поочередно поделено на каждый из элементов вектора v. И каждый из элементов вектора может быть поделен на 2 >> w=v./2 w = 2 3 4 5 Из примеров видно, что при делении или умножении вектора (матрицы) на скаляр поэлементные операции не отличаются от матричных >> w=v/2 w = 2 3 4 5 т.е. точку перед знаком операции в этих случаях ставить не обязательно.
Дата добавления: 2014-11-08; Просмотров: 2630; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |