Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Создание векторов и матриц
Возможен ввод векторов в виде арифметических выражений, содержащих любые встроенные функции. Например: >> V=[2+2/(3+4),exp(5),sqrt(10)] V = 2.2857 148.4132 3.1623 Матрицы небольших размеров удобно вводить с командной строки следующим образом.. Вначале ставится открывающая квадратная скобка. Затем элементы каждой строки матрицы набираются через пробел или запятую, а ввод строки завершается нажатием на клавишу <Enter>. При вводе последней строки в конце ставится закрывающая квадратная скобка. Если после закрывающей квадратной скобки не ставить точку с запятой для подавления вывода в командное окно, то матрица выведется в виде таблицы. Пример: >> B=[1 3 0 -2 -2 5] B = 1 3 0 -2 -2 5 Еще один способ формирования векторных и матричных массивов в окне рабочего пространства Workspace рассмотрен в разделе 1.9. Если в матрице >> M=[1 2 3 4;5 6 7 8]; надо заменить элемент >> disp(M(2,3)) некоторым числом, например π, то это можно сделать так: >> M(2,3)=pi M = 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 3.1416 8.0000 Обратите внимание на то, что если операция присваивания нового значения хотя бы одному элементу матрицы не завершена точкой с запятой, матрица М целиком выводится в командное окно. Присвоить можно и значение элементу матрицы, индексы которого превышают текущие ее размеры. В этом случае эти размеры будут соответственно увеличены, а остальные элементы такой расширенной матрицы будут заполнены нулями: >> A=[1 2] A = 1 2 >> A(2,3)=5 A = 1 2 0 0 0 5 Длинный вектор можно вводить частями, которые затем объединяются с помощью операции сцепления строк: >> V1=[1 2 3];V2=[4 5 6]; >> V=[V1 V2] V = 1 2 3 4 5 6 Для создания нового вектора из определенных в заданном порядке элементов другого вектора применяется индексация при помощи вектора. Запись в вектор W пятого, второго, первого и третьего элементов вектора V производится следующим образом: >> ind=[5 2 1 3]; >> W=V(ind) W = 5 2 1 3 Пусть в векторе из девяти элементов требуется заменить нулями элементы с третьго по седьмой. Эту задачу легко решить индексацией с помощью двоеточия. Например: >> P=[-1 0.1 2.2 3.4 5.6 3.1 6.8 9.7 5.5]; >> P(3:7)=0 P = -1.0000 0.1000 0 0 0 0 0 9.7000 5.5000 Указание номеров элементов вектора можно использовать и при вводе векторов, последовательно добавляя новые элементы (необязательно в порядке возрастания их номеров). Команды: >> h=10; >> h(2)=20; >> h(4)=40; приводят к образованию вектора: >> h h = 10 20 0 40 Заметим, что для ввода первого элемента h необязательно указывать его индекс, т. к. при выполнении оператора h=10 создается вектор (массив размера один на один). Следующие операторы присваивания приводят к автоматическому увеличению длины вектора h, а пропущенные элементы (в нашем случае h(3)) получают значение ноль. Массивы различаются по числу размерностей или измерений: одномерные, двумерные, многомерные. Размером массива называют число элементов вдоль каждого из измерений. Размер квадратной матрицы называется ее порядком. Введем следующие массивы A, B, V, U, a: >> A=[1,2;3,4],B=[1 2 3;4 5 6],V=[1 2 3],U=[1;2;3],a=5 A = 1 2 3 4 B = 1 2 3 4 5 6 V = 1 2 3 U = a = Команда size(A) выдает число строк и столбцов матрицы A: >> disp(size(A)) 2 2 >> disp(size(B)) 2 3 >> disp(size(V)) 1 3 >> disp(size(U)) 3 1 >> disp(size(a)) 1 1 Итак, A, B, V, U, a – массивы размеров 2×2, 2×3, 1×3, 3×1, 1×1 соответственно, причем A – квадратная матрица порядка 2. Команда ndims(A) выдает размерность массива A: >> disp(ndims(A)) >> disp(ndims(B)) >> disp(ndims(a)) >> disp(ndims(V)) Итак, A, B, a, V – массивы размерности 2 установленных ранее размеров. Команда length(V) выдает число элементов вектора V, т. е. его длину: >> disp(length(V)) В 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. Date: 2016-08-30; view: 222; Нарушение авторских прав |