A linguagem MATLAB permite a criação de matrizes e a solução de expressões aritméticas, equações algébricas, funções trigonométricas, utilizando variáveis, blocos condicionais e de repetição, dentre muitos recursos disponíveis.
O recurso mais básico da MATLAB são as operações aritméticas com escalares, como a simples soma de 2 + 2.
>> 2 + 2
ans = 4
Matemática simples: Joaquim vai à papelaria e compra 4 borrachas por 25 centavos cada, 6 blocos por 52 centavos cada e 2 fitas adesivas por 99 centavos cada. Quantos itens comprou e quanto gastou?
Usamos a calculadora para calcular o total de itens, o preço total em centavos e o preço total em reais.
4 + 6 + 2 = 12 (itens)
4 x 25 + 6 x 52 + 2 x 99 = 610 (centavos)
610 / 100 = 6,10 (reais)
Usando MATLAB comandamos as operações aritméticas básicas de forma similar à calculadora.
>> 4 + 4 + 2
ans = 12
>> 4 * 25 + 6 * 52 + 2 * 99
ans = 610
>> 610 / 100
ans = 6.10
Obs: ans = answer = resposta
Operações aritméticas básicas
As operações aritméticas básicas são: soma, subtração, multiplicação e divisão.
A operação entre escalares utilizam os símbolos mais "+", menos "-", asterisco "*" e divisão "/".
>> 6 + 2 % Soma
ans = 8
>> 6 - 2 % Subtração
ans = 4
>> 6 * 2 % Multiplicação
ans = 12
>> 6 / 2 % Divisão
ans = 3
Escalares, Vetores e Matrizes
Para a MATLAB todas as variáveis são matrizes.
Chamamos escalares aqueles valores unitários de diferentes tipos: numéricos inteiros e reais, strings (cadeias de caracteres), booleanos (valores lógicos true-false ou 1-0).
Mas mesmo valores escalares na MATLAB são tratadas como matrizes 1x1, com uma linha e uma coluna. Estes vetores com 1x1 serão referidos como vetores unitários.
Vetores são matrizes unidimensionais com uma linha ou uma coluna. Normalmente o termo vetor com matrizes de ordem 1xn ou nx1 com n > 1.
Matrizes são composições de elementos em linhas em colunas, de ordem mxn, com m> 1 e n > 1.
Criação de matrizes
Matrizes são criadas com valores entre colchetes "[ ]" separados por espaço " " ou vírgula, para separar colunas, ou ponto-e-vírgula ";" para separar linhas.
>> [1 2 3 ; 4 5 6 ; 7 8 9 ]
ans =
1 2 3
4 5 6
7 8 9
Variáveis
Podemos atribuir a variáveis os resultados das operações que realizamos.
Variáveis "recebem" valores. Na verdade apontam para valores alocados e armazenados na memória após uma operação qualquer, mas no popular dizemos "que as variáveis recebem valores".
Evoluindo o exemplo de que Joaquim vai à papelaria e compra 4 borrachas a 25 centavos cada, 6 blocos a 52 centavos cada e 2 fitas adesivas a 99 centavos cada, usando variáveis nas operações, calculamos quantos itens comprou e quanto gastou.
>> borrachas = 4
borrachas = 4
>> blocos = 6
blocos = 6
>> fitas = 2
fitas = 2
>> items = borrachas + blocos + fitas
items = 12
>> custo_centavos = borrachas * 25 + blocos * 52 + blocos * 99
custo_centavos = 610
>> custo_reais = borrachas * .25 + blocos * .52 + blocos * .99
custo_reais = 6.10
% ou
>> custo_reais = custo_centavos / 100
custo_reais = 6.10
Observe acima que em valores reais v onde -1 < v < 1 o zero pode ser suprimido à esquerda do ponto decimal.
Variáveis especiais
O MATLAB tem algumas variáveis especiais que podemos utilizar em nossas operações. Abaixo temos alguns exemplos:
pi % a constante PI.
beep % faz o computador soar um beep.
i ou j % sqrt(-1)
inf % infinito
realmin % Menor real positivo que pode ser usado.
realmax % Maior real positivo que pode ser usado.
bitmax % Maior inteiro positivo que pode ser usado.
Variáveis especiais podem ter seus valores alterados.
>> pi % ans = 3.1416
>> pi = 233e3 % pi = 233000
>> clear pi >> pi % ans = 3.1416
Variáveis criadas pelo usuário são incorporadas ao workspace da MATLAB .
Liberação de variáveis
A função clear <var> remove a variável <var> do workspace , sendo uma variável por nós definida pelo usuário, ou reestabelece o seu valor original sendo uma variável especial.
O comando var ou var = all , remove todas as variáveis definidas pelo usuário e restabelece os valores iniciais das variáveis especiais.
Reutilização de variáveis
O MATLAB permite uma variável já declarada receber novo valor:
>> x = 10;
x = 10
>> x = 20
x = 20
Isto colabora para que, em muitas situações, o gerenciamento da memória seja otimizado proporcionando a liberação de dados intermediários das operações.
A reutilização das variáveis não afeta cálculos anteriores.
>> borrachas = 4
borrachas = 4
>> blocos = 6
blocos = 6
>> fitas = 2
fitas = 2
>> items = borrachas + blocos + fitas
items = 12
>> borrachas = 8
borrachas = 8
>> blocos = 7
blocos = 7
>> fitas = 4
fitas = 4
>> items
items = 12
Palavras reservadas
O MATLAB tem palavras reservadas que não devemos usar como nomes de variáveis para não causarmos erros de interpretação dos comandos MATLAB.
As principais palavras reservadas são:
for end while function return try
if elseif else case continue switch
catch global persistent break otherwise
Pontuações especiais no MATLAB
Comentários: O símbolo % instrui ao interpretador MATLAB para que ignore o texto que o segue.
>> pi % exibe o valor da constante pi ans = 3.1416
Múltiplos comandos na mesma linha: Os comandos devem ser separados por vírgula ou ponto-e-vírgula.
>> borrachas = 4, blocos = 6; borrachas + blocos % erasers = 4, ans = 10
Quebra de linha
O símbolo três-pontos "..." no final da linha indica ao interpretador que a operação do comando continuará na linha seguinte.
>> a = 10; b = 20; c = 30; % finalizados com ";" não mostram o resultado na JC
>> items = a + ... % O comando inicia e continua ...
>> b +... % e continua ...
>> c % e encerra.
items = 60
Aritmética de ponto flutuante
Os números são representados em aritmética de precisão dupla, usando código binário na representação interna.
- Nem todos os números podem ser representados exatamente.
- Existem limites para os valores poderem ser representados.
- Existe um valor-limite inferior que efetivamente pode ser somado a um número de forma a mudar seu valor.
>> format long % exibe mais dígitos
>> eps % menor num. que somado a 1 gera num > 1
ans = 2.220446049250313e-16
Comutatividade da adição: nem sempre vale!
>> 0.42 - 0.5 + 0.08
ans = -1.387778780781446e-17
>> 0.08 - 0.5 + 0.42
ans = 0
>> 0.08 + 0.42 - 0.5
ans = 0
Argumentos e valores de funções nem sempre precisos!
>> sin(0)
ans = 0
>> sin(pi)
ans = 1.224646799147353e-16
Configuração de formatação numérica
O formato numérico exibido na tela pode ser modificado utilizando-se o comando format, que afeta somente o modo como as matrizes são mostradas, e não como elas são computadas ou salvas (a MATLAB efetua todas operações em dupla precisão).
O formato numérico depende do tipo,
Depende do tipo do número, inteiros são exibidos sem casas decimais e são exibidos com 4 dígitos após a vírgula.
Com números reais se os dígitos significativos estiverem fora do intervalo de 4 dígitos após a vírgula o resultado será exibido em notação científica (como calculadoras).
A tabela a seguir apresenta os comandos para formatação numérica:
comando | Exemplo |
format short | 3.1416 (5 dígitos) |
format short e | 3.1416e+00 (5 dígitos mais expoente) |
format short g | 3.1416 (melhor entre opções short) |
format long | 3.14159265358979 (16 dígitos) |
format long e | 3.14159265358979e+00 (16 dígitos mais expoente) |
format long g | 3.14159265358979 (melhor entre opções long) |
format hex | 400921fb54442d18 (hexadecimal com ponto flutuante) |
format bank | 3.14 (2 dígitos) |
format + | + (positivo(+), negativo(-) ou zero(0)) |
format rat | 355/113 (aproximação racional) |