частичное присвоение или модификация значения переменной
частичное присвоение значения переменной
x(i,j)=a x(i)=a l(i)=a l(k1)...(kn)(i)=a или l(list(k1,...,kn,i))=a l(k1)...(kn)(i,j)=a или l(list(k1,...,kn,list(i,j))=a
матрица любого типа (constant, sparse, polynomial,...)
list
индексы
индексы с целочисленными значениями
новое значение элемента
Если x является матрицей, то индексы i и j могут быть:
В этом случае значения, указанные как индексы, должны быть положительными и учитывается лишь их целая часть.
Если a является матрицей с размерами
(size(i,'*'),size(j,'*')), то
x(i,j)=a возвращает новую матрицу x такую, как
x(int(i(l)),int(j(k)))=a(l,k) для
l от 1 до
size(i,'*') и k от
1 до size(j,'*'), другие изначальные элементы x
остаются неизменными.
Если a является скаляром, то
x(i,j)=a возвращает новую матрицу x такую, как
x(int(i(l)),int(j(k)))=a для
l от 1 до
size(i,'*') и k от
1 до size(j,'*'), другие изначальные элементы x
остаются неизменными.
Если максимальное значение i или j
превосходит соответствующие размеры матрицы x, то
массив x сначала расширяется до требуемых размеров нулевыми
элементами для стандартных матриц, символьными строками нулевой длины для строковых матриц
и значениями "ложь" для матриц логических значений.
x(i,j)=[] удаляет строки, определённые через
i, если j совпадает со всеми столбцами
x или удаляет столбцы, определённые через
j, если i совпадает со всеми строками
x. В других случаях x(i,j)=[]
формирует ошибку.
x(i)=a, где a -- вектор, возвращает
новую матрицу x, такую что
x(int(i(l)))=a(l) для l от 1 до
size(i,'*'), другие изначальные элементы x
являются неизменными.
x(i)=a, где a -- скаляр, возвращает
новую матрицу x, такую что
x(int(i(l)))=a для l от 1 до
size(i,'*'), другие изначальные элементы x
являются неизменными.
Если максимальное значение i превосходит
size(x,1), то x сначала расширяется до
требуемого размера нулевыми элементами для стандартных матриц, символьными строками нулевой длины для строковых матриц
и значениями "ложь" для матриц логических значений.
x является скаляром (1x1)
матрица a может быть вектор-строкой (соответственно вектор-столбцом) размером
size(i,'*'). Результирующая матрица
x является вектором-строкой (соответственно вектор-столбцом);
x является вектор-строкой
вектор a должен быть вектор-строкой размером size(i,'*');
x является вектор-столбцом
вектор a должен быть вектор-столбцом размером size(i,'*');
x в общем виде
матрица a должна быть вектор-строкой или вектор-столбцом
размером size(i,'*') и максимальное значение
i не может превосходить
size(x,'*').
x(i)=[] удаляет элементы, определённые через i.
Символ двоеточие : означает "все элементы".
x(i,:)=a интерпретируется как
x(i,1:size(x,2))=a
x(:,j)=a интерпретируется как
x(1:size(x,1),j)=a
x(:)=a возвращает в x
матрицу a, элементы которой переставлены в соответсвии
с размерами x. Размер size(x,'*')
должен быть равен размеру size(a,'*').
Если индекс (i или j) задан в виде
вектора логических значений, то он интерпретируется как
find(i) или, соответственно, find(j).
Если индекс (i или j) задан в виде
полиномов или в виде неявного вектора полиномов, то он интерпретируется как
horner(i,m) или, соответственно,
horner(j,n), где m и
n связаны с размерами x.
Даже если это работает для всех полиномов, рекомендуется использовать символ
$ для удобочитаемости.
Если они имеются в наличии, то ki указывают путь до элемента подсписка
структуры данных l. Они позволяются рекурсивную вставку без
промежуточных копий. Инструкции l(k1)...(kn)(i)=a
и l(list(k1,...,kn,i)=a) интерпретируются следующим образом:
lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i) = a
lkn-1(kn) = lkn
.. = ..
l(k1) = lk1
А инструкции l(k1)...(kn)(i,j)=a и l(list(k1,...,kn,list(i,j))=a
интерпретируется как:
lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i,j) = a
lkn-1(kn) = lkn
.. = ..
l(k1)= lk1
i может быть:
вещественным неотрицательным скаляром. l(0)=a
добавляет элемент к списку "слева". l(i)=a
присваивает элементу i списка l
значение a. Если i>size(l), то
l сначала расширяется элементами нулевой длины (неопределённые).
l(i)=null() удаляет i-тый элемент из списка.
полиномом. Если i является полиномом, то он интерпретируется как
horner(i,m), где m=size(l).
Даже если это работает для всех полиномов, рекомендуется использовать символ
$ для удобочитаемости.
k1,..kn могут быть:
вещественным положительным скаляром;
полиномом, интерпретируемым как
horner(ki,m), где m является
соответствующим размером подсписка;
символьной строкой, связанной с именем элемента подсписка.
Для программно формируемых типов матриц, таких, как рациональные функции
и линейные системы пространства состояний, синтаксис x(i)
нельзя использовать для вставки элементов вектора из-за путаницы со вставкой
элемента списка. Должен использоваться синтаксис x(1,j)
или x(i,1) .
В СЛУЧАЕ МАТРИЦЫ
в случае LIST или TLIST