Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Vetores e Matrizes (2) Tópicos de abordagem: 1) Funções matriciais importantes; 2) Tipo de dados cell. 2 Criação de matriz identidade – função eye() Sintaxe: eye(ordem) eye(n_lin, n_col) >> A = [1,2,3;4,5,6;7,8,9] >> B = eye(3) >> B2 = eye(4,3) >> C = A * B Vetores e Matrizes (2) 3 Criação de uma matriz com zeros – função zeros() Sintaxe: zeros(ordem) zeros(n_lin, n_col) >> D = zeros(5) >> E = zeros(3,2) Vetores e Matrizes (2) 4 Criação de uma matriz com uns – função ones() Sintaxe: ones(ordem) ones(n_lin, n_col) >> F = ones(4) >> G = ones(2,3) Vetores e Matrizes (2) 5 Criação de uma matriz aleatória – função rand() Sintaxe: rand(ordem) rand(n_lin, n_col) >> H = rand(5) >> I = rand(4,7) Vetores e Matrizes (2) 6 Calcula o determinante de uma matriz – função det() Sintaxe: det(matriz) >> J = det(A) >> K = det([2,4,2;3,4,3;5,4,6]) Vetores e Matrizes (2) 7 Calcula a inversa de uma matriz – função inv() Sintaxe: inv(matriz) >> L = inv(A) >> M = inv(E) >> M = inv([2,4,2;3,4,3;5,4,6]) Vetores e Matrizes (2) 8 Devolve o número de linhas e colunas da matriz – função size() Sintaxe: size(matriz) >> size(A) >> [lin, col] = size(A) Vetores e Matrizes (2) 9 Devolve quem é maior entre linhas e colunas – função length() Sintaxe: length(matriz) >> length(E) Vetores e Matrizes (2) 10 1) Com apenas um comando, gere uma matriz completa de uns com a mesmo número de linhas e colunas que a matriz “E”. R: >> Ex1 = ones(size(E)) Ex1 = 1 1 1 1 1 1 1) Com apenas um comando, gere um vetor linha completo de zeros com o número máximo entre linhas e colunas da matriz “E”. R: >> Ex2 = zeros(1,length(E)) Ex2 = 0 0 0 Vetores e Matrizes (2) 11 Devolve a matriz triangular superior – função triu() Sintaxe: triu(matriz) >> a = [10,3,4;12,5,7;3,1,9] >> b = triu(a)%upper 913 7512 4310 a zero Vetores e Matrizes (2) 12 Devolve a matriz triangular inferior – função tril() Sintaxe: tril(matriz) >> c = tril(a)%lower 913 7512 4310 a zero Vetores e Matrizes (2) 13 Inverte os elementos da esquerda para direita – função fliplr() Sintaxe: fliplr(matriz) >> a >> fliplr(a)% left to right Vetores e Matrizes (2) 14 Inverte os elementos de cima para baixo – função flipud() Sintaxe: flipud(matriz) >> a >> flipud(a)% upper to down Vetores e Matrizes (2) 15 Devolve ou cria a diagonal principal da matriz – função diag() Sintaxe: diag(matriz) % Informa a diagonal principal em um vetor coluna. diag(vet_lin) % Cria um matriz com a diagonal principal como no vetor linha. >> N = diag([1 2 3])%cria diagonal com estes valores >> N(3,3) = 15 >> O = diag(N)%retorna valores da diagonal Vetores e Matrizes (2) 16 Devolve o índice final de uma matriz ou vetor – operador end >> arr1 = [1,2,3,4,5,6,7,8,9] arr1 = 1 2 3 4 5 6 7 8 9 >> arr1(5:end)%inclusive o 5 ans = 5 6 7 8 9 >> arr2 = [1,2,3;4,5,6;7,8,9] arr2 = 1 2 3 4 5 6 7 8 9 >> arr2(2:end,2:end) ans = 5 6 8 9 Vetores e Matrizes (2) 17 Tipo de dados cell Permite armazenamento de diferentes tipos em uma única estrutura identificada por um único nome. Sintaxe – Indexação da Célula >> NomeDaCelula(linha,coluna)={[valores]} Sintaxe – Criação da Célula >> NomeDaCelula = cell(ordem) Vetores e Matrizes (2) 18 Suponha que deseja-se criar os seguintes dados na célula: • Matriz identidade 3x3; • Cadeia de caracteres ‘Alunos do CESF’; • O número 2; • Vetor linha com elementos de 0 até 6, variando em 1. Vetores e Matrizes (2) 19 Criando uma célula >> teste = cell(2); >> teste(1,1)={[eye(3)]}; >> teste(1,2)={['Alunos da FUCAPI']}; >> teste(2,1)= {[2]}; >> teste(2,2)={[0:6]}; >> teste ÈXEMPLO: >> celula1 = {[eye(2)],['Alunos Cesf'];[2],[0:6]} %Executa todos os comandos em uma linha só. celula1 = [2x2 double] 'Alunos Cesf' [ 2] [1x7 double] Vetores e Matrizes (2) 20 Acesso aos elementos de uma célula • A indexação é feita combinando “{ }” e “( )” • “( )” retorna o elemento como cell array. >> temp1 = teste(1,1) >> temp1 = teste(1,2) • “{ }” retorna o elemento em seu tipo original. >> temp2 = teste{1,1} >> temp2 = teste{1,2} Vetores e Matrizes (2)
Compartilhar