КАТЕГОРИИ: Архитектура-(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) |
Ввод, сложение и вычитание векторов
Вектор-столбцы и вектор-строки Работу с массивами начнем с простого примера — вычисления суммы векторов Для хранения векторов используйте массивы а и b. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой: >>а = [1.3; 5.4; 6.9] a= 1.3000 5.4000 6.9000 Замечание Следует запомнить, что точка с запятой в конце выражения используется для подавления вывода результата выражения на экран. Оказывается, что этот символ предназначен и для разделения элементов векторов. Так как введенное выражение не завершено точкой с запятой, то MatLab тематически вывела значение переменной а. Введите теперь второй вектор, подавив вывод на экран >>b = [7.1; 3.5; 8.2]; Для нахождения суммы векторов используется знак +. Вычислите сумму, запишите результат в массив с и выведите его элементы в командное окно: >> с = а + b 8.4000 8.9000 15.1000 Узнайте размерность и размер массива а при помощи встроенных функций ndims и size: >>ndims(a) ans= size(a) ans = 3 1 Итак, вектор а хранится в двумерном массиве а размерностью три на один (вектор-столбец из трех строк и одного столбца). Аналогичные операции можно проделать и для массивов b и с. Заметьте, что числа в MatLab представляются в виде двумерного массива один на один. Отсюда должно стать понятно, почему при сложении векторов используется тот же знак плюс, что и для сложения чисел. Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее. Замечание Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке. Особенность MatLab представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Используйте следующий оператор присваивания: » d = sin(c) d = 0.8546 0.5010 0.5712 Итак, встроенные в MatLab элементарные функции приспосабливаются к виду аргументов; если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива. Убедитесь в этом еще на одном примере. Если необходимо найти квадратный корень из элементов вектора d со знаком минус, то достаточно записать: >>sqrt(d) ans = 0 + 0.9244i 0 + 0.7078i 0 + 0.7558i Оператор присваивания не использовался, поэтому MatLab записала ответ в стандартную переменную ans. Ввод вектор-строки осуществляется в квадратных скобках, однако элементы следует разделять пробелами или запятыми. Операции сложения, вычитания и вычисление элементарных функций от вектор-строк производятся так же, как и с вектор-столбцами, в результате получается вектор-строка того же размера, что и исходные. >> s1 = [3 4 9 2] s1 = 3 4 9 2 >> s2 = [5 3 3 2]
>>s2 = 5 3 3 2 >>s3 = s1 + s2 s3= 8 7 12 4 >>s4=log(s3) s4 = 2.0794 1.9459 2.4849 1.3863 Выясните, в каких массивах хранятся вектор-строки. Для этого можно использовать функции ndims и size или команду whos: » whos Name Size Bytes Class s1 1x4 32 double array s2 1x4 32 double array s3 1x4 32 double array s4 1x4 32 double array Итак, вектор-строки s1, s2, s3 и s4 содержатся в двумерных массивах размерностью один на четыре. Для определения длины векторов или вектор-строк служит встроенная функция length: >>length(s1) ans= Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой: >>vl = [1; 2]; >>v2 = [3; 4; 5]; >>v = [vl; v2] v= Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми: » vl = [1 2]; »v2 = [3 4 5]; »v = [vl v2] v = 1 2 3 4 5
Дата добавления: 2014-01-03; Просмотров: 566; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |