matlab – noções introdutórias · criando scripts copiar e colar no bloco de notas uma lista de...
TRANSCRIPT
![Page 1: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/1.jpg)
Matlab– Noções introdutórias
Roteiro para aula
![Page 2: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/2.jpg)
Matlab- Variáveis
Pode-se criar variáveis na área de trabalho
Comandos encerrados com ; não geram eco na área de trabalho
>> a = 65
a =
65
>> a = 65;
>> |
![Page 3: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/3.jpg)
Matlab- Variáveis
>>whos
Name Size Bytes Class Attributes
a 1x1 8 double
>>|
![Page 4: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/4.jpg)
Matlab- Operadores =
+, -, *, /, ^
Operadores relacionais ==, ~=, >, >=, <, <=
Operadores Lógicos &, |, ~
>> 5 + 5 >> a = 2 >> a ==2 >> a ~=2
>> who
![Page 5: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/5.jpg)
>> 5 + 5
>> a = 2
>> a ==2
>> a ~=2
x = [0 5 3 7]; y = [0 2 8 7];
m = (x>y)&(x>4)
n = (x<=0)|(y==0)
m = ~((x<=0)|(y==0))
>> who
Matlab- Operadores
![Page 6: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/6.jpg)
>> help sqrt
SQRT Square root.
SQRT(X) is the square root of the
elements of X. Complex
results are produced if X is not positive.
See also SQRTM.
Caso não saiba o nome da função
>> lookfor complex
Comando help
![Page 7: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/7.jpg)
Matlab- Operadores
O índice do primeiro elemento é 1
Operadores aritméticos, lógicos e relacionais podem ser usados em conjunto
A vírgula, o ponto e vírgula, o espaço e [... ] são usados na inicialização de matrizes
: define intervalos, ex: 3:5 é como [3 4 5]
Índices de matrizes são definidos pelo uso de ()
. (ponto) é usado para definir produto escalar
‘ (apóstrofo) gera a matriz transposta
![Page 8: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/8.jpg)
Matlab- Matrizes Vetor linha:
v1 = [3 8 40 5.3 6] ou [3, 8, 40, 5.3, 6]
Vetor coluna
v2 = [3; 8; 40; 5.3; 6]
v1’ é igual a v2 v2 = v1 ‘ (transposto)
Quem é v2(1)*v1(4)?
v1 + v2 não funciona mas:
v1 + v2’ no caso igual a 2*v1
![Page 9: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/9.jpg)
Matlab- Matrizes
Operador :
início:incremento(opcional):final
>> a = (2:2:6)
a =
2 4 6
>>
Quem é a(2:3)?
![Page 10: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/10.jpg)
Matrizes bi-dimensionais m = [1 4 3; 3 2 5] ponto e vírgula separa as linhas portanto:>> mm =
1 4 33 2 5
>> m(2,3)>> m(1,2)>> p = m(1:2,2:3)
![Page 11: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/11.jpg)
Matrizes- operador :
no exemplo anterior m(1,:) corresponde à primeira linha de m: [1 4 3]
ainda m(:,2) é [4; 2], a segunda coluna
Parar deletar uma linha ou coluna de uma matriz, usa-se uma atribuição de [] a ela:m(:, 2) = [] [1 3; 3 5] ...m
o operador : é uma das mais fortes características de Matlab
![Page 12: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/12.jpg)
O comando . O ponto é usado para realizar operações com
matrizes elemento a elemento.
.* ./ .\ .^
m = [1 4 3; 3 2 5]
n=[1 3 5;3 5 9]
m.*n
Para multiplicar a primeira coluna pela terceira coluna da matriz m original:
m(:,1).*m(:,3) [3; 15] (coluna)
2*m
![Page 13: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/13.jpg)
O comando ´ (apóstrofo)
É usado para obter a matriz transposta>>m
1 4 3
3 2 5
>>m ‘
1 3
4 2
3 5
>> m(1,1:2).*m(:,3)'
3 20
![Page 14: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/14.jpg)
Funções trigonométricas sin, cos, etc., assim
como funções matemáticas elementares sqrt,
exp, log, etc., operam com vetores termo por
termo.
>> x = [0 2.5 5 7.5 10];
>> y = sin(x);
>> z = sqrt(x).*y
![Page 15: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/15.jpg)
Concatenação de matrizes
Para adicionar colunas a uma matriz basta fazer a justaposição da matriz original com a que contém as colunas extras dentro de colchetes [... ]
u = 1:100;
u = [u 1:5]; u é um vetor linha 1x105
![Page 16: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/16.jpg)
Strings
São matrizes de bytes
‘A’ + 1 ... 66
>>s = ‘Mecanica‘;
>>s’ans =
Me
c
an
i
ca
![Page 17: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/17.jpg)
Strings
>>s(4) + 1 a==97ans =
98
>> s(4) = s(4) + 1s =
Mecbnica troca o a por b
>>[s s s s]ans =
MecbnicaMecbnicaMecbnicaMecbnica
![Page 18: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/18.jpg)
Stringsu = [s' s' s' s']
u =
MMMM
eeee
ccccbbbb
nnnn
iiiicccc
aaaa
>> u(4,:)
ans =
bbbb
![Page 19: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/19.jpg)
Matlab– comandos úteis ones(ilin, jcol) zeros(ilin, jcol) rand(ilin,jcol) ... linspace(início,final,número)
>> x = linspace(0,10,5) Cria um vetor x com 5 elementos linearmente espaçados entre 0 e 10.
logspace(início,final,número) y =logspace(0,1) plot(y)
![Page 20: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/20.jpg)
Matlab- Funções A maioria das funções Matlab recebem matrizes
como parâmetros
exp(1:3) [2.7183 7.3891 20.0855]
sqrt(m) é uma matriz com as raízes
quadradas de cada elemento de m
sum(1:100) retorna a soma de 1 a 100
plot(sin(linspace(1,100,50))) ?
![Page 21: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/21.jpg)
plot(sin(linspace(1,100,50)))
0 5 10 15 20 25 30 35 40 45 50-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
![Page 22: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/22.jpg)
Salvando variáveis
Uma variável da memória pode ser salva em um arquivo por meio do comando save
>> lingprog = [1:4;8:11;3:6;10:13]
e depois carregada com o comando load
save arquivo.ext variável –asciisave z:\lingprog.dat lingprog –ascii
>> clear lingprog
![Page 23: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/23.jpg)
Carregando variáveis
Se no diretório atual existe um arquivo texto, lingprog.dat, que contém valores:
>> load lingprog.dat
carrega o arquivo em memória. Agora existe a variável matriz na área de trabalho com os dados do arquivo
>> whos lingprog
Name Size Bytes Class Attributes
lingprog 4x4 128 double array
![Page 24: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/24.jpg)
Matlab- Gráficos
x = 1:100;
plot(x)
Gera um gráfico da função identidade
a forma geral de plot:
plot(x1, y1, s1, x2, y2, s2,... )
![Page 25: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/25.jpg)
Gráficos
figure
hold on
grid on
legend(´leg x´,´leg y´,... )
title(´texto´)
xlabel(´... ´)
ylabel(´... ´)
![Page 26: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/26.jpg)
Gráfico- exemplo
Se as linhas a seguir forem copiadas de um editor de textos e coladas na área de trabalho...
x = linspace(1,30,50);y = x.^2;plot(x,y,'r');title('y = x^2');xlabel('eixo x');ylabel('eixo y');grid on
![Page 27: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/27.jpg)
Gráficos- exemplo
0 5 10 15 20 25 300
100
200
300
400
500
600
700
800
900
y = x2
eixo x
eixo
y
![Page 28: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/28.jpg)
teta = linspace(0,2*pi,100);
x = cos(teta);
y = sin(teta);
plot(x,y)
axis('equal');
xlabel('horizontal')
ylabel('vertical’)
title('Círculo de raio unitário')
Gráficos- exemplo
![Page 29: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/29.jpg)
Criando scripts Copiar e colar no bloco de notas uma lista de
comandos.
Salvar como ‘nome_scrpt.m’
Executar usando o nome dado
File set path
run nome_scrpt
![Page 30: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/30.jpg)
Scripts– controle de programa
Loop FOR
n=10 ;
for i = 1:n,
for j = 1:n,
a(i,j) = 1/(i+j-1);
end
end
a
![Page 31: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/31.jpg)
Comandos- for
for var = vetor
var percorre todos os elementos de vetor
for clássico:
for i=1:n
...
end
![Page 32: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/32.jpg)
i = input(‘ Entre com o valor de i: ‘);
j = input(‘Entre com o valor de j: ‘);
if i == j
a = 2
elseif abs(i-j) == 1
a = -1
else
a = 0
end
IF condição
comandos
ELSEIF condição
comandos
ELSE
comandos
END
Scripts– controle de programaCondicional
![Page 33: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/33.jpg)
sin seno.
sinh seno hiperbólico.
asin arco seno.
asinh arco seno hiperbólico.
cos coseno.
cosh coseno hiperbólico.
acos arco coseno.
acosh arco coseno hiperbólico.
tan tangente.
tanh tangente hiperbólico.
atan, atan2 arco tangente.
atanh arco tangente hiperbólico.
sec secante.
sech secante hiperbólico.
Funções Trigonométricas
![Page 34: MatLab – Noções introdutórias · Criando scripts Copiar e colar no bloco de notas uma lista de comandos](https://reader031.vdocuments.mx/reader031/viewer/2022021712/5b85c2a17f8b9a3a608b536c/html5/thumbnails/34.jpg)
exp Exponencial (exp(A) = eAij).
log Logaritmo natural (log(A) = ln(Aij)).
log10 Logaritmo na base 10 (log10(A) = log10(Aij)).
sqrt Raiz quadrada.
Funções Exponenciais
Funções Complexas
abs Valor absoluto.
angle Ângulo de fase.
conj Complexo conjugado.
imag Parte imaginária.
real Parte real.