|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Ввод векторов и матрицФундаментальным принципом построения системы MATLAB является ее ориентация на операции с массивами. Массив – упорядоченная, пронумерованная совокупность однородных данных. Такими данными могут быть действительные и комплексные числа, переменные либо арифметические выражения. У массива должно быть имя. Массивы различаются по числу размерностей или измерений: одномерные, двумерные, многомерные. Размером массива называют число элементов вдоль каждого из измерений. Под вектором в MATLAB понимается одномерный массив данных, а под матрицей – двумерный или многомерный массив. Если элементы вектора представлены в виде столбца, такой вектор называется вектором-столбцом, а если в виде строки, вектор называется вектором-строкой. Исходные значения векторов можно задавать с клавиатуры путем поэлементного ввода. Для этого в командной строке следует вначале указать имя вектора, потом поставить знак присваивания < = >, далее – открывающую квадратную скобку, а за ней ввести заданные значения элементов вектора, отделяя их пробелами или запятыми. Завершается строка закрывающей квадратной скобкой. Так, ввод V=[1 2 3] V = 1 2 3 задает вектор-строку V, содержащую три элемента со значениями 1,2,3. Параллельное использование запятых и пробелов допустимо даже в пределах ввода одного вектора: записи V=[1,2,3] и V=[1 2,3] эквивалентны предыдущей. Оператор <:> (двоеточие) дает возможность простого создания векторов, каждый элемент которых отличается от предшествующего на постоянную величину, т.е. шаг. Например: >> V=-0.1:0.3:1.4 V = -0.1000 0.2000 0.5000 0.8000 1.1000 1.4000 При автоматическом заполнении шаг, равный единице, допускается не указывать. Шаг может быть и отрицательным. Возможен ввод векторов в виде арифметических выражений, содержащих любые встроенные функции. Например: >> V=[2+2/(3+4),exp(5),sqrt(10)] V = 2.2857 148.4132 3.1623 Вектор-столбец A вводится аналогично, но значения элементов в перечне отделяются знаком <;>: >> A=[1.3;5.4;6.9] A = 1.3000 5.4000 6.9000 Вектор-столбец можно создать транспонированием вектор-строки (см. п.1.10). Знак <;> также используется для разделения строк при задании матриц. Один из способов ввода матрицы основан на том, что матрицу можно рассматривать как вектор-столбец, каждый элемент которого является строкой матрицы. Поскольку точка с запятой используется для разделения элементов вектор-столбца, то комбинируя оба варианта разделителей, можно сформировать матрицу B =. >> B=[1 3 0;-2 -2 5] B = 1 3 0 -2 -2 5 Матрицы небольших размеров удобно вводить из командной строки. Вначале ставится открывающая квадратная скобка. Затем элементы каждой строки матрицы набираются через пробел, а ввод строки завершается нажатием на клавишу <Enter>. При вводе последней строки в конце ставится закрывающая квадратная скобка. Если после закрывающей квадратной скобки не ставить точку с запятой для подавления вывода в командное окно, то матрица выведется в виде таблицы. Так можно сформировать предыдущую матрицу B: >> B=[1 3 0 -2 -2 5] B = 1 3 0 -2 -2 5 Еще один способ формирования векторных и матричных массивов в окне рабочего пространства Workspace рассмотрен в разделе1.10.
Обращение к элементам вектора Доступ к элементам вектора осуществляется при помощи индекса (целое положительное число), заключаемого в круглые скобки после имени массива, в котором хранится вектор. Если введен массив V, определенный вектор-строкой >> V=[3.1 4.5 7.1 2.2 0.8]; то для вывода, например, его третьего элемента, используется индексация: >> V(3) ans =
7.1000 Если нужно, наоборот, вставить на это место некоторое число, например π, то это можно сделать так: >> V(3)=pi v = 3.1000 4.5000 3.1416 2.2000 0.8000
Обращение к элементам матриц Доступ к элементам матриц осуществляется при помощи двух индексов – номеров строки и столбца, заключенных в круглые скобки и расположенных после имени, в котором хранится массив данных, например: >> M=[1 2 3 4;5 6 7 8]; >> M(2,3) ans = Если в приведенной матрице на место элемента, обозначенного цифрой 7, нужно вставить другое число, например e, то это можно сделать так: >> M(2,3)=exp(1) M = 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 2.7183 8.0000 Обратите внимание на то, что после операции присваивания нового значения хотя бы одному элементу матрицы, не завершенной точкой с запятой, матрица М целиком выводится в командное окно. Присвоить можно и значение элементу матрицы, индексы которого превышают текущие ее размеры. В этом случае эти размеры будут соответственно увеличены, а остальные элементы такой расширенной матрицы будут заполнены нулями: >> A=[1 2] A = 1 2 >> A(2,3)=5 A = 1 2 0 0 0 5 Элементы массивов могут входить в состав выражений. >> A(1,1)/A(1,2)-A(2,3) ans = -4.5000 Функция size(B) позволяет установить размер массива B, она возвращает результат в виде вектора, первый элемент которого равен числу строк, а второй – столбцов: >> B=[1 2 3;4 5 6];V=[1 2 3];A=[1;2;3];a=5; >> disp(size(B)) 2 3 >> disp(size(V)) 1 3 >> disp(size(A)) 3 1 >> disp(size(a)) 1 1 Итак, B, V, A,a – массивы размеров 2×3, 1×3, 3×1, 1×1 соответственно. Результатом применения функции length(V) к вектору V является длина вектора, т.е. число его элементов: >> disp(length(V)) Функция ndims(B) отображает размерность массива B. >> disp(ndims(B)) >> disp(ndims(a)) >> disp(ndims(V)) Итак, B, a, V – массивы размерности 2 установленных выше размеров. В MATLAB можно создавать массивы размерности и выше 2. Пример: >> p(1,1,2)=1 p(:,:,1) = p(:,:,2) = >> disp(size(p)) 1 1 2 >> disp(ndims(p)) Итак, введен массив p размерности 3 размера 1×1×2 с двумя элементами p(1,1,1) =0 и p(1,1,2) =1. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.) |