АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Ввод векторов и матриц

Читайте также:
  1. LED-часы Матрица
  2. Арифметические операции с матрицами
  3. Більший розмір вирубної матриці
  4. В прямоугольной матрице обменять первый столбец с последним.
  5. Вал Валериан - Матрица V (компиляция)
  6. Векторов
  7. Власні числа та власні вектори матриці.
  8. Властивості множення матриць
  9. Властивості оберненої матриці
  10. Вопрос 17. Модель «матрица»: характеристика, достоинства и недостатки
  11. ВОПРОС № 1: Матрица БКГ («Доля рынка – рост рынка»).

Фундаментальным принципом построения системы 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.


1 | 2 | 3 | 4 | 5 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.)