Aula05

305 visualizações

Publicada em

Aula de matrizes em Scilab.

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
305
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula05

  1. 1. Matrizes em Scilab Yuri Tavares dos Passos Gabriel de Carvalho Arimatéa Fernando Melo Nascimento
  2. 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. 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 ';'.
  4. 4. Exemplo 1 ● A = {1 2 3; 4 5 6; 7 8 9}
  5. 5. Exemplo 1
  6. 6. Exemplo 2 ● B = {0, 0; 1, 1}
  7. 7. Exemplo 2
  8. 8. Exemplo 3 ● C = {0, 0, 1; 1, 2; 2, 3.4, 3} – Válido ou inválido?
  9. 9. Exemplo 3
  10. 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. 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.
  12. 12. Exemplo 1 ● Solução 1
  13. 13. Exemplo 1 ● Solução 1
  14. 14. Exemplo 1 ● Solução 2
  15. 15. Exemplo 1 ● Solução 2
  16. 16. Exemplo 1 ● Solução 3
  17. 17. Exemplo 1 ● Solução 3
  18. 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.
  19. 19. Exemplo 2
  20. 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
  21. 21. Exemplo 3
  22. 22. Exemplo 3 (cont.)
  23. 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 ]
  24. 24. Exemplo 4
  25. 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
  26. 26. Exemplo 5
  27. 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. 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.
  29. 29. Matrizes e vetores ● Exemplo
  30. 30. Matrizes e vetores ● Resultado
  31. 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>
  32. 32. Submatrizes ● Exemplo
  33. 33. Submatrizes ● A(1:3,2:3) ● A(1:4,2:2)
  34. 34. Submatrizes ● Não utilizar limites inferiores e superiores significa que deseja-se todos os valores. ● Exemplo – A(:,1:3) – A(1:2,:)
  35. 35. Comando size ● O Scilab oferece o comando size para retornar a quantidade de elementos em cada dimensão ● Exemplo
  36. 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.
  37. 37. Hipermatrizes ● Exemplo (continuação) – T(1,3,2) significa o acesso ao elemento na 1ª linha, 3ª coluna e 2ª profundidade.
  38. 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. 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. 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. 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. 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);

×