- Справка Scilab
- Scilab
- Ключевые слова Scilab
- ans
- обратный слэш (\)
- квадратные скобки
- colon
- запятая
- комментарии
- сравнение
- доллар
- точка
- знак равенства
- выделение
- крышечка
- вставка
- left
- меньше
- минус
- НЕ
- круглые скобки
- процент
- плюс
- кавычка
- точка с запятой
- слэш (косая черта)
- звёздочка
- символы
- тильда
- getscilabkeywords
вставка
частичное присвоение или модификация значения переменной
присвоение
частичное присвоение значения переменной
Последовательность вызова
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
Аргументы
- x
матрица любого типа (constant, sparse, polynomial,...)
- l
list
- i,j
индексы
- k1,...kn
индексы с целочисленными значениями
- a
новое значение элемента
Описание
- В СЛУЧАЕ МАТРИЦЫ
Если
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
. Даже если это работает для всех полиномов, рекомендуется использовать символ$
для удобочитаемости.
- В СЛУЧАЕ СПИСКА (LIST) ИЛИ ТИПИЗИРОВАННОГО СПИСКА (TLIST)
If they are present the
ki
give the path to a sub-list entry ofl
data structure. They allow a recursive insertion without intermediate copies. Thel(k1)...(kn)(i)=a
andl(list(k1,...,kn,i)=a)
instructions are interpreted as: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)
.
Примеры
// В СЛУЧАЕ МАТРИЦЫ a=[1 2 3;4 5 6] a(1,2)=10 a([1 1],2)=[-1;-2] a(:,1)=[8;5] a(1,3:-1:1)=[77 44 99] a(1)=%s a(6)=%s+1 a(:)=1:6 a([%t %f],1)=33 a(1:2,$-1)=[2;4] a($:-1:1,1)=[8;7] a($)=123 // x='test' x([4 5])=['4','5'] // b=[1/%s,(%s+1)/(%s-1)] b(1,1)=0 b(1,$)=b(1,$)+1 b(2)=[1 2] // числитель // в случае LIST или TLIST l=list(1,'qwerw',%s) l(1)='Changed' l(0)='Added' l(6)=['one more';'added'] // // dts=list(1,tlist(['x';'a';'b'],10,[2 3])); dts(2).a=33 dts(2)('b')(1,2)=-100
Смотрите также
- find — find indices of boolean vector or matrix true elements
- horner — polynomial/rational evaluation
- круглые скобки — ( ) левая и правая круглые скобки
- выделение — выделение элемента матрицы или списка
Comments
Add a comment:
Please login to comment this page.