Aula05
-
Upload
yuri-passos -
Category
Education
-
view
60 -
download
0
Transcript of Aula05
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:
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 ';'.
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;
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.
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.
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:
C ij=∑K=1
N
AiK BKj
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 34 5 67 8 9 ] V=[
123456789
]
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
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.
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.
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>
Submatrizes
● Não utilizar limites inferiores e superiores significa que deseja-se todos os valores.
● Exemplo– A(:,1:3)
– A(1:2,:)
Comando size
● O Scilab oferece o comando size para retornar a quantidade de elementos em cada dimensão
● Exemplo
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.
Hipermatrizes
● Exemplo (continuação)– T(1,3,2) significa o acesso ao elemento na 1ª
linha, 3ª coluna e 2ª profundidade.
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.
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)
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)
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")