русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание новых массивов на основе существующих


Дата добавления: 2015-06-12; просмотров: 539; Нарушение авторских прав


 

Индексация при помощи двоеточия удобна при выделении части из большого объема данных в новый массив. Пусть задан вектор 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



<== предыдущая лекция | следующая лекция ==>
Создание специальных матриц | Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.656 сек.