matlab

Propaganda
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
Curso de MATLAB
%%%
%%%
Roy Wilhelm Probst e Fabio Antonio Dorini
%%%
%%%
Departamento Acad^
emico de Matemática
%%%
%%%
UTFPR / Curitiba
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%__________________________________________________________________________
2+3
ans
10/5
5\10
a=5*8
b=2^3
c=a+b
b
%
%
%
%
%
%
%
%
adiç~
ao
variável padr~
ao usada para resultados
divis~
ao
divis~
ao indireta
cria a variável a
cria a variável b
operaç~
ao entre variáveis
verificando o valor da variável b
%__________________________________________________________________________
whos
save arquivo
clear
whos
load arquivo
ls
pwd
% lista as variáveis
% salva as variáveis em arquivo
% apaga as variáveis
% carrega o arquivo.mat
% lista todos os arquivos do diretório
% mostra a o diretório atual
%__________________________________________________________________________
pi
inf
eps
% número pi
% infinito
% precis~
ao da máquina
(pi+eps)-pi
0*inf
2*inf
% NaN - not a number
i
j
sqrt(-1)
z1=2+3*i
z2=3-7*i
z=z1*z2
real(z)
imag(z)
abs(z)
conj(z)
angle(z)
% i*i = -1
% j*j = -1
% unidade imaginária
%
%
%
%
%
%
multiplicaç~
ao de números complexos
parte real do número complexo z
parte imaginária do número complexo z
módulo do número complexo z
conjugado complexo
angulo do com complexo z
^
%__________________________________________________________________________
a=4
b=4
A=5
1
a==A
a==b
a~=b
A>b
A+a<=6
pi==3.1416
% exemplos de operaç~
oes lógicas
% (retorna 1 se verdadeiro e 0 se falso)
%__________________________________________________________________________
x=pi
format long
x
format rat
x
format short
x
help format
% formato longo
% formato racional
% formato curto (padr~
ao)
% outras opç~
oes
abs(x)
sin(x)
cos(x)
exp(1)
exp(x)
log(x)
log10(x)
sinh(x)
sign(x)
sign(-2.1)
sign(0)
tan(x)
atan(x)
%
%
%
%
%
%
%
%
%
valor absoluto
seno
cosseno
número e
exponencial
logaritmo natural
logaritmo na base 10
seno hiperbólico
sinal do argumento
round(x)
help round
% arredondamento
% outras opç~
oes
% tangente
% arco tangente
%__________________________________________________________________________
A=[1 2 3;4 5 6;7 8 9]
v=[1 2 3]
u=[1;2;3]
% cria a matriz A
% cria a matriz linha v
% cria a matriz coluna u
v’
A*u
A*v
u*v
u*v’
u.*v’
%
%
%
%
%
%
zeros(2,3)
ones(4,5)
eye(4)
% cria matriz de zeros de dimens~
ao 2x3
% cria matriz de uns de dimens~
ao 4x5
% matriz identidade
A(2,3)
A(2,3)=10
A(4,4)=1
A(:,3)
%
%
%
%
transposta de v
multiplicaç~
ao de matriz por vetor
erro de dimens~
ao
multiplicaç~
ao vetor por vetor
erro de dimens~
ao
multiplicaç~
ao ponto a ponto
acessa o elemento da linha 2 e coluna 3
redefine A(2,3)
cria A(4,4) e completa com 0’s
coluna 3 de A
2
B=rand(4,4)
% matriz aleatória de dimensao 4x4
A+B
A*B
5*A
A\B
inv(A)*B
inv(A)
det(A)
%
%
%
%
%
%
%
adiç~
ao de matrizes
multiplicaç~
ao de matrizes
multiplicaç~
ao de escalar por matriz
divis~
ao indireta de matrizes
igual a A\B
inversa da matriz A
determinante da matriz A
b=[2;3;5;7]
x=A\b
A*x
b
%
%
%
%
cria o vetor b
resolve o sistema Ax=b
multiplica A por b
Ax=b
[L,U,P]=lu(A)
[Q,R]=qr(A)
% decomposiç~
ao LU de A
% decomposiç~
ao QR de A
C=[1 2 3 4;2 3 5 7;...
3 4 5 6;2 4 6 8]
inv(C)
det(C)
trace(C)
% continuando um comando em outra linha
% traço da matriz
%__________________________________________________________________________
x=[1 2 3 4 6]
y=[4 5 8 -1 2]
plot(x,y)
grid on
grid off
plot(x,y,’o’)
hold on
plot(x,y,’r’)
help plot
%
%
%
%
define os valores de x
define os valores de y
faz o grafico x versus y
ativa as linhas de grade
%
%
%
%
opç~
ao do plot
mantém a figura ativada
opç~
ao do plot"
ajuda para o comando plot
x=-5:5
x=-5:0.1:5;
x=linspace(-5,5,20);
y=sin(x);
plot(x,y)
%
%
%
%
%
define x=[-5 -4 -3 ... 5]
define x=[-5 -4.9 -4.8 ... 5]
cria uma malha de 20 pontos
seno dos valores da malha
faz o grafico de y=sen(x)
x=linspace(-5,5,100);
y=sin(x);
plot(x,y)
% cria uma malha de 100 pontos
% seno dos valores da malha
% faz o gráfico de y=sen(x)
x=linspace(0,2*pi,100);
y=sin(2*x)*cos(2*x);
y=sin(2*x).*cos(2*x);
polar(x,y)
%
%
%
%
cria uma malha com 100 pontos
erro de dimensao
sintaxe correta
faz o gráfico em coordenadas polares
%__________________________________________________________________________
t=linspace(0,30,1000);
x=sin(t);
y=cos(t);
% cria uma malha com 1000 pontos
% define x
% define y
3
z=t;
plot3(x,y,z)
% define z
% faz o gráfico da curva em 3D
[x,y]=meshgrid(-2:0.1:2);
plot(x,y,’k.’)
% produto cartesiano de a e b
z=x.*exp(-x.^2-y.^2);
mesh(x,y,z)
surf(x,y,z)
contour(x,y,z)
%
%
%
%
[x,y]=meshgrid(-3:0.5:3);
f1=-y;
f2=x;
quiver(x,y,f1,f2)
% plotando um campo vetorial
define z
gráfico em 3D
superfı́cie
curva de nı́vel
%__________________________________________________________________________
edit
% abre o editor
% exemplo de script para calcular a soma "1+2+3+...+n"
% salvar arquivo com extens~
ao .m
n=input(’n= ’);
soma=0;
for k=1:n
soma=soma+k;
end
disp(soma)
sum(1:n)
% confirmaç~
ao
%__________________________________________________________________________
% exemplo de funç~
ao para calcular fatorial de n
% nome do arquivo precisa ser igual ao nome da funç~
ao
function f=fatorial(n)
f=1;
for k=1:n
f=f*k;
end
%__________________________________________________________________________
p1=[1 2 4 0 9 ];
% coeficientes de um polin^
omio de grau 4
% 1*x^4 + 2*x^3 + 4*x^2 + 9
r=roots(p1)
p2=[1 2 4 0 9 15 -2 4];
roots(p2)
p=conv(p1,p2)
roots(p)
% produto de polin^
omions p1*p2
[q,r]=deconv(p2,p1)
% divis~
ao de polin^
omios p2/p1
4
%__________________________________________________________________________
f=inline(’(x-2).^2+3’)
f(2)
% cria funç~
ao inline
% cálculo através da funç~
ao inline
x=-1:0.005:5;
y=f(x);
plot(x,y)
R=inline(’[cos(x) -sin(x);sin(x) cos(x)]’) % matriz de rotaç~
ao
A=R(pi/6)
x=[1 2]’
y=A*x
%__________________________________________________________________________
quad(’sin(x)’,0,pi)
% integraç~
ao numérica
f=inline(’sin(x)’)
quad(@f,0,pi)
% sintaxe utilizando inline
function f=seno(x)
f=sin(x);
quad(@seno,0,pi)
% sintaxe utilizando .m
%__________________________________________________________________________
syms x
diff(sin(x))
int(x)
syms x y z
f=x+log(y)+sin(z)
diff(f,y)
int(f,z)
% define x como variável simbólica
% diferenciaç~
ao simbólica
% integraç~
ao simbólica
% derivada parcial
%__________________________________________________________________________
Exercı́cios:
1.
2.
3.
4.
5.
6.
Criar
Criar
Criar
Criar
Criar
Fazer
um script para a fórmula de Bhaskara.
um script para calcular a média aritmética de n valores.
um script para comparar se x>y, x<y ou x=y.
uma funç~
ao para o n-ésimo número de Fibonacci.
uma funç~
ao para calcular e^x pela série de Taylor com n termos.
o gráfico de f(x,y)=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2).
5
Download