- Справка 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))=ax(:,j)=aинтерпретируется какx(1:size(x,1),j)=ax(:)=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
kigive the path to a sub-list entry ofldata structure. They allow a recursive insertion without intermediate copies. Thel(k1)...(kn)(i)=aandl(list(k1,...,kn,i)=a)instructions are interpreted as:lk1 = l(k1).. = ..lkn = lkn-1(kn)lkn(i) = alkn-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) = alkn-1(kn) = lkn.. = ..l(k1)= lk1iможет быть:вещественным неотрицательным скаляром.
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.