Mostrando postagens com marcador MatLab. Mostrar todas as postagens
Mostrando postagens com marcador MatLab. Mostrar todas as postagens

MatLab - Criando uma função

Neste post será ensinado como fazer uma função no MatLab

Uma função no MatLab deve ser escrita em um script. Para isso, deve-se criar um novo script, apertando em New/Script na parte superior esquerda.


Após isso, irá abrir uma janela onde uma função pode ser escrita. Uma função possui a seguinte estrutura:

Função em MatLab

As saídas são variáveis que serão devolvidas pela função. No caso do exemplo há três saídas.
As entradas são variáveis necessárias para que a função seja executada. Há, também, três entradas neste exemplo.
O nome da função que esta sendo aqui definida é funcao. Ao salvar a função, cria-se um arquivo *.m que DEVE ter o mesmo nome da função, neste caso o arquivo gerado deverá ter o nome funcao.m.

Exemplo: Função que recebe três valores e calcula a soma e o produto deles:



Assim, para acessá-la no Command Window basta proceder conforme a seguir:

Programação em MatLab

Veja que neste caso, a variável A recebeu a soma 10+3+2, e a variável B, o produto 10*3*2.

Um comando importante para a programação em MatLab é o for

Uso do for em MatLab

A sintaxe geral é a seguinte:

for variavel = inicio:incremento:fim
    ...
    %declarações
    ...
end

Neste exemplo, em cada passo serão executadas as declarações e a variável variavel será modificada, começando com o valor de inicio, incrementando com o valor de incremento até o valor de fim.
É possível usar a função for sem definir o incremento. Neste caso, por padrão, o incremento é 1.

Uso do if em MatLab

Outra função importante na programação é o uso do if. O if é uma condição imposta. Ele tem a seguinte sintaxe geral:

if a == b      %Se a variável a for igual a b
    a = 0;
elseif a > b   %Caso a diferente de b e a maior que b
    a = b;
else           %Caso contrário (a diferente de b e a menor que b)
    b = a
end            %fim da função

O comando if possui as seguintes formas de comparação:


Comparações usando if
Comparação Comando
Igual ==
Diferente ~=
Maior >
Menor <
Maior igual >=
Menor Igual <=

Exemplo usando o que foi aprendido:
Dada uma matriz M, criar uma função que verifique quantos valores se repetem nesta matriz.


Veja que esta função vai percorrendo cada elemento da matriz para verificar se acha outro igual a ele. Ao encontrar outro igual, a função finaliza com o uso do break e passa para o próximo elemento de referência.
Pode surgir a dúvida de que após o primeiro elemento igual, existam outros que também sejam iguais e com o uso do break, estes outros elementos estariam sendo ignorados. Isso não ocorre pois o elemento identificado como igual, será um elemento de referência em algum momento. Veja, abaixo, como o processo ocorre detalhadamente:

%Definindo uma matriz M
M = [1 2 5; 2 1 3; 1 2 1];

Já podemos perceber que há 5 elementos repetidos, sendo eles o 1 (3 vezes) e o 2 (2 vezes).
Chamando a função repete, a lógica ocorre da seguinte forma:

1 - A variável quanto recebe zero;
2 - Verifica-se quantas linha e quantas colunas tem a matriz M;
3 - Transforma-se a matriz M em um vetor coluna;
4 - tamanho recebe o tamanho do vetor;
5 - Pega-se o elemento k1 do vetor Vetor_M como elemento referência
    5-1 - Percorre-se o vetor Vetor_M a partir do elemento escolhido até que se encontre outro igual;
    5-2 - Ao encontrar outro igual, muda-se o elemento de referência para o próximo e procede-se novamente como 5-1.

A variável quanto guarda quantas vezes há elementos repetidos. A varável valor é um vetor com os elementos que possuem mais de um.

Veja o uso da função repete na matriz M definida acima.

>> M = [1 2 5; 2 1 3; 1 2 1]

M =

     1     2     5
     2     1     3
     1     2     1

>> [quanto,valor] = repete(M)

quanto =

     5


valor =

     1     2     1     2     1

É importante perceber que o vetor Vetor_M guarda as colunas da matriz M. Desta forma, o código percorre coluna por coluna.




MatLab - Comandos e funções importantes I

Alguns comandos e funções muito utilizadas na programação usando MatLab®

Obter o tamanho de um vetor (length e size):

>> %Definindo um vetor
>> V = 1:10;
>> %Obtendo o tamanho de V
>> Tamanho = length(V)

No caso acima, Tamanho valerá 10. O comando length retorna quantos elementos um vetor possui. Caso ele seja usado em matrizes, ele irá retornar a maior dimensão dessa matriz.

