Возможна ли разработка приложения на Octave с GUI? |
Основы работы
2.6 Массивы
Как правило, массивы используют для хранения и обработки множества однотипных данных. Вместо создания переменной для хранения каждого данного создают один массив, где каждый элемент имеет порядковый номер. Таким образом, массив — множественный тип данных, состоящий из фиксированного числа элементов одного типа. Как и любой другой переменной, массиву должно быть присвоено имя.
Переменную, представляющую собой просто список данных, называют одномерным массивом или вектором. Для доступа к данным, хранящимся в определённом элементе массива, необходимо указать имя массива и порядковый номер этого элемента, называемый индексом.
Если возникает необходимость хранения данных в виде таблиц, в формате строк и столбцов, необходимо использовать двумерные массивы (матрицы). Для доступа к данным, хранящимся в таком массиве, необходимо указать имя массива и два индекса, первый должен соответствовать номеру строки, а второй — номеру столбца, в котором хранится необходимый элемент.
Значение нижней границы индексации в Octave равно единице. Индексы могут быть только целыми положительными числами или нулём.
Самый простой способ задать одномерный массив в Octave имеет вид имя массива = , где — значение первого элемента массива, — значение последнего элемента массива, — шаг, с помощью которого формируется каждый следующий элемент массива, то есть значение второго элемента составит , третьего — , и так далее до
Если параметр в конструкции отсутствует: имя массива = , это означает, что по умолчанию он принимает значение равное единице, то есть каждый следующий элемент массива равен значению предыдущего плюс один.
Примеры создания массивов:
>>> A=1:5 A = 1 2 3 4 5 >>> B=2:2:10 B = 2 4 6 8 10 >>> xn= -3.5; xk = 3.5; dx = 0.5; >>> X=xn : dx : xk X = Columns 1 through 8 : -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 Columns 9 through 1 5 : 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Переменную, заданную как массив, можно использовать в арифметических выражениях и в качестве аргумента математических функций. Результатом работы таких операторов являются массивы:
>>> xn= -3.5; xk = 3.5; dx = 0.5; >>> X=xn : dx : xk; >>> Y=cos (X/2) Y = Columns 1 through 7 : -0.1782 0.0707 0.3153 0.5403 0.7316 0.8775 0.9689 Columns 8 through 1 5 : 1.0 0.9689 0.8775 0.7316 0.5403 0.3153 0.0707 -0.1782 >>> B= 2 : 2 : 10;C=sqrt (B) C = 1.4142 2.0000 2.4495 2.8284 3.1623 >>> -2:2 ans = -2 -1 0 1 2 >>> ans*2-pi /2 ans = -5.5708 -3.5708 -1.5708 0.4292 2.4292
Векторы и матрицы в Octave можно вводить поэлементно. Так для определения вектора–строки следует ввести имя массива, а затем, после знака присваивания, в квадратных скобках через пробел или запятую, перечислить элементы массива:
>>> x=[2 4 6 8 10] x = 2 4 6 8 10 >>> y=[ -1.2 3.4 -0.8 9.1 5.6 -7.3] y = -1.20000 3.40000 -0.80000 9.10000 5.60000 -7.30000
Элементы вектора–столбца вводятся через точку с запятой:
>>> X= [1; 3; 5; 7; 9] X = 1 3 5 7 9
Обратиться к элементу вектора можно указав имя массива и порядковый номер элемента в круглых скобках:
>>> x=[2 4 6 8 1 0 ]; >>> y=[ -1.2 3.4 -0.8 9.1 5.6 -7.3]; >>> x ( 1 )% значение первого элемента массива x ans = 2 >>> y ( 5 )% значение пятого элемента массива y ans = 5.6000 >>> x ( 1 ) /2+y ( 3 ) ^2-x (4) /y(5) ans = 0.21143
Ввод элементов матрицы так же осуществляется в квадратных скобках, при этом элементы строки отделяются друг от друга пробелом или запятой, а строки разделяются между собой точкой с запятой. Обратиться к элементу матрицы можно указав после имени матрицы в круглых скобках через запятую номер строки и номер столбца, на пересечении которых элемент расположен. Примеры задания матриц и обращение к их элементам показаны в листинге:
>>> M=[2 4 6; 1 3 5; 7 8 9] M = 2 4 6 1 3 5 7 8 9 >>> M(1, 2) ans = 4 >>> M(3, 1) ans = 7 >>> M(2, 2) /2+M(3,3) ^0.5 -M(1, 1)*5 ans = -5.5000
Подробно работа с векторами и матрицами описана в пятой главе.