(Parte 1 de 3)

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Curso de MATLAB Prof.: Samuel Dias

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

1. Introdução ao MATLAB

Caros alunos, primeiramente você o que significa MATLAB? Não? Bom, MATLAB significar Laboratório de Matrizes.

É um programa utilizado para efetuar cálculos científicos e de engenharia.

Vantagens do Matlab: - Facilidade de uso (padrão Windows, janelas de comando e edição independentes);

- Independência de Plataforma (Windows e Mac, infelizmente ainda não funciona em Linux); - Funções Predefinidas (Média aritmática, desvio padrão, mediana, toolbox, fontes na internet); - Interface gráfica de usuário (chamado de gui – graphical user interface).

Desvantagens do Matlab: - É uma linguagem interpretada, por isso pode ser mais lento que linguagens compiladas; - É um software pago e muito caro.

O Ambiente Matlab: A unidade fundamental do matlab é a matriz.

Então caro aluno, não preciso nem lembrar o que é uma matriz. Definição: é uma coleção de valores de dados organizados em linhas e colunas.

A vantagem de se trabalhar com matriz é que se pode acessar um determinado elemento de forma individual.

Veja o exemplo a seguir: 1. Digite a matriz A = [2 4 6 8 10] na janela de comando do matlab. Encontre o valor armazenado em cada posição da matriz.

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Agora, crie uma matriz contendo duas linhas e a mesma quantidade de colunas e faça a mesma operação que a realizada anteriormente.

A área de trabalho Matlab: - Janela de comando: permite ao usuário inserir comandos pelo marcador de comandos

(>>) que serão executados de imediato.

Ex.: Determine a área de um círculo de 2.5m de raio utilizando a janela de comando. >> área = pi * 2.52

- Janela de Histórico: exibe uma lista de comandos que o usuário inseriu na janela de comandos. Para reexecutar qualquer comando, simplesmente clique duas vezes sobre ele com o botão esquerdo do mouse. E caso você queira excluir um comando presente na janela de histórico, clique sobre o mesmo com o lado direito do mouse e em seguida clique em “delete selection”.

- Janela de Edição: é usado para criar novos arquivos M ou modificar os existentes. É nesta janela que o usuário pode digitar todo um algoritmo construído.

Caro aluno é válido mencionar que um comentário é inserido no matlab através da utilização do símbolo “%” seguido do comentário.

Além disso, pode-se observar que um texto comentado fica escrito na cor verde, variáveis e números na cor preta e palavras-chave da linguagem em azul.

Finalmente, um arquivo M pode ser executado ao digitarmos seu nome na janela de comandos.

- Janela de Figuras: é usada para representar gráficos Matlab. Professor, você poderia definir o que é um gráfico? É claro que sim! Veja.

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Gráficos Matlab: é uma representação gráfica bidimensional ou tridimensional de dados, uma imagem ou uma GUI. Veja exemplo de algoritmo: % Este arquivo calcula o seno de x para 0 <= x <= 6

A workspace (espaço de trabalho): Quando digitamos a expressão “z = 10” na janela de comandos, é criado automaticamente uma variável chamada de “z” e é armazenado o valor “10” na mesma.

Pode-se definir o espaço de trabalho como sendo a coleção de todas as variáveis e matrizes que podem ser usadas pelo usuário quando um comando, arquivo M ou função em particular está em execução.

Mas professor, a medida que estudamos a quantidade de variáveis vai aumentando. Como faço para apagar uma determinada variável ou todas ao mesmo tempo? Veja como é simples.

>> clear var1 var2

Para apagar uma ou mais variáveis, digite o código

E caso você queira apagar todas as variáveis ao mesmo tempo, digite o código >> clear all

Ixe professor, e se eu não lembrar desses comandos? O que faço? Calme, calme, rs! Selecione quem você quer apagar e em seguida digite a tecla “delete”.

Viu como foi fácil? Legal!

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Alguns Comandos Importantes: - clc => limpa a janela de comandos;

- clf => limpa a janela de figuras;

Caro aluno não se pode esquecer o comando “control + c” que possibilita a interrupção do programa em execução e devolve o marcador de comandos.

Veja exemplo:

a = 0; i = 0; while a < 1 i = i + 1 end

Neste exemplo, observe que a condição a < 1 será sempre satisfeita, portanto a linha de comando “ i = i + 1 ” ficará sendo executada infinitamente. Observe que não foi colocado o sinal de “ ; ” nesta linha de comando, o que possibilita que os valores de “ i ” sejam ecoados na janela de comando.

Símbolos Matemáticos: + => adição; - => subtração; * => multiplicação; / => divisão; => potência.

Um exercício simples: Utilize o matlab para calcular o volume de um cilindro de raio r e altura h. Suponha que o raio vale 0.1 m e a altura é de 0.5 m.

REVISÃO: - Qual a função da janela de comandos? Edição? Figuras?

- O que é o espaço de trabalho?

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

- Como você pode limpar um conteúdo de um espaço de trabalho? - A distância percorrida por uma bola em queda livre é dada pela equação:

Utilize o matlab para calcular a posição da bola no tempo t = 5s, sendo mx100=, smv/150= e 2/81.9sma−=.

- Encontre o valor da seguinte expressão:

yx yx −

2. Matlab Básico

Variáveis e Matrizes:

Como já foi dito anteriormente, a unidade básica no Matlab é a matriz.

E também já foi dito que uma matriz é uma coleção de valores organizados em linhas e colunas.

Também foi dito que podemos acessar um valor individual de uma matriz, seguido de índices entre parênteses que identificam a linha e coluna em particular.

Além disso, é válido lembrar que um escalar é interpretado no matlab como uma matriz que apresenta uma única linha e uma coluna.

Mas professor existe alguma diferença entre vetor e matriz?É claro que sim! Veja, um vetor seria um tipo de matriz com apenas uma dimensão e a matriz propriamente dita apresenta duas ou mais dimensões.

Assim ficou moleza!

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Para melhorar o entendimento, identifique as posições da seguinte matriz.

Além disso, veja que as dimensões da matriz podem ser encontradas através do comando “size(a)”. Que mostra os valores 4 e 5, como sendo a quantidade de linhas e colunas, respectivamente.

Uma dica! Ao escrever um algoritmo é importante escolher nomes com significado para as variáveis. P. exemplo é interessante que se use a o nome “media” para receber o valor da média aritmética ao invés do nome ser “casa”.

Uma segunda dica! O nome de uma variável não pode ser iniciada por um número, o nome da variável deve apresentar até 31 caracteres e caso se queira utilizar uma palavra composta, deve-se utilizar o underline “ _ “. P. exemplo, juro_composto.

Uma terceira dica! O matlab diferencia letras maiúsculas das minúsculas, portando o nome da variável “endereço” é diferente de “Endereço”.

Uma quarta dica! No matlab, variáveis podem ser criadas a qualquer momento simplesmente associando valores a elas o que não acontece em outras linguagens, como por exemplo o C.

Iniciando variáveis no matlab: Existem três formas de se carregar valores em uma variável: - Atribuindo o valor diretamente em uma declaração apropriada (z = 10);

- Carregar dados digitados diretamente pelo teclado;

- Ler dados de um arquivo.

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Expressões de Atribuição: Formato: var = expressão

Onde: var – nome da variável

Expressão – é uma constante, uma matriz, uma combinação de constantes, outras variáveis e operações matemáticas.

Caro aluno, no primeiro exemplo (var = 40 * i) o valor que será armazenado na variável “var” será 40i que é um número imaginário.

Veja também que podemos criar uma matriz vazia, por exemplo, a = [ ];

Observe o seguinte exemplo:

Uma dica importante, se um elemento específico da matriz estiver definido e um ou mais elementos antes dele não, os elementos anteriores serão automaticamente criados e iniciados com o valor zero.

Caro aluno vamos criar um momento de reflexão. É simples se criar pequenas matrizes onde o usuário pode definir termo a termo. Mas como você irá fazer se a matriz apresentar centenas ou milhares de elementos? E ai? E ai? Agora complicou professor . Calma, calma. O matlab lhe ajuda através do operador dois-pontos.

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Formatação: prim:inc:ult; Onde: - prim: primeiro termo; - inc: valor do incremento;

- ult: último termo;

Atenção: Se o valor do incremento for “um”, este valor pode ser omitido.

Uma pergunta: Vocês podem me dizer a diferença entre f = [1:4] e g = [1:4]’ ????

Funções Pré-definidas:

Função “zeros” – cria uma matriz de zeros do tamanho desejado. Exemplos: a = zeros(2); b = zeros(2,3); c = [1 2;3 4]; d = zeros (size(c));

Função “ones” – cria uma matriz de “uns” do tamanho desejado, possui as mesmas características da função “zeros”.

Função “eye” – cria uma matriz identidade do tamanho especificado pelo usuário, possuindo as mesmas características da função “zeros”.

Função “length” – retorna o comprimento de um vetor ou a dimensão maior de uma matriz bidimensional.

Função “size” – retorna dois valores, especificando o número de linhas e o de colunas.

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Iniciando variáveis com entrada pelo teclado: Como pode ser observado, pode-se efetuar a entrada de dados pelo teclado do computador e salvá-lo em uma variável. Para isso utiliza-se a função “input”.

Exemplo: recebe = input (Entre com um valor: );

REVISÃO: - Qual a diferença entre uma matriz e um vetor?

- Responda as questões seguintes considerando a matriz abaixo.

i) Qual o tamanho de A? i) Qual o valor de A(2,3)? i) Defina quais índices de todos os elementos apresentam valor igual a 0.6.

DESAFIO: Crie um algoritmo que mostre os índices de todos os elementos que apresentem valor igual a 0.6.

Submatrizes: É possível selecionar e utilizar subconjuntos de matrizes no Matlab como se fosse uma matriz separada.

Ixe professor, então como se faz isso? Muito fácil, basta colocar uma lista de todos os elementos a serem selecionados entre parênteses após o nome da matriz. Veja o exemplo e note como é simples!

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Função “end”: Quando utilizada no índice de uma matriz, a função end retorna o valor mais alto admitido por ele. Veja exemplos: a) >> ar3 = [1 2 3 4 5 6 7 8]; >> ar3 ( 5: end ) => ar3 = [5 6 7 8]

Caro alunos, podemos inserir valores em uma determinada posição de uma matriz já criada. Veja exemplo: >> sub = [1 2 3 4; 5 6 7 8; 9 10 1 12];

Ixe professor, achei muito interessante este procedimento!

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Agora vamos estudar algumas variáveis especiais pré-definidas no matlab: Calcule o comprimento “cir” de uma circunferência de raio r = 10 cm. >> cir = 2 * pi * 10

>> cir = 2 * pi * 10 Podemos concluir que a variável pi possui um valor pré-estabelecido de 3.14 e este valor pode ser substituído pelo usuário ao seu critério.

Algumas funções especiais pré-definidas: pi Armazena pi com 15 dígitos significativos i, j Contém o valor i (1−) clock Essa variável especial contém a data e a hora correntes na forma de um vetor linha de 6 elementos, contendo ano, mês, dia, hora, minuto e segundo date Contém a data corrente em formato de cadeia de caracteres, como “19-Feb-2010”

REVISÃO: 1. Dada a matriz c definida abaixo, determine o conteúdo das seguintes submatrizes:

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Exibindo dados de saída:

Caros alunos conforme já vimos se quisermos ecoar o valor de uma determinada variável ou expressão matemática na janela de comando, basta que não se coloque o “;” no final de uma sentença.

Mas professor existem outras formas de exibirmos dados para o usuário? É claro que sim. Vamos lá!

Saída estruturada usando a função “fprintf”: Um exemplo de Estrutura: fprintf ( ‘ O valor de pi = %f \n’ , pi)

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

O símbolo “%f” serve para inserir naquele ponto do texto o valor armazenado por uma variável, no exemplo o valor de pi. Além disso, foi utilizado o símbolo “\n” que serve para saltear uma linha após a inserção do texto acima. E, finalmente, podemos efetuar a formatação do valor inserido na variável %f através da utilização, por exemplo, “%4.2f” que cria um campo com quatro caracteres de largura, incluindo dois dígitos depois do ponto decimal.

ATENÇÃO! ATENÇÃO! O comando “fprintf” somente exibe a parte real de um número. Eita, eita. Não entendi foi nada! Exemplo: >> x = 2 * ( 1 – 2 * i ) 3;

AH! Agora eu entendi! rs!

Arquivo de Dados: No matlab existem essencialmente duas formas de salvar arquivos utilizando o comando

“save”. A primeira forma consiste em gerar um arquivo .mat que tem a vantagem de guardar o nome e o tipo de cada variável. No entanto, caso queiramos compartilhar este arquivo entre dois computadores, necessariamente os dois devem ter instalados o matlab. A segunda forma consiste em gerar um arquivo .dat que tem a vantagem de poder ser aberto em qualquer editor de texto, no entanto possui a desvantagem de perder o nome e os tipos de variáveis.

Ih professor, agora ferrou! Lá em casa eu não to com o matlab instalado e eu tava querendo ter acesso aos valores coletados nas variáveis. Poxa, foi trabalho perdido tudo que fiz? Calma, calma. Você está estudando muito e não precisa ficar nervoso assim. O matlab te fornece a possibilidade de salvar arquivos de dados no formato ascii que pode ser aberto em qualquer computador com ou sem matlab. Sério? Você ta de brincadeira né professor? Olhe pro meu rosto cê acha que estou brincando? Hehehehe. Pois diz ai fêssor como nóis pode salvar assim. Vamos lá! :P

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Save filename var1 var2 var3

Primeiramente o formato para gerar arquivos .mat: Formato:

var1, var2,: são as variáveis que o usuário pretende salvar;

Onde – filename: é o nome do arquivo no qual as variáveis serão gravadas;

>> save x.dat x –ascii Agora ta moleza! Salvar em formato ascii!

Professor agora fiquei com uma dúvida. Vamos supor que o meu algoritmo apresente umas cinqüenta variáveis e eu queira salvar todas, então eu preciso digitar o nome de todas uma a uma? A não ser que você queira fazer serviço de português você pode digitar o seguinte comando “save filename”. Oxe, só isso? É sim, ai o matlab salva todas as variáveis que estão neste momento na janela de trabalho. Legal, legal!

Bom professor, já aprendi a salvar arquivos no matlab agora como faço para abrir ou carregar um arquivo existente? Muito fácil! Veja:

Formato: load filename onde – filename é nome do arquivo a ser carregado.

Se o arquivo for do tipo .mat todas as variáveis no arquivo serão recuperadas, com os nomes e tipos idênticos aos anteriores.

Professor uma pergunta, pra abrir um arquivo em formato ascii tem algum segredo? Claro que não. Igual, igual e igual!

Apostila de Algoritmos – MATLAB - Prof. Samuel Dias

Operações com Escalares e Matrizes:

Operador de atribuição: Exemplo: >> i = 5;

Operações com Escalares: Exemplo:

Operações com Matrizes: Podem ser realizadas de duas formas chamadas de operação estrutural e operação matricial.

(Parte 1 de 3)

Comentários