- Справка Scilab
- Основные функции
- Побитовые операции
- Комплексные числа
- Дискретная математика
- Элементарные матрицы
- логарифм - экспонента - степень
- Плавающая запятая
- Представление целых чисел
- Целые числа
- Манипуляции с матрицами
- Матричные операции
- Поиск и сортировка
- Операции с множествами
- Тригонометрия
- &, &&
- выделение
- ind2sub
- вставка
- isempty
- isequal
- modulo
- ndims
- |, ||
- size
- sub2ind
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
вставка
частичное присвоение или модификация значения переменной
присвоение
частичное присвоение значения переменной
Синтаксис
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
. Даже если это работает для всех полиномов, рекомендуется использовать символ$
для удобочитаемости.
Случай простых списков или типизированных списков (tlist)
Если они имеются в наличии, то
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)
.
Примеры
В СЛУЧАЕ МАТРИЦЫ
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
Смотрите также
- выделение — выделение элемента матрицы или списка
- двоеточие — оператор "двоеточие"
- find — даёт индексы элементов с ненулевым значением или значением %T
- horner — evaluates some polynomials or rationals for given values
- круглые скобки — ( ) левая и правая круглые скобки
Report an issue | ||
<< ind2sub | Основные функции | isempty >> |