Преобразованная в нижний индекс ссылка
Перегрузка классов subsref, чтобы реализовать пользовательское поведение индексации для объектов класса. Для получения дополнительной информации см. Индексирование объектов.
B = subsref(A,S)Этот пример показывает, как MATLAB® вызывает subsref для следующего выражения индексации.
A = magic(5); A(1:2,:)
ans = 2×5
17 24 1 8 15
23 5 7 14 16
Синтаксис, A(1:2,:), приводит к вызову B = subsref(A,S), где S является структурой 1 на 1 где S.type is '()' и S.subs is {1:2,':'}. Символ двоеточия указывает на двоеточие, используемое в качестве индекса.
Этот пример показывает, как MATLAB® вызывает subsref для индексации выражения то использование фигурные скобки.
C = {"one", 2, 'three'};
C{1:2}ans = "one"
ans = 2
Синтаксис, C {1:2}, приводит к вызову [c1,c2] = subsref(C,S), где S.type является '{}', и S.subs является {[1 2]}.
Этот пример показывает, как MATLAB® вызывает subsref для индексации выражения та запись через точку использования.
A = struct('number',10);
A.numberans = 10
Синтаксисом A.number приводит к вызову B = subsref(A,S), где S.Type является '.' и S.subs, является 'number'.
A Индексируемый объектный массивИндексируемый объектный массив, переданный MATLAB как объектный массив, который является частью выражения индексации.
S Индексация структурыИндексация структуры, переданной MATLAB как индексация substruct для выражения индексации, которое вызвало вызов subsref. Эта структура имеет эти поля:
ввод Вектор символов или скаляр строки, содержащий (), {} или ., задавая нижний тип.
subs – Массив ячеек, вектор символов или скаляр строки, содержащий фактические индексы.
Индексные выражения могут использовать больше чем один уровень, чтобы сформировать более сложные выражения. Например, A{1}.field(3:5) имеет три уровня индексации. Для этого выражения S является массивом структур 3 на 1 с этими полями:
disp(S(1))
type: '()'
subs: {[1]}
disp(S(2))
type: '.'
subs: 'field'
disp(S(3))
type: '()'
subs: {[3 4 5]}Типы данных: struct
B Результат индексации выраженияРезультат индексации выражения.
A(I) является массивом, сформированным из элементов A, заданного нижним векторным I. Полученный массив одного размера как I за исключением особого случая, где A и I являются оба векторами. В этом случае A(I) имеет то же число элементов как I, но имеет ориентацию A.
A(I,J) является массивом, сформированным из элементов прямоугольной субматрицы A, заданного нижними векторами I и J. Полученный массив имеет строки length(I) и столбцы length(J). Двоеточие, используемое в качестве индекса, указывает на все элементы в этом измерении. Например, A(I,:) означает все столбцы тех строк, заданных векторным I. Точно так же A(:,J) означает все строки столбцов, заданных J.
A(I,J,K,...) является массивом, заданным индексами. Результатом является length(I)-by-length(J)-by-length(K)....
A{I}, где A является массивом ячеек и I, является скалярными формами копия массива в заданной ячейке A. Если I имеет больше чем один элемент, это выражение является списком, разделенным запятыми. Можно также использовать несколько индексов, которые указывают скалярный элемент, как в A{3,4}.
A(I).field, когда A является массивом структур и I, является скалярными формами копия массива в поле с именем field. Если I имеет больше чем один элемент, это выражение является списком, разделенным запятыми. Если A является массивом структур 1 на 1, то индекс может быть пропущен. В этом случае A.field совпадает с A(1).field.
Указания и ограничения по применению:
Индексом I в A(I) должен быть :, скаляр или вектор.
Изогнутая индексация фигурной скобки для массивов ячеек и индексация точки для структур не поддержаны (массивы графического процессора не поддерживают массивы ячеек или структуры).
Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
Индексом I в A(I) должен быть :, скаляр или вектор.
Изогнутая индексация фигурной скобки для массивов ячеек и индексация точки для структур не поддержаны.
Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.