Beruflich Dokumente
Kultur Dokumente
● O que é?
● Quem usa?
Primeiro contato com MATLAB
7 + 8
7 + 8;
sin(pi/2)
y = sqrt(-1)^(3);
y
Primeiro contato com MATLAB
z = [inicio:passo:fim]
Isso criará um vetor que terá como seu primeiro elemento inicio, e
terá diversos elementos até o último ser fim, sendo que todos os
elementos adjacentes irão se distar de uma quantidade igual a passo.
Algumas funções especiais para criação de vetores
e matrizes
● Existem funções internas do próprio software para criação de matrizes (e
vetores):
zeros(N,M) - Matriz de zeros de tamanho N x M.
ones(N,M) - Matriz de 1’s de tamanho N x M.
eye(N) - Matriz Identidade (quadrada por def.) de tamanho N x N.
diag(x) - Matriz diagonal, onde a diagonal é dada pelo vetor x fornecido.
diag(A) - Extrai a diagonal da matriz A.
rand(N,M) - Matriz onde todos os elementos são randômicos e são entre 0 e 1.
reshape(A,[L C]) - Converter matriz de tamanho original para tamanho L x C
● Transposição de matrizes ( ) : A’
● Produto de matrizes ( ): A*B Erro se colunas de A != linhas de B.
● Produto elemento-elemento: A.*B Erro se A não tem mesmo tamanho que B.
● Potência de matrizes ( ) : A^k Possíveis erros se A for singular.
● Potência de elemento-elemento : A.^k
Operações entre matrizes/vetores
● Todas já prontas e fáceis de usar. Em geral, são muito úteis para aplicações que
envolvem conceitos de álgebra linear e estatística.
det(A) - Determinante de A.
max(A), min(A) - Vetor com máximos, mínimos dentre as colunas de uma matriz A.
[V,D] = eig(A) - Retorna os autovetores (em V) e autovalores (em D) de uma
matriz A.
● Acessar a sub-matriz:
A(inicio1:fim1,inicio2:fim2)
Erro se os indices não classificarem uma submatriz válida!
Strings
● Podem ser concatenadas usando colchetes, necessário ter o mesmo número de colunas!
T1 = {'Maria', 12}
T2 = {'Gabriel', 16}
T3 = {'Marcelo', 33}
T = [T1;T2;T3] - > Célula 3x2
end
Exemplo base de uma função no MATLAB
arquivo : g.m
● Ideal criação de um script main.m na mesma pasta que o arquivo anterior foi criado.
● Vamos criar um main.m que irá gerar uma malha de pontos e plotar a função base criada.
arquivo : g.m
x = [0:10^-2:30];
y = g(x);
plot(x,y)
● Um dos mais importantes de todos, plota gráficos em 2D. Possui uma série de opções.
Basicamente, precisa de 2 vetores de mesmo tamanho N (ou uma matriz N x 2), onde o um
servirá como abscissa e o outro como ordenada.
● Múltiplos plots: 2 opções
○ plot(x,y1,x,y2,x,y3,x,y4…)
○ plot(x,y1); hold on; plot(x,y2); hold on; plot(x,y3) ...
● Múltiplos plots em uma mesma janela, mas em regiões diferentes:
subplot(i,j,k) -> i,j dividem a janela em uma matriz, k é a janela
desejada.
O comando plot - algumas das opções
● Cor: é possível usar alguma determinada cor, colocando a inicial da cor ao final da instância
de plot
plot(x,y1,'r',x,y2,'g') -> Primeiro vermelho, segundo verde
● Forçar domínio/imagem de visualização
xlim(xmin,xmax)
ylim(ymin,ymax)
● Título
title(texto)
O comando plot - algumas das opções
● Condicionais para mudar o rumo de algum script em questão. No MATLAB, a sintaxe dos
mesmos é:
if (condicao)
lista de comandos;
elseif (outra condicao)
outra lista de comandos;
else
ultima lista de comandos;
end
Finalizando: os comandos if e else
● Condicionais para mudar o rumo de algum script em questão. No MATLAB, a sintaxe dos
mesmos é:
if (condicao)
%código;
elseif (outra condicao)
%código;
else
%código;
end
Finalizando: os comandos if e else
Finalizando: os comandos while e for
● Loop do tipo while funciona de maneira bastante similar ao if, a diferença é que ele repetirá
aquele passo até que a condição seja satisfeita.
while (condicao)
%código;
end
● Loop do tipo for. Ligeiramente diferente é da seguinte forma:
for k = inicio:passo:final
%código;
end
Irá repetir até k ser igual a final, a cada iteracao k é acrescido de passo.
Desafios
Chega de eu fazer tudo, agora é a sua vez!
● Ajuste o código “transcal2dlaplace.m” para um número de iterações qualquer e não fixo.
● Faça cálculos análogos ao que está no pdf da pasta medicao massas, mas agora assuma
que está se observando um processo de transferência de massa em 3 tempos distintos.
Faça um histograma (para cada tempo distinto) e plot um gráfico de cada uma das médias
e seus desvios padrão, use a função:
errorbar(tempo,medias,desviospadroes)
● Faça algum plot em 3D. Para isso, crie sua função, o domínio (os pontos em que será
avaliada a sua função). Dica: plot3
Desafios
Chega de eu fazer tudo, agora é a sua vez!
● Ajuste o código “transcal2dlaplace.m” para um número de iterações qualquer e não fixo.
● Faça cálculos análogos ao que está no pdf da pasta medicao massas, mas agora assuma
que está se observando um processo de transferência de massa em 3 tempos distintos.
Faça um histograma (para cada tempo distinto) e plot um gráfico de cada uma das médias
e seus desvios padrão, use a função:
errorbar(tempo,medias,desviospadroes)
● Faça algum plot em 3D. Para isso, crie sua função, o domínio (os pontos em que será
avaliada a sua função). Dica: plot3
● Calcule a integração numérica de
Dica: integral
Desafios
Chega de eu fazer tudo, agora é a sua vez!
● Encontre o polinômio de quarto grau que melhor ajusta os pontos (x e y) do arquivo
ajuste.xlsx (ajustecurva). Plote o após determinar os coeficientes.