sábado, 4 de julho de 2015

MATLAB e a programação

Para implementar códigos completos e criar programas que sejam funcionais, é necessária a utilização de alguns recursos que o MATLAB fornece. São os operadores lógicos, os comandos de limpeza, a indentação, os processos iterativos, a criação de funções personalizadas, o tempo de simulação e o modo Debug. A seguir, cada um dos recursos mencionados serão explicados.


  • Operadores lógicos:
São os operadores de comparação. Eles podem ser usados para relacionar duas ou mais variáveis, ou então para realizar testes. A tabela abaixo exibe todos os operadores usados no MATLAB.


  • Comandos de limpeza:
Ao programar, para facilitar o entendimento do código quando rodado na Command Window, existem os recursos de limpeza da tela e das variáveis. São eles: clc, clear all e close all. 
 Clc: Ao digitar o comando clc na Command Window, ele limpa todos os dados inseridos anteriormente, porém sem apagá-los da memória.
>>clc 
 Clear all: O comando clear all limpa todos os valores das variáveis que foram armazenados anteriormente. >>clear all 
 Close all: O comando close all fecha todas as Figure Windows abertas.
>>close all 

  • Indentação:
O recurso da indentação permite que o código digitado no Editor seja organizado, de acordo com os espaçamentos das margens de cada linha, a fim de torná-lo mais claro para o usuário. Ele tem como base a hierarquização dos comandos utilizados. Para indentar um código, basta selecioná-lo, clicar com o botão direito do mouse e escolher a opção Smart Indent.  

  • Processos interativos:
Os processos interativos são aqueles que limitam o código em partes, e necessitam de condições iniciais ou finais para que aquele trecho seja executado. Eles são divididos em quatro: If/If-else, While, For e Switch-case. 
 If / If-else: O comando” If”, ou “Se”, executa o trecho do código abaixo dele apenas se a condição inicial for satisfeita. Seu formato no MATLAB é:
 if(condição1)
 expressões1; 
elseif(condição2)
 expressões2;
 else 
 expressõesn;
 end 

 While: O comando “While”, ou, “Enquanto”, é executado enquanto alguma condição inicial é satisfeita. Ou seja, para que ele não se torne um loop infinito, em algum ponto durante o loop, a variável que define a condição deve ser modificada para que a condição não seja mais satisfeita. Essa mudança na variável de condição é denominada flag. O formato do comando while no MATLAB é: 
while(condição) 
 expressões;
 end

 For: O comando “For”, ou, “Para/Faça”, também é caracterizado como um loop. Porém ele determina previamente os valores iniciais e finais da variável de condição. Ou seja, é pré-definida a quantidade de vezes em que o trecho do comando for será executado. Seu formato no MATLAB é:
 for variável_de_iteração=valor_inicial : valor_final 
 expressões;
 end

 Switch-Case: O comando “Switch-Case”, ou, “Escolha”, permite que se tenha diferentes casos para uma determinada variável. Dependendo do valor que esta variável possui, será executada uma das opções do switch-case. Seu formato no MATLAB é: 
switch variável 
case a 
 expressões; 
case b 
 expressões; 
case c 
 expressões; 
otherwise 
 expressões; 
end
  •  Criação de funções:
O MATLAB possui uma biblioteca extensa de funções, porém o usuário também pode criar suas próprias funções. Geralmente, esse recurso é utilizado quando uma parte do código é repetida várias vezes. Por isso, criar uma função com determinado trecho deste código, o torna menor e mais fácil de ser visualizado. 

Cada função criada deve possuir sua própria janela do Editor. E esse arquivo deve sempre ser salvo na mesma pasta que contém o código todo. O formato que esta função deve ser criada é:  
function saída = nome_da_função(entrada) 
expressões; 

O “nome_da_função” deve ser sempre escrito em letras minúsculas e sem espaços. Além disso, ao salvar o arquivo do Editor, este deve possuir o mesmo nome da função criada, uma vez que ao chamar esta função durante o código, ele ira buscar na pasta pelo arquivo que possui aquele nome. Os dados de entrada da função são os parâmetros que serão passados do código para a função e que serão utilizados por ela. Caso exista mais de um dado de entrada, eles devem ser separados por vírgulas, dentro dos parênteses. E o dado de saída é o valor que a função retorna e que será armazenado pela variável que chamou a função. 

Pode-se também criar uma função que não retorna nenhum valor. Ela apenas executa o trecho de código correspondente. Seu formato deve ser:
 function nome_da_função(entrada) 
expressões;
  •  Tempo de Simulação: 
Um recurso bastante útil do MATLAB é o chamado “Tic Toc”. Ele calcula e mostra ao programador o tempo em que determinado trecho demorou para ser executado. Como é de interesse do programador deixar o programa cada vez mais rápido, o “Tic Toc” permite essa análise. Seu formato é:
 tic
 trecho do código desejado
 toc 

