insertion
atribuição ou modificação parcial de variáveis
assignation
atribuição parcial de variáveis
Seqüência de Chamamento
x(i,j)=a x(i)=a l(i)=a l(k1)...(kn)(i)=a or l(list(k1,...,kn,i))=a l(k1)...(kn)(i,j)=a or l(list(k1,...,kn,list(i,j))=a
Parâmetros
- x
matriz de qualquer tipo
- l
lista
- i,j
índices
- k1,...kn
índices com valores inteiros
- a
novo valor de entrada
Descrição
Caso de matrizes
Se x
é uma matriz, os índices
i
e j
, podem ser:
- Escalares reais, vetores ou matrizes
neste caso, os valores fornecidos como índices devem ser inteiros e apenas suas partes inteiras são levadas em consideração.
Se
a
é uma matriz com dimensões(size(i,'*'),size(j,'*'))
,x(i,j)=a
retorna uma nova matrizx
tal quex(int(i(l)),int(j(k)))=a(l,k)
paral
de 1 asize(i,'*')
ek
de 1 asize(j,'*')
, as outras entradas iniciais dex
não são modificadas.Se
a
é um escalar,x(i,j)=a
retorna uma nova matrizx
tal quex(int(i(l)),int(j(k)))=a
paral
de 1 asize(i,'*')
ek
de 1 asize(j,'*')
, as outras entradas iniciais dex
não são modificadas.Se o valor máximo de
i
ouj
exceder a dimensão correspondente da matrizx
, o arrayx
é previamente estendido para as dimensões requeridas com entradas 0 para matrizes padrões, strings de comprimento 0 para matrizes de strings e valores falsos para matrizes de booleanos.x(i,j)=[]
cancela linhas especificadas pori
sej
corresponde a todas as colunas dex
ou cancela colunas especificadas porj
sei
corresponde a todas as linhas dex
. Em outros casosx(i,j)=[]
produz um erro.x(i)=a
coma
um vetor retorna a nova matrizx
tal quex(int(i(l)))=a(l)
paral
de 1 asize(i,'*')
, outras entradas iniciais dex
não são modificadas.x(i)=a
coma
um escalar retorna uma nova matrizx
tal quex(int(i(l)))=a
paral
de 1 asize(i,'*')
, outras entradas iniciais dex
não são modificadas.Se o valor máximo de
i
excedersize(x,1)
,x
é previamente estendida para a dimensão requerida com entradas 0 para matrizes padrões, strings de comprimento 0 para matrizes de strings e valores falsos para matrizes de booleanos.- Se
x
é uma matriz 1x1a
pode ser um vetor linha (respectivamente coluna) com dimensãosize(i,'*')
. A matrizx
resultante é um vetor linha (respectivamente coluna).- Se
x
é um vetor linhaa
deve ser um vetor linha de dimensãosize(i,'*')
- Se
x
é um vetor colunaa
deve ser um vetor coluna de dimensãosize(i,'*')
- Se
x
é uma matriz gerala
deve ser um vetor linha ou coluna de dimensãosize(i,'*')
e o valor máximo dei
não pode excedersize(x,'*')
,
x(i)=[]
cancela entradas especificadas pori
.
- O símbolo :
O símbolo
':'
significa "todos os elementos".x(i,:)=a
é interpretado comox(i,1:size(x,2))=a
x(:,j)=a
é interpretado comox(1:size(x,1),j)=a
x(:)=a
retorna emx
a matriza
de forma redefinida de acordo com as dimensões de x.size(x,'*')
deve ser igual asize(a,'*')
- Vetores de booleanos
se um índice (
i
ouj
) é um vetor de booleanos, é interpretado comofind(i)
ou, respectivamente,find(j)
- Polinômios
se um índice (
i
ouj
) é um vetor de polinômios ou um vetor de polinômios implícito, é interpretado comohorner(i,m)
ou respectivamentehorner(j,n)
ondem
en
são as dimensões associadas dex
. Mesmo se esse recurso funcionar para todos os polinômios, é recomendado utilizar polinômios em$
para legibilidade.
Caso de listas ou Tlists
Se estiverem presentes, os
ki
fornecem o endereço para uma entrada de sub-lista da estrutura de dadosl
data structure. Eles permitem uma extração recursiva sem cópias intermediárias. As instruçõesl(k1)...(kn)(i)=a
el(list(k1,...,kn,i)=a)
são interpretadas como:lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i) = a
lkn-1(kn) = lkn
.. = ..
l(k1) = lk1
E as instruções
l(k1)...(kn)(i,j)=a
el(list(k1,...,kn,list(i,j))=a
são interpretadas como:lk1 = l(k1)
.. = ..
lkn = lkn-1(kn)
lkn(i,j) = a
lkn-1(kn) = lkn
.. = ..
l(k1)= lk1
i
pode ser :Um escalar real não-negativo.
l(0)=a
adiciona uma entrada à "esquerda" da lista,l(i)=a
configura a entradai
da listal
comoa
. Sei>size(l)
,l
é previamente estendido com entradas de comprimento 0 (indefinidas).l(i)=null()
suprime ai
-ésima entrada da lista.Um polinômio. Se
i
é um polinômio, é interpretado comohorner(i,m)
ondem=size(l)
. Mesmo se este recurso funcionar para todos os polinômios, é recomendado utilizar polinômios em$
para legibilidade.
k1,..kn
podem ser :Escalares reais positivos.
Polinômios, interpretados como
horner(ki,m)
ondem
é o tamanho da sub-lista correspondente.Strings associados a nomes de entradas de uma sub-lista.
Observações
Para tipos de matrizes "soft-coded" como funções racionais e
sistemas lineares de espaços de estados, a sintaxe x(i)
não pode ser usada para inserção de entradas em vetores devido a confusões
com inserção de entradas em listas. A sintaxe x(1,j)
ou
x(i,1)
deve ser usada.
Exemplos
Caso de matrizes :
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 = 'teste' 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] // o numerador
Caso de listas ou Tlist :
Ver Também
- extraction — extração de entradas de matrizes e listas
- colon — operador dois pontos
- find — fornece os índices de elementos %T ou diferentes de zero
- horner — avaliação polinomios ou razões de polinômios
- parentheses — ( ) parênteses esquerdo e direito
Report an issue | ||
<< ind2sub | Funções Elementares | isempty >> |