














































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila de Matlab
Tipologia: Notas de estudo
1 / 54
Esta página não é visível na pré-visualização
Não perca as partes importantes!















































O MATLAB (MATrix LABoratory-Laboratório de Matrizes) é um programa de computador de uso específico, otimizado para executar cálculos científicos e de engenharia. Ele nasceu como um programa para operações matemáticas sobre matrizes, mas ao longo dos anos transformou- se em um sistema computacional flexível capaz de resolver essencialmente qualquer problema técnico.
O MATLAB implementa a linguagem de programação de mesmo nome, juntamnete com uma grande biblioteca de funções predefinidas que tornam as tarefas de programação técnicas mais fáceis e eficientes.
Existem duas formas de se obter ajuda nesse software. A primeira é usarmos o help em seguida o nome de uma função. Porem essa forma exige ao usuário saber o nome exato da função, mas nem sempre conhecemos, o lookfor , é mais flexível nessa questão. Digitamos lookfor em seguida a palavra chave (o que a função faz), o comando procurará funções que trabalhem com a correspondente palavra chave. No exemplo abaixo o help retornou um resumo da função seno (sin=nome_da_funçao), o lookfor retornou todas as funções que trabalham com radianos(radians=palavra_chave).
A unidade fundamental de dados, em qualquer programa MATLAB, é a matriz. Matriz é uma coleção de valores de dados organizados em linhas e colunas, conhecidos por um nome único. Valores individuais de dados em uma matriz são acessados por meio do nome da matriz, seguido de índices entre parênteses que identificam a linha e a coluna do valor particular.
Uma variável MATLAB é uma região de memória que contem uma matriz, conhecida por um nome especificado pelo usuário. O conteúdo de uma matriz pode ser utilizado ou modificado a qualquer momento pela inclusão de seu nome em um comando MATLAB apropriado.
Criar ou manipular variáveis no MATLAB é bem simples, seguimos a forma geral: Var=expressão , onde ‘Var’ é o nome da variável e ‘expressão’ é uma constante escalar, uma matriz ou combinação de constantes com outras variáveis e operações matemáticas (+,- etc).
Exemplos (no Command Window):
No exemplo acima verificamos que existem algumas constantes numéricas predefinidas como o ‘i’ que é usado para números imaginários, verificamos que quando queremos atribuir vários valores em uma variável esses elementos ficam entre colchetes ( [ ] ), e que o ponto e virgula ( ; ), é usado para encerrar uma linha e começar outra em uma matriz.
Os operadores aritméticos são: soma (+), subtração (-), divisão(/), potenciação(^) e multiplicação(). Não sofrem variações perante números escalares (matriz 1x1), porém quando se trata de matrizes com M linhas e N colunas os operadores têm dupla interpretação. Considere A e B matrizes com dimensão 3x3. Se fizermos AB o MATLAB retornará uma matriz correspondente a multiplicação matricial de A com B, porem se fizermos A.*B à matriz resultante corresponde à multiplicação ponto a ponto, ou seja, elemento a elemento. O mesmo conceito se aplica para a divisão ponto a ponto (./) e potenciação ponto a ponto (.^).
Exemplos(no Command Window):
A indexação possibilita a pegar um ou mais valores de dentro de uma matriz já existente. A sintaxe para isso é a seguinte: var=A(i,j) , sendo var uma variável que irá receber o elemento ixj da matriz A. Os índices i e j podem assumir um escalar ou um vetor(permitindo assim pegar varias linhas ou varias colunas).
Exemplo (no Command Window):
Na variável var1 está armazenado o elemento da linha 2 e coluna 3 da matriz A. Na variável var2 está guardada as linhas 1 e 2 e as colunas 1, 2 e 3 da matriz A.
Concatenar significa ‘montar’ matrizes com matrizes. Por exemplo, seja A uma matriz 2x2 e B uma matriz 3x2, podemos concatená-las formando uma nova matriz C com 5 linhas e 2 colunas. A concatenação é feita ou em relação à linha ou em relação à coluna, temos que observar que as matrizes devem ter a mesma dimensão no sentido da concatenação, no nosso exemplo só poderíamos concatenar em relação à coluna (tanto A quanto B têm duas colunas).
Para concatenar, lembrar o conceito de criação de variáveis, (entre colchetes, espaço ou vírgula usado para delimitar as colunas e o ponto e vírgula delimita as linhas) a diferença é que ao invés de números, usamos matrizes.
Exemplo (no Command Window):
O MATLAB possui uma ampla biblioteca de funções, dentre elas iremos trabalhar com funções trigonométricas, funções exponenciais e outras funções de criação de matrizes de leitura de dados e etc.
A sintaxe principal de qualquer função segue o padrão, [a1,a2,...an]=nome_da_função(e1,e2,...,en) , onde a1,a2,...a3 são os n parâmetros de saída(valores que serão retornados depois de serem modificados pela função) colocados entre colchetes (quando são mais do que um). E os parâmetros de entrada, e1,e2,...,en colocados sempre entre parênteses irão fornecer valores para dentro da função.
A e B só podem ser concatenadas em relação à coluna. Então C recebe [A;B](continua 2 colunas, mas agora, com 5 linhas)
Exemplo (no Command Window):
A sintaxe é: var=zeros(m,n)
Exemplos (no Command Window):
A sintaxe é: var=eye(m,n)
Exemplos (no Command Window):
Agora que já sabemos os conceitos de criação de matrizes e vetores, iremos trabalhar com algumas funções informativas ou para realizar algumas modificações, funções que serão uteis para as variáveis criadas.
A sintaxe é: var=det(matriz)
Exemplo (no Command Window):
A sintaxe é: var=inv(matriz)
A sintaxe é: var=reshape(matriz,nº_linhas,nº_colunas)
Exemplo (no Command Window):
A sintaxe é: [m,n]=size(matriz)
Exemplo (no Command Window):
OBS: Como existem 2 parâmetros de saída, é necessário o colchetes.
Exemplo (no Command Window):
A sintaxe é: var=find(condição)
A matriz A contem os elementos 3, 2 e 1 na 1º linha, 5, 5 e 7 na 2º linha e 8, 9 e 10 na 3º linha. Os índices entre parênteses em vermelho correspondem à ordem como está salvo na memória, ou seja, se quisermos o elemento 7 por exemplo , ele é o oitavo na ordem da memória, então no Command Window fazemos:
Ou também como já vimos anteriormente, o elemento 7 corresponde a 2º linha e 3º coluna:
A função find , irá retornar as posições da memória. Se quisermos converter esses números correspondentes às posições, usamos o conceito de indexação.
Veja o exemplo no Command Window abaixo: No exemplo criamos uma matriz A qualquer, depois em uma variável ind , salvamos o vetor coluna correspondente aos índices das posições da memória dos elementos da matriz A que são menores do que 3. Em B estão os elementos correspondentes a essas posições.
Para resolvermos sistemas, criamos uma matriz correspondente aos índices que multiplicam as incógnitas, depois criamos outra matriz (vetor coluna), correspondente aos resultados das equações. Veja como foi resolvido o sistema abaixo no Command Window:
Usa-se a função polyder para derivar e polyint para integrar um polinômio qualquer. A sintaxe é: deri=polyder([índices]) e inte=polyint([índices]), veja o exemplo abaixo:
ATENÇÃO: Script não aceita parâmetros de entrada nem de saída. Mas notem que no exemplo a entrada e a saída de valores são feitas por duas funções existentes no corpo do programa: Input (que irá solicitar um valor) e disp (que irá retornar o resultado para o usuário ou uma mensagem). Então nada impede de usarmos funções em scripts (como também o rand que usamos para criar o vetor). Input e disp serão muito usados em scripts. A sintaxe dessas duas funções é:
disp(‘mensagem qualquer’) ou disp(variavel)
var=input(‘mensa_de_aviso_que_está_sendo_solicitado_um valor’)
Para executar o script, digitamos no Command Window seu nome (o que foi salvo):
Exemplo de função:
No editor de programas escrevemos:
ATENÇÃO: O nome da função terá que ser o mesmo do nome que será salva (no exemplo: ex_fun). A função não precisou do auxilio de outras funções (como input ou disp) para solicitar valores de entrada nem retornar na saída. Parâmetros de saída e de entrada são naturais em funções.
Para executar no Command Window:
CURIOSIDADE: Para verificarmos se o resultado está certo, existe uma função que soma um vetor qualquer, a função se chama sum. Sua sintaxe é sum(vetor). No caso do exemplo: sum(vetor_linha)
Note que nesse caso não há como verificarmos se o resultado está certo, afinal, é característica da função não compartilhar suas variáveis com o workspace, então não temos acesso ao vetor_linha.
Foi feito o mesmo exemplo para um script e para a função para se verificar as diferenças entre suas construções. Mas note que se quiséssemos entrar com uma matriz, por exemplo, para ser trabalhada dentro do m-file, o script (por não aceitar diretamente parâmetros de entrada), não seria a melhor opção. Veja o exemplo abaixo:
Exemplo de função:
No editor:
No Command Window:
Para criarmos os programas precisamos ter o conhecimento dos operadores, das estruturas de decisão e de repetição:
-save : Usado para salvar variáveis em arquivos do tipo ‘.MAT’(é o formato de armazenamento de dados mais eficiente, mais compacto e rápido disponível no MATLAB).
Sintaxe: save(‘nome_arquivo’,‘var1’,...,‘varN’)
É a forma mais comum de salvar dados, afinal podemos salvar quantas variáveis (contidas no Workspace) quisermos. Observe que o nome_arquivo e as variáveis que desejamos salvar são todos colocados entre apóstrofos.
-load : Usado para carregar as variáveis salvas em arquivos do tipo ‘.MAT’.
Sintaxe: load(‘nome_arquivo’)
Exemplos (no Command Window):
Note que criamos três variáveis ( A, r e b ), porem somente A e b foram salvas. Para observarmos os processos, apagamos as variáveis do Workspace ( clear é usado para isso), com ele vazio, usamos load para carregar as variáveis salvas, após isso podemos verificar que no Workspace foram criadas as variáveis A e b novamente.
-xlsread : Usado para ler uma planilha do MS-Excel.
Sintaxe: [dados_num,dados_alfanumericos]=xlsread(‘nom.xls’)
Esta função irá retornar como parâmetros de saídas duas matrizes, sendo dados_num uma matriz contendo os valores numéricos e dados_alfanumericos uma matriz contendo caracteres (dados que não são numéricos).
Exemplo:
No Excel foi criada a planilha com o nome de ‘notas’, e no Command Window digitamos a função entre parênteses o nome e a extensão:
-imfinfo : Fornece informaçoes sobre a imagem.
Sintaxe: imfinfo(‘nome_imagem.ext’)
-imread : Lê arquivo de imagem.
Sintaxe: [a,map]=imread(‘nome_imagem.ext’)
A sintaxe indica que a funçao deve retornar (parametros de saída) duas matrizes sendo uma(matriz a ) contendo os dados para geração da imagem e a outra (matriz map ) contendo as cores da imagem.
Ao executar a função pode-se observar 2 possíveis casos:
1º Situação: Será retornado somente a matriz a ( matriz map estará vazia), e ela será uma matriz tridimensional, as cores estarão junto à matriz combinadas entre suas dimensões.
2º Situação: Será retornado duas matrizes ( a e map ) unidimensionais.
Usa-se a função image(matriz_contendo_os_dados) para gerar a figura e colormap(matriz_contendo_as_cores) para dar cor a ela(quando se tem a matriz correspondente às cores).