Реклама:

"elements");

После выполнения пример отображает следующее: Matrix A has 18 elements

Методы получения и задания данных в MWArray

Доступ к элементам массивов. Обратиться непосредственно к данных лежащего в основе массива MATLAB невозможно. Вместо этого используются методы set и get чтения или измененияч элемента массива. Методы set и get поддерживают как простую индексацию через единственный индекс, так и многомерную - можно указать набор int индексов требуемых значений. В случае массивов структур также поддерживается индексация по имени поля.

Для получениия и установки значения в объекте класса MWArray или любом из его дочерних классов используются методы: get, getData, set, toArray.

Метод get. Этот метод возвращает элемент, указанный индексом, или элемент, соответствующий многомерному индексу массива. Элемент возвращается как Object. Метод используется так:

public Object get(int index) public Object get(int[] index)

Первый синтаксис (int index) используйтся для возвращения элемента указанного 1-мерной индексацией MATLAB (напомним, что в MATLAB индексация начинается с 1 и элементы нумеруются в постолбцовом порядке). Второй синтаксис (int[] index) используйтся для возвращения элемента многомерного массива по указанному многомерному массиву индексов. Первый синтаксис работает лучше, чем второй. В случае, где index имеет тип int[], каждый элемент вектора index есть индекс по одному измерению объект MWArray. Правильный диапазон для любого индекса 1 <= index[i] <= N[i], где N[i] является размером i-го измерения.

Приведем пример получения значения MWArray методом get. Поиск элемента (2, 4) из массива объекта A:

int[] index = {2, 4}; Object d out = A.get(index);

System.out.println("Data read from A(2,4) is " + d_out.toString());

После выполнения пример отображает следующее: Data read from A(2,4) is 10

Метод getData. Этот метод возвращает все элементы объекта MWArray. Элементы возвращаются в одномерном массиве типа Object, в постолбцовом порядке. Элементы возвращенного массива преобразуются согласно правилам преобразования значения по умолчанию. Если основной массив MATLAB - комплексный числовой тип, getData возвращает вещественную часть. Если основной массив разрежен, то возвращается массив, содержащий элементы отличные от нуля, Если основной массив - массив ячеек или структур, тогда toArray рекурсивно вызывается на каждом элементе.

Пример. Получение данных из объекта MWArray A, с приведением типа от Object к int:

System.out.println("Data read from matrix A is:");

int[] x = (int[]) A.getData(); for (int i = 0; i < x.length;

System.out.print(" " + x[i]); System.out.println();

После выполнения пример отображает следующее:

Data read from matrix A is: 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12 18

Метод set. Этот метод заменяет элемент по указанному индексу в объекте MWArray на входной элемент. Метод используется так:

public void set(int index, Object element) public void set(int[] index, Object element)

Первый синтаксис (int index) используйтся для замены элемента указанного одномерным индексом MATLAB (в постолбцовом порядке). Второй синтаксис (int[] index) используйтся для возвращения элемента многомерного массива по указанному многомерному индексу массива. Первый синтаксис работает лучше, чем второй.


⇐ Предыдущая страница| |Следующая страница ⇒