1. Matrizes em Scilab
Yuri Tavares dos Passos
Gabriel de Carvalho Arimatéa
Fernando Melo Nascimento
2. Matrizes
● Em qualquer linguagem de programação, uma
matriz é uma estrutura de armazenamento de
dados com indexação bidimensional.
● A primeira dimensão corresponde a linha da
matriz e a segunda dimensão a coluna.
● Assim como na Matemática, matrizes podem
ser representadas graficamente como nos
exemplos a seguir:
3. Matrizes em Scilab
● Em Scilab, a declaração de uma matriz é
feita de modo análogo ao vetor, mas com
o uso de uma dimensão extra.
● A dimensão extra é adicionada com ';'.
10. Matrizes em Scilab
● A utilização de matriz pode ser feita
elemento a elemento. Para acessar cada
elemento deve-se indexá-lo pela linha e
pela coluna:
– A(1,1) = 2;
– A(1,2) = 3;
– B(2,1) = 1.1;
– B(2,3) = 7.1;
11. Exemplo 1
● Escreva um algoritmo que leia uma matriz
de 2 linhas por 3 colunas de números reais
via teclado. Em seguida, escreva esta
matriz na tela.
18. Exemplo 2
● Escreva um algoritmo que extraia a
diagonal principal de uma matriz NxN,
quadrada, com N elementos e seus
elementos lidos pelo usuário. Salve os
valores da diagonal em um vetor e escreva
seus valores na tela.
20. Exemplo 3
● Escreva um algoritmo que leia duas
matrizes. A matriz A tem tamanho MxN e a
matriz B é LxK. Faça um algoritmo que:
– Teste se é possível realizar a multiplicação de
A por B. Isto só é possível se N=L.
– Se elas podem ser multiplicadas, crie uma
matriz C resultante desta multiplicação, onde:
Cij =∑
K =1
N
AiK BKj
23. Exemplo 4
● Escreva um algoritmo que leia uma matriz
MxN e armazene seus elementos em um
vetor. Leia os elementos da matriz linha
por linha. Exemplo:
A=
[
1 2 3
4 5 6
7 8 9] V =
[
1
2
3
4
5
6
7
8
9
]
25. Exemplo 5
● Escreva um algoritmo que leia um vetor de
tamanho T = MN e escreva seus
elementos em uma matriz de tamanho
MxN.
– Ao invés de ler a matriz e escrever o vetor,
deve-se ler o vetor e escrever a matriz
27. Exercício
● Escreva um algoritmo que leia a
quantidade de linhas e colunas de uma
matriz, leia a posição i e j de um elemento
qualquer desta matriz e indique qual a
posição k do vetor da questão 3 que este
elemento se encontraria. Não crie nenhum
vetor ou matriz neste programa.
28. Matrizes e vetores
● Uma matriz pode ser entendida como um
vetor feito com outros vetores.
● O comando for do Scilab pode ser utilizado
para manipular os vetores colunas de uma
matriz.
31. Submatrizes
● O Scilab permite que você acesse porções
de matriz de modo fácil usando “:”.
● Com :, você define o limite inicial e final da
submatriz que será utilizada.
● Sintaxe:
– <limite inicial>:<limite final>
34. Submatrizes
● Não utilizar limites inferiores e superiores
significa que deseja-se todos os valores.
● Exemplo
– A(:,1:3)
– A(1:2,:)
35. Comando size
● O Scilab oferece o comando size para
retornar a quantidade de elementos em
cada dimensão
● Exemplo
36. Hipermatrizes
● Além das matrizes bidimensionais, o Scilab
oferece o uso de matrizes n-dimensionais.
● Exemplo:
– Suponha T uma matriz tridimensional.
– O acesso a cada elemento de T é feito
utilizando 3 indíces.
38. Arquivos no Scilab
● O Scilab foi projetado para trabalhar com grandes
volumes de dados.
● Os comandos para leitura e escrita de arquivos
poupa a digitação de grandes volumes de dados.
● As variáveis criadas no Scilab podem ser salvas em
arquivos para serem utilizadas em outras execuções.
● Para escrita de arquivos, usa-se save ou write.
● Para leitura de arquivos, usa-se load ou read.
39. Escrita de arquivos
● Para salvar uma variável qualquer em um
arquivo binário, utiliza-se o comando save.
● Sintaxe mais comum:
– save(nome_do_arquivo, lista_de_variáveis)
● Exemplo
● save("A.dat",A)
● save("ABC.dat",A,B,C)
40. Escrita de arquivos
● Para salvar uma variável qualquer em arquivo
texto, usa-se o comando write.
● Um arquivo texto pode ser visualizado em
editores de texto como notepad, Word, etc.
● Sintaxe mais comum:
– write(nome_do_arquivo, variável)
● Exemplo:
– write("A.txt",A)
41. Leitura de arquivos
● Para ler uma variável qualquer já salva em
um arquivo binário, utiliza-se o comando
load.
● Sintaxe mais comum:
– load(nome_do_arquivo, lista_de_variáveis)
● Exemplo
● load("ABC.dat","A","B","C")
● load("teste3D.dat","t")
42. Leitura de arquivos
● Para ler uma variável qualquer salva previamente
em arquivo texto, usa-se o comando read.
● Sintaxe mais comum:
– read(nome_do_arquivo, lista_de_dimensões)
● O resultado de read deve ser atribuído a alguma
variável.
● Exemplo:
– A = read("A.txt",50,100);