Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Создание новых массивов на основе существующих
Индексация при помощи двоеточия удобна при выделении части из большого объема данных в новый массив. Пусть задан вектор W >> W=[0.1 2.2 3.4 5.6 3.1 6.8 9.7] W = 0.1000 2.2000 3.4000 5.6000 3.1000 6.8000 9.7000 Составим вектор P, состоящий из всех элементов вектора W, кроме третьего, используя двоеточие и сцепление строк: >> P=[W(1:2) W(4:7)] P = 0.1000 2.2000 5.6000 3.1000 6.8000 9.7000 Выделение блоков матриц также осуществляется индексацией с помощью двоеточия. Введем матрицу >> P=[1 2 0 2;4 10 12 5;0 11 10 5;9 2 3 5] P = 1 2 0 2 4 10 12 5 0 11 10 5 9 2 3 5 Выделим из нее матрицу размером 2×2, находящуюся в центре: >> P1=P(2:3,2:3) P1 = 10 12 11 10 Вставим на это же место матрицу F размером 2×2: >> F=[3 -7;4 11] F = 3 -7 4 5 >> P(2:3,2:3)=F P = 1 2 0 2 4 3 -7 5 0 4 11 5 9 2 3 5 Для удаления отдельных столбцов и строк матрицы используются пустые квадратные скобки [ ]. Удалим второй столбец матрицы P: >> P(:,2)=[] P = 1 0 2 4 -7 5 0 11 5 9 3 5 А теперь удалим вторую строку: >> P(2,:)=[] P = 1 0 2 0 11 5 9 3 5 «Растянуть» матрицу Р в единый вектор-столбец V можно с помощью простой записи: >> V=P(:) V = «Расширять» матрицу, составляя ее из отдельных заданных матриц («блоков»), можно тоже довольно просто. Если заданы несколько матриц - блоков A1, A2,…,AN с одинаковым числом строк, то из них можно «слепить» единую матрицу А, объединяя блоки в одну «строку» операцией горизонтального сцепления A= [ A1,A2,…,AN ]. Аналогично вертикальное сцепление матриц можно реализовать при условии, что все составляющие блоки - матрицы имеют одинаковое число столбцов, применяя для отделения блоков вместо запятой точку с запятой: A= [ A1;A2;…,AN ]. Пример горизонтального сцепления: >> A1=[1 2 3;4 5 6;7 8 9] A1 = 1 2 3 4 5 6 7 8 9 >> A2=[10;11;12] A2 = >> A3=[14 15;16 17;18 19] A3 = 14 15 16 17 18 19 >> A=[A1,A2,A3] A = 1 2 3 10 14 15 4 5 6 11 16 17 7 8 9 12 18 19 Пример вертикального сцепления: >> B1=[1 2 3 4 5] B1 = 1 2 3 4 5 >> B2=[6 7 8 9 10;11 12 13 14 15] B2 = 6 7 8 9 10 11 12 13 14 15 >> B3=[17 18 19 20 21] B3 = 17 18 19 20 21 >> B=[B1;B2;B3] B = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 Построение таблицы значений функции Пусть требуется вывести в командное окно таблицу значений функции y = 3e-0,5xsinx при изменении аргумента х от 0 до 5 с шагом 0,5. Вычисление массива значений этой функции в указанных условиях можно осуществить с помощью простых операторов: >> a=3;h=0.5;x=0:.5:5;y=a*exp(-h*x).*sin(x); >> x x = Columns 1 through 10 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 Column 11 5.0000 >> y y = Columns 1 through 10 0 1.1201 1.5311 1.4135 1.0035 0.5144 0.0945 -0.1829 -0.3073 -0.3091 Column 11 -0.2361 Результат, отображенный на экране, не похож на таблицу. Построим таблицу в виде столбцов значений переменной и функции, используя вертикальное сцепление: >> disp([x' y']) 0 0 0.5000 1.1201 1.0000 1.5311 1.5000 1.4135 2.0000 1.0035 2.5000 0.5144 3.0000 0.0945 3.5000 -0.1829 4.0000 -0.3073 4.5000 -0.3091 5.0000 -0.2361 Date: 2016-08-30; view: 199; Нарушение авторских прав |