Existe a também função size, que retorna um vetor com as dimensões de uma variável. No caso de vetores, uma das respostas será 1.
>> %Definindo um vetor linha
>> V1 = 1:10;
>> %Definindo um vetor coluna
>> V2 = [1;2;3;4;5;6;7;8;9;10];
>> %Usando o comando size
>> Tamanho1 = size(V1)

Tamanho1 =


     1    10

>> Tamanho2 = size(V2)

Tamanho2 =


     10    1

Este comando é mais recomendado para ser utilizado com matrizes.

Acessar o último elemento de um vetor:

Caso queira-se obter o último elemento de um vetor sem que se conheça o tamanho deste vetor, basta usar end:
>> %último elemento do vetor V1
>> V1(end)

ans =


    10

A variável ans é a variável automaticamente definida pelo programa caso não se defina outra para receber o resultado.


Obter apenas uma parte do vetor ou matriz:

Caso deseja-se obter apenas uma parte de um vetor ou matriz, basta inserir quais elementos deseja-se obter:
>> %Obtendo apenas os 5 primeiros elementos de V1
>> V1(1:5)

ans =


     1     2     3     4     5

>> %Obtendo apenas os elementos 1 4 6 7 9 10
>> V1([1 4 6 7 9 10])

ans =


     1     4     6     7     9    10


Transpor vetor ou matriz:

Para transpor uma variável, basta usar '. Caso tenha-se um vetor linha e deseja-se transformá-lo em vetor coluna:
>> %Transformando vetor linha em coluna
>> Coluna = V1'

Coluna =

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

>> %Transformando vetor coluna em linha
>> Linha = V2'

Linha =


     1     2     3     4     5     6     7     8     9    10

Com matrizes o uso de ' funciona da mesma forma, transpondo a matriz.

Criando matrizes de zeros, uns, identidade e diagonal:

Matriz de zeros:
>> M_zeros = zeros(m,n);

Este comando irá criar uma matriz de zeros de m linhas e n colunas.

Matriz de uns:
>> M_um = ones(m,n);

Este comando cria uma matriz em que todos os elementos são 1 com m linhas e n colunas.

Matriz identidade:
>> M_identidade = eye(5);

Este comando cria uma matriz identidade 5x5.

Matriz diagonal:
>> M_diagonal = diag([1 2 3 4 5 6]);

Este comando cria uma matriz em que há apenas elementos na diagonal principal, sendo eles 1 2 3 4 5 6.

Obtendo o maior e o menor elemento de um vetor ou uma matriz:

Os comandos max e min retornam o maior e o menor elemento de um vetor. Caso ele seja empregado em uma matriz, ele irá retornar um vetor com o maior elemento de cada coluna. Utilizando um vetor de variáveis para receber o resultado da função max, ele retorna o maior elemento e a posição dele.

>> %Definindo um vetor linha
>> V = [1 5 2 7 5 3 6];
>> %Obtendo o maior elemento e a posição dele no vetor
>> [Maior,Posicao] = max(V)

Maior =

     7


Posicao =

     4

O mesmo procedimento é adotado pela função min, que neste caso retorna o menor elemento.





MatLab - Manipulando e acessando valores (Vetores e matrizes)

Manipulando e acessando valores de uma matriz ou um vetor no MatLab®

Após definir variáveis é importante saber manipulá-las no programa. Veja como fazer isso:

Exemplo:
>> %Definindo vetor V
>> V = 1:0.5:6;>> %Definindo Matriz M
>> M = [1 2 3; 4 5 6; 7 8 9];

O uso do ponto e vírgula no fim de cada linha serve para que os resultados do comando não sejam exibidos na tela.

Caso deseja-se acessar o elemento da segunda linha e terceira coluna da matriz M e inseri-lo na variável a, basta proceder conforme segue:

>> %Definindo escalar a
>> a = M(2,3);

Veja que de forma muito intuitiva o programa permite que sejam acessados valores de matrizes e vetores. No caso do exemplo acima, a variável escalar a assumirá o valor 6, pois este é o elemento da linha 2 coluna 3 da matriz M. Nos vetores, sejam eles vetores linha ou coluna, basta digitar a posição do elemento que deseja-se acessar:

>> %Definindo escalar b
>> b = V(4);

Como visto anteriormente, o elemento da posição 4 do vetor V é o 2,5., valor este que é inserido em b.

Veja abaixo, como os comandos acima são apresentados no Command Widow. Perceba que não será usado o ponto e vírgula e que por este motivo, os resultados de cada comando serão apresentados (destacados por um retângulo vermelho na figura).







MatLab - Introdução ao MatLab: Definindo variáveis

Definindo variáveis como escalares, vetores e matrizes no MATLAB®

