Scilab

Disponível somente no TrabalhosFeitos
  • Páginas : 22 (5444 palavras )
  • Download(s) : 0
  • Publicado : 17 de novembro de 2012
Ler documento completo
Amostra do texto
Capítulo 4

Matrizes
Matrizes são agregados de dados dentro de uma mesma variável. Diferente de outros tipos de agregados de dados (que serão mostrados adiante), matrizes são agregados de dados homogêneos no sentido de que os dados têm mesmo tipo de conteúdo, ou seja, uma matriz pode conter somente dados numéricos ou somente strings, mas não os dois simultaneamente. Na literatura deinformática, matrizes são, também, conhecidas por vários outros nomes como, por exemplo, variáveis composta homogênea, variáveis subscritas, variáveis indexadas, arranjos, arrays, etc... O Scilab pode manipular uma matriz da mesma forma que uma linguagem de programação tradicional (isto é, como um simples agregado de dados). No entanto, o Scilab também pode manipular matrizes de outra forma: exatamente comose fossem as matrizes da matemática. Desta forma, o Scilab pode calcular o determinante ou a inversa de uma matriz bem como realizar operações como multiplicação e soma matricial. Esta última forma de manipular matrizes não será vista neste capítulo. Ao contrário, neste capítulo, as matrizes serão manipuladas como simples agregados de dados do ponto de vista de uma linguagem de programaçãotradicional (na qual as operações matriciais são realizadas elemento por elemento).

4.1 Matrizes Unidimensionais
Matrizes unidimensionais são chamados de vetores. Em um vetor é possível armazenar vários itens em uma única variável. Na Figura 4.1 é mostrada uma variável nota contendo as notas de alunos. Os itens contidos em um vetor são chamados de elementos do vetor. Portanto, o vetor nota possui dezelementos. Seus elementos podem ser acessados individualmente. Por exemplo, nota(4) refere-se ao quarto elemento do vetor nota. O valor entre os parênteses de nota(4) é chamado de índice ou subscrito e é usado para individualizar um elemento do vetor. Vetores podem ser criados no Scilab usando os colchetes [ e ]. Os elementos de um vetor são envolvidos por colchetes e são separados espaços (ouuma vírgula). Exemplo,
-->nota = [8.1 5.2 9.2 7.2 6.5 5.2 8.5 9.5 6.5 10.0];

Pode-se acessar elementos individuais:
-->nota(2) ans =

36

4.1 Matrizes Unidimensionais / UFRN-DCA - 26 de Abril de 2004

37

Figura 4.1: Vetor com dez elementos

5.2 -->nota(5) ans = 6.5 -->nota(8) ans = 9.5

Pode-se somar as três primeiras notas do seguinte modo:
-->nota(1) + nota(2) + nota(3) ans =22.5

Uma aplicação natural de vetores é armazenar variáveis indexadas da matemática. Por exemplo, as variáveis indexadas x1 = 2, x2 = 4, x3 = 2 e x4 = 3 são armazenadas no Scilab como:
-->x(1) = 2; -->x(2) = 4; -->x(3) = 2; -->x(4) = 3;

ou equivalentemente como
-->x = [2 4 2 3];

Expressões matemáticas tais como (x1 + x3 )/x2 são efetuados do seguinte modo:

4.1 MatrizesUnidimensionais / UFRN-DCA - 26 de Abril de 2004

38

-->(x(1)+x(3))/x(2) ans = 1.

4.1.1 Acessando Elementos do Vetor
Os elementos de um vetor podem ser acessados de várias maneiras. Por exemplo, considere as variáveis:
a = [2 4 5 1 3]; i = 2;

Então tem-se:
a(i+2) a(a(4))

←−Devolve 1 porque acessa o quarto elemento (i+2 é igual a 4) do vetor a.

ìndices com valor zero ou negativo não sãoválidos no Scilab.

←−Devolve 2. Como valor de a(4) é
1, avaliar a(a(4)) é o mesmo avaliar a(1). Logo, a(a(4)) é igual a a(1) que, por sua vez, é igual a 2. ←−Devolve 4, porque a(a(3)) é igual a(5) que, por sua vez, é igual a 3. E a(2*i) é igual a(4), que é igual a 1. Logo, a(a(3))+a(2*i) é igual a 3 + 1 = 4.

a(a(3))+a(2*i)

Exercício resolvido 4.1.1. Figura 4.1.
1 2 3 4 5 6

Calcular a médiados elementos do vetor nota dado na

nota = [8.1 5.2 9.2 7.2 6.5 5.2 8.5 9.5 6.5 10.0]; soma = 0; for i=1:10 soma = soma + nota(i); end printf("Média das notas = %g\n",soma/10);

Comentário. Para somar os elementos do vetor, cada elemento foi acessado individualmente e adicionado, um por vez, em um acumulador soma, através do laço for...end (linhas 3 a 5). Exercício resolvido 4.1.2. Ler...
tracking img