%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 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