O resultado deste comando é mostrado na Command Window. 

  • Modo Debug: 
O modo Debug, que pode ser utilizado no Editor, permite que o programador acompanhe a execução de determinado trecho do seu código, linha por linha. Desta forma, pode-se visualizar exatamente todos os passos que o programa segue, facilitando a correção de erros eventuais. Além disso, ao posicionar a seta do mouse sobre cada variável durante o modo Debug, pode-se ver seu valor e consequentemente, suas mudanças ao longo da execução.

Para rodar um programa no modo Debug, deve-se seguir alguns passos:
- Clicar no traço ao lado do número referente à linha a partir da qual se deseja acompanhar. Aparecerá uma bolinha vermelha.
- Clicar em “Debug” na barra de menus, e então em “Run”. Aparecerá uma setinha verde na linha em que o programa está parado. 
- Apertar F10 para que o programa prossiga para a próxima linha. Repetir até quando desejar. 
- Clicar em “Debug” e em “Exit Debug Mode” para sair do modo Debug. 

MATLAB aplicado a Engenharia e Ciências


  • O que é MATLAB?
O MATLAB trata-se de uma plataforma de alta performance para fins de cálculo numérico. Esse software integra cálculo com matrizes, processamento de sinais, análise numérica e construção de gráficos de uma forma próxima a como escrevemos expressões algébricas, facilitando seu uso. Atualmente, é definido como um sistema interativo e uma linguagem de programação para computação técnica e científica em geral, assimilando capacidade de fazer cálculos, visualização gráfica e programação.

É um programa de computador desenvolvido para assistir, dentre muitas áreas das ciências exatas e humanas, a engenharia. Com uma interface simples e prática suas ferramentas são uma poderosa arma para a solução de problemas na Engenharia.

Além de recursos básicos de programação, o MATLAB traz uma gama de ferramentas que auxiliam estudantes, pesquisadores e profissionais da área em suas atividades laborais conferindo, aos mesmos, caráter profissional.

  • Aplicações:
Seus principais usos são: no cálculo matemático; desenvolvimento de algorítimos; análise, simulação e confecção de dados; gráficos científicos e de engenharia; modelagem, simulação e confecção de protótipos; desenvolvimento de aplicações, incluindo a elaboração de interfaces gráficas com o usuário.


  • Área de trabalho: 
No gerenciador de programas do Windows, um duplo clique no ícone MATLAB carrega o aplicativo. Uma vez inicializado o MATLAB, aparecerá na tela uma janela de comandos e o "prompt" padrão (EDU>> ou >>) é exibido na tela. A partir deste ponto, o MATLAB espera um comando (instruções) do usuário. Todo comando deve ser finalizado teclando-se Enter.

As teclas com setas podem ser usadas para se encontrar comandos dados anteriormente, para execução novamente ou sua reedição. Por exemplo, suponha que você entre com:
 » sen(0)
 Ao apertar a tecla Enter , o MATLAB responde com uma mensagem de erro:
 ??? Undefined function or variable sen. 
Isto acontece porque para se determinar o seno de um ângulo é necessário digitar em inglês o comando sin. Ao invés de rescrever a linha inteira, simplesmente pressione a tecla "seta para cima". O comando errado retorna, e você pode, então, mover o cursor para trás usando a tecla "seta para esquerda" ou o ponto de inserção com o "mouse" ao lugar apropriado para inserir a letra i:
 » sin(0)
 ans = 
 0 
Note que o MATLAB chamou o resultado de ans (answer=resposta). Além das teclas com setas, pode-se usar outras teclas para reeditar a linha de comando. A seguir é dada uma breve descrição destas teclas:




  • Operações básicas e Expressões lógicas:
O MATLAB oferece as seguintes operações aritméticas básicas:



A ordem nas expressões segue a ordem matemática - potência, seguida da multiplicação e da divisão, que por sua vez são seguidas pelas operações de adição e subtração. Parêntesis podem ser usados para alterar esta ordem. Neste caso, os parêntesis mais internos são avaliados antes dos mais externos.

Uma expressão se diz lógica se os operadores são lógicos e os operandos são relações e/ou variáveis do tipo lógico. Os operadores relacionais realizam comparações entre valores do mesmo tipo. Os operadores relacionais utilizados pelo MATLAB são:


Note que (=) é usado para atribuição de um valor a uma variável, enquanto que (==) é usado para comparação de igualdade. No MATLAB os operadores relacionais podem ser usados para comparar vetores de mesmo tamanho ou escalares. O resultado de uma relação ou de uma expressão lógica é verdadeiro ou falso; contudo, no MATLAB o resultado é numérico, sendo que 1 significa verdadeiro e 0 significa falso. Por exemplo:
 » 5>8
 ans =
 0
 » 5==5
 ans =
 1

Os operadores lógicos permitem a combinação ou negação das relações lógicas. Os operadores lógicos do MATLAB são: