- Ajuda Scilab
 - Scilab
 - Scilab palavra-chave
 - abort
 - add_demo
 - argn
 - banner
 - boolean
 - break
 - clear
 - clearfun
 - clearglobal
 - comp
 - continue
 - debug
 - delbpt
 - dispbpt
 - edit
 - errcatch
 - errclear
 - error
 - error_table
 - exists
 - exit
 - external
 - extraction
 - format
 - funcprot
 - funptr
 - getdebuginfo
 - getmd5
 - getmemory
 - getmodules
 - getos
 - getscilabmode
 - getshell
 - getvariablesonstack
 - getversion
 - gstacksize
 - ieee
 - insertion
 - intppty
 - inv_coeff
 - iserror
 - isglobal
 - lasterror
 - macr2lst
 - macr2tree
 - matrices
 - matrix
 - mode
 - mtlb_mode
 - names
 - newfun
 - null
 - pause
 - perl
 - poly
 - predef
 - quit
 - rational
 - readgateway
 - resume
 - sciargs
 - scilab
 - setbpt
 - stacksize
 - startup
 - symbols
 - testmatrix
 - type
 - typename
 - user
 - varn
 - ver
 - warning
 - what
 - where
 - whereami
 - who
 - who_user
 - whos
 - with_atlas
 - with_javasci
 - with_macros_source
 - with_module
 - with_pvm
 - with_texmacs
 - with_tk
 - TMPDIR
 
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
extraction
extração de entradas de matrizes e listas
Seqüência de Chamamento
x(i) x(i,j) x(i,j,k,..) [...]=l(i) [...]=l(k1)...(kn)(i) ou [...]=l(list(k1,...,kn,i)) l(k1)...(kn)(i,j) or l(list(k1,...,kn,list(i,j))
Parâmetros
- x
 matriz de qualquer tipo possível
- l
 variável do tipo lista
- i,j, k
 índices
- k1,...kn
 índices
Descrição
- CASO DE MATRIZES
 i,j,k,.. podem ser:- escalares reais ou vetores ou matrizes com elementos positivos.
 r=x(i,j)constrói a matrizrtal quer(l,k)=x(int(i(l)),int(j(k)))paralde 1 asize(i,'*')ekde 1 asize(j,'*'). O valor máximo dei(j) deve ser menor do que ou igual asize(x,1)(size(x,2)).r=x(i)comxuma matriz 1x1 contrói a matrizrtal quer(l,k)=x(int(i(l)),int(i(k)))paralde 1 asize(i,1)ekpara 1 asize(i,2).Note que, nesse caso, o índice
ié válido apenas se todas as suas entradas são iguais a 1.r=x(i)comxum vetor linha constrói o vetor linhartal quer(l)=x(int(i(l)))paralde 1 asize(i,'*')ideve ter valor máximo menor do que ou igual asize(x,'*').r=x(i)comxuma matriz com uma ou mais colunas constrói o vetor colunartal quer(l)(lde 1 asize(i,'*')) contém a entradaint(i(l))do vetor coluna formado pela concatenação das colunas dex.ideve ter valor máximo menor do que ou igual asize(x,'*').
- O símbolo 
':' significa "todos os elementos".r=x(i,:)constrói uma matrizrtal quer(l,k)=x(int(i(l)),k))paralde 1 asize(i,'*')andkfrom 1 tosize(x,2)r=x(:,j)constrói a matrizrtal quer(l,k)=x(l,int(j(k)))paralde 1 asize(r,1)ekde 1 asize(j,'*').r=x(:)constrói o vetor colunarformado pelas concatenações das colunas dex. É equivalente amatrix(x,size(x,'*'),1).
- vetor de booleanos
 Se um índice (
iouj) é um vetor de booleanos, é interpretado comofind(i)ou respectivamentefind(j)- um polinômio
 Se um índice (
iouj) é um vetor de polinômios ou um vetor de polinômios implícito, é interpretado comohorner(i,m)ou respectivamentehorner(j,n)ondemensão as dimensões associadas ax. Mesmo se este recurso funcionar para todos os polinômios, é recomendado utilizar polinômios em$para legibilidade.
Para matrizes com mais de duas dimensoes (ver:hypermatrices), a dimensionalidade é automaticamente reduzida quando as dimensões mais a direita são 1.
- CASO DE LISTAS OU TLISTS
 Se estiverem presentes, os
kifornecem o endereço para uma entrada de sub-lista da estrutura de dadoslEles permitem uma extração recursiva sem cópias intermediárias. As instruções[...]=l(k1)...(kn)(i)e
[...]=l(list(k1,...,kn,i))são interpretadas como:
lk1 = l(k1).. = ..lkn = lkn-1(kn)[...] = lkn(i)e as instruçõesl(k1)...(kn)(i,j)el(list(k1,...,kn,list(i,j))são interpretadas como:lk1 = l(k1).. = ..lkn = lkn-1(kn)lkn(i,j)iej, podendo ser: quando pontos de endereço sobre mais de um componente da lista, a instrução deve ter tantos argumentos do lado esquerdo quanto os componentes selecionados. Mas se a sintaxe de extração é usada dentro da seqüência de chamamento de entrada de uma função, cada componente da lista retornado é adicionado à seqüência de chamamento da função.Note que,
l(list())é o mesmo quel.- i e j podem ser :
 - escalares reais ou vetores ou matrizes de elementos positivos
 [r1,...rn]=l(i)extrai os elementosi(k)da lista l e armazena-os em variáveisrkparakde 1 asize(i,'*')- O símbolo 
: significa "todos os elementos".
- um vetor de booleanos
 Se
ié um vetor de booleanos, é interpretado comofind(i).- um polinômio
 Se
ié um vetor de polinômios ou um vetor de polinômios implícito, é interpretado comohorner(i,m)ondem=size(l). Mesmo que este recurso funcione para todos os polinômios, é recomendado utilizar polinômios em$para legibilidade.
- k1,..kn podem ser :
 - escalares reais posistivos
 - um polinômio
 interpretado como
horner(ki,m)ondemé o tamanho da sub-lista correspondente.- string
 associado ao nome da entrada da 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 extração de elementos de vetores devido a
    confusões com extração de elementos de 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) a([1 1],2) a(:,1) a(:,3:-1:1) a(1) a(6) a(:) a([%t %f %f %t]) a([%t %f],[2 3]) a(1:2,$-1) a($:-1:1,2) a($) // x='teste' x([1 1;1 1;1 1]) // b=[1/%s,(%s+1)/(%s-1)] b(1,1) b(1,$) b(2) // o numerador // CASO DE LISTAS OU TLISTS l=list(1,'qwerw',%s) l(1) [a,b]=l([3 2]) l($) x=tlist(l(2:3)) //forma um tlist com os últimos dois componentes de l // dts=list(1,tlist(['x';'a';'b'],10,[2 3])); dts(2)('a') dts(2)('b')(1,2) [a,b]=dts(2)(['a','b'])
Ver Também
| << external | Scilab | format >> |