Um dos grandes diferenciais do MATLAB® é a eficiência com a manipulação de variáveis, principalmente com matrizes e vetores. A seguir, serão mostradas as formas de se definir essas variáveis.

Escalares

No exemplo do tópico anterior já foi mostrado como definir uma variável. Basta digitar o nome da variável e igualá-la ao valor desejado.

Exemplo:>> %Definindo escalares A, B e C
>> A = 10;
>> B = 3.1415;
>> C = 5.2375943*10^-5;

Veja o que ocorre ao definir os escalares acima:

MatLab


No caso do MATLAB® não é preciso estabelecer anteriormente o tipo de variável, se é uma string, um inteiro ou um valor real, por exemplo. Automaticamente ele percebe isso na definição da variável. Outra questão importante é que a separação dos valores decimais para os inteiros se dá por ponto e não por vírgula.

Vetores

A definição de vetores ocorre de forma análoga à de escalares, com o diferencial do uso de "[]". Para definir um vetor linha (ou seja, com uma linha e várias colunas) usa-se vírgula ou espaço entre os termos. Se deseja-se definir um vetor coluna (uma coluna e várias linhas) usa-se o ponto-e-vírgula separando os elementos do vetor.

Exemplo:
>> %Definindo vetores A, B e C
>> A = [1,2,3,4,5,6];
>> B = [1 2 3 4 5 6];
>> C = [1;2;3;4;5;6];


Definindo Vetores MATLAB


Além disso, existe uma forma de se definir um vetor desde que os termos tenham uma diferença entre eles constante. Veja o exemplo a seguir:

Exemplo:
>> %Definindo vetores A, B e C
>> A = 1:0.5:6;
>> B = 1:1:6;
>> C = 1:0.25:3;

O que foi feita anteriormente é o mesmo que:

>> A = [1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6];
>> B = [1,2,3,4,5,6];
>> C = [1,1.25,1.5,1.75,2,2.25,2.5,2.75,3];

Com este recurso os vetores formados são todos vetores linha.

Matrizes

As matrizes são definidas com elementos preenchendo suas linhas e colunas. A definição de uma matriz ocorre linha por linha, separando cada linha por ponto-e-vírgula.

Exemplo:
>> %Definindo Matriz M
>> M = [1 2 3; 4 5 6; 7 8 9];

A matriz M é uma matriz 3x3 que tem na primeira linha os termos 1 2 3, na segunda linha 4 5 6 e na terceira linha 7 8 9.



MatLab - Introdução ao MatLab: Janelas

Introdução ao MATLAB® para iniciantes

A popularidade do MATLAB® tem crescido muito nos últimos anos. Seu uso na engenharia tornou-se bastante comum devido ao seu alto desempenho para trabalhar com matrizes o operações matriciais. Este post tratará de alguns conceitos iniciais do programa, para familiarização de usuários iniciantes.

Janelas de trabalho do MATLAB®

O layout do  MATLAB® apresenta basicamente 4 janelas principais:



Comand Window: Neste espaço é possível digitar os códigos que se deseja, definindo variáveis, plotando gráficos, chamando funções etc. É aqui também que são mostradas as mensagens de erros.

Exemplo:
>> %Definindo um valor para A
>> A = 10;

A primeira linha, em verde e iniciada por % é um comentário. No MatLab os comentários são identificados pelo % no início. Ao digitar o estabelecido no Exemplo, automaticamente a variável A assumirá o valor igual a 10. Na janela Workspace aparecerá a variável definida e no Command History vai ficar registrado o que foi feito no Workspace. Para repetir os comandos registrados no Command History basta ir apertando no botão  do teclado.

Janelas do MatLab


Workspace: Esta é a janela que exibe todas as variáveis existentes e definidas.

Command History: Janela onde fica registrado aquilo que foi digitado no Workspace em blocos separados por data.

Current Folder: Mostra os arquivos da pasta na qual o MatLab esta direcionado. Para mudar a pasta do Current Folder basta selecionar uma outra pasta na toolbar superior. No caso das figuras anteriores, a pasta aberta é C:/Users/Documents/MATLAB e como pode ser visto na Janela Current Folder não há nenhum arquivo nesta pasta.

Alguns comandos iniciais podem ser muito úteis.

clc: Ao digitar clc no Workspace toda a janela ficará limpa. Este comando limpa apenas o Workspace não alterando qualquer dado existente nas outras janelas.

clear: o comando clear serve para limpar as variáveis existentes. Para limpar todas deve-se digitar clear all, caso deseja-se limpar uma variável em específico, por exemplo a variável A, deve-se digitar clear A. Para limpar especificamente as variáveis A, B, C, digita-se clear A B C.