































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila descritiva de computacao para engenharia, programacao em matlab
Tipologia: Notas de estudo
1 / 71
Esta página não é visível na pré-visualização
Não perca as partes importantes!
































































6 bananas à R$ 0,12 cada.
Pode-se resolver usando as variáveis indicadas no problema.
» macas= macas = 2
» peras= peras = 5
» bananas= bananas = 6
» frutas=macas+peras+bananas frutas = 13
» custo=macas0.71+peras0.37+bananas*0. custo =
» valormedio=custo/frutas valormedio =
Para saber quais as variáveis que estão na memória, utiliza-se o comando who. Ele mostra todas as variáveis. E para saber o que está contido em alguma variável, a digite na linha de comando, assim:
» macas macas = 2
Para mudar o valor de uma variável, digite na linha de comando a variável e atribua um novo valor a ela, porém as variáveis que a utilizaram continuam com seus respectivos valores anteriores. Exemplo:
» macas= macas = 3
» frutas frutas = 13
Dica: As teclas de função, ←, ↑, → e ↓ servem para modificar algum erro de digitação ou para repetir alguns comandos já escritos.
Como o MATLAB segue a linguagem do computador, existem alguns comentários a fazer:
Existem algumas variáveis especiais, como:
Variável Valor ans variável padrão usada para resultados pi razão entre a circunferência e o seu diâmetro eps Usada para números muito pequenos inf (^) Infinito, ou seja, (^10) NaN (^) Não é número, ou seja, (^0 )
realmin Um número pequeno real positivo realmax Um número grande real positivo
» clear macas apaga a variável macas » clear peras bananas apaga as variáveis pêras e bananas
» clear apaga todas as variáveis da memória
» macas=4 % Número de maças macas = 4
O MATLAB simplesmente ignora a parte escrita depois do sinal (%).
» macas=4 , bananas=6 ; peras= macas = 4 peras = 8
O (;) não mostra os resultados da operação, enquanto que (,) os mostra.
Função do MATLAB Função Matemática
atan(x) função inversa da tangente
atan2(x,y) função inversa da tangente do quarto quadrante
atanh(x) função inversa da tangente hiperbólica
conj(x) conjugado do número complexo
cos(x) função coseno
cosh(x) função coseno hiperbólico
fix(x) arredondamento para o mais próximo de 0 floor(x) arredondamento para o mais próximo de −∞
imag(x) parte imaginária de um número complexo
log(x) logaritmo natural
log10(x) logaritmo decimal real(x) parte real de um número complexo
rem(x,y) resto da divisão x/y
round(x) arredondamento para o mais próximo inteiro
sign(x) retorna o sinal de um número. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)= sin(x) função seno
sinh(x) função seno hiperbólico
sqrt(x) raiz quadrada tan(x) função tangente
tanh(x) função tangente hiperbólica
2
onde:
2
Se a = 1, b = 5 e c = 6, a solução usando MATLAB será:
» a=1 ; b=5 ; c=6 ; » x1=(-b+sqrt(b^2-4ac))/(2*a) x1 =
» x2=(-b-sqrt(b^2-4ac))/(2*a) x2 =
» ax1^2+bx1+c % substituindo x1 em x para verificar o resultado ans = 0
» ax2^2+bx2+c % substituindo x2 em x para verificar o resultado ans = 0
As últimas duas linhas de comando serviram para confirmar o resultado. Agora, imaginemos com a = 1, b =4, c = 13, a solução será:
com a parte real igual a 2 e a imaginária igual a 3 ou -3. A solução no MATLAB será:
» a=1 ; b=4 ; c=13 ;
» x1=(-b+sqrt(b^2-4ac))/(2*a) x1 = -2.0000 + 3.0000i
» x2=(-b-sqrt(b^2-4ac))/(2*a) x2 = -2.0000 - 3.0000i
» ax1^2+bx1+c % substituindo x1 em x para verificar o resultado ans = 0
» ax2^2+bx2+c % substituindo x2 em x para verificar o resultado ans = 0
x1 e x2 são números complexos da forma “a+bi”, sendo “a” a parte real, “b” a parte
algumas operações com números complexos:
» c1=1-2i c1 = 1.0000 - 2.0000i
» c2=3(2-sqrt(-1)3) c2 = 6.0000 - 9.0000i
» c3=sqrt(-2) c3 = 0 + 1.4142i
» c4=6+sin(.5)*i c4 = 6.0000 + 0.4794i
» c5=6+sin(.5)*j c5 = 6.0000 + 0.4794i
» c6=(c1+c2)/c c6 = -7.7782 - 4.49497i
Como o MATLAB é baseado em comandos, há a possibilidade do esquecimento de algum comando ou de sua função. Existem três possibilidades de consultar a ajuda: o comando help do
MATLAB, o comando lookfor e usando o menu help.
O comando help é muito simples, basta escrever help <tópico> que mostra, se existir, as funções deste tópico. Ex.:
» help sqrt
SQRT Square root SQRT(X) is the square root of the elements of X. Complex result are produced if X is not positive.
See also SQRTM.
Nesse exemplo acima a ajuda da função da raiz quadrada. Agora,
» help cows
cows not found
significa que nada existe sobre cows.
Escrevendo o comando help assim, sozinho, aparece uma lista de tópicos de ajuda. Ex.:
» help
HELP topics:
matlab:general - General purpose commands. matlab:ops - Operators and special characters. matlab:lang - Language constructs and debugging. matlab:elmat - Elementary matrices and matrix manipulation. matlab:speemat - Specialized matrices. matlab:elfun - Elementary math functions. matlab:specfun - Specialized math functions. matlab:matfun - Matrix functions - numerical linear algebra. matlab:datafun - Data analysis and Fourier transform functions. matlab:polyfun - Polynomial and interpolation functions. matlab:funfun - Function function - nonlinear numerical methods. matlab:sparfun - Sparce matrix functions. matlab:plotxy - Two dimensional graphics. matlab:plotxyz - Three dimensional graphics. matlab:graphics - General purpose graphics functions. matlab:color - Color control and lighting model functions. matlab:strfun - Character string functions.
matlab:iofun - Low-level file I/O functions. Toolbox:local - Local function libraly. Toolbox:sigsys - Signals and Systems Toolbox. Toolbox:symbolic - Symbolic Math Toolbox.
For more help on directory/topic, type "help topic".
Este exemplo acima serve para você que não se lembra do comando utilizado do MATLAB.
O comando lookfor é usado para ajuda sobre temas. Ex.:
» lookfor complex
CONJ Complex conjugate. IMAG Complex imaginary part. REAL Complex real part. CDF2RDF Complex diagonal form to real block diagonal form. RSF2CSF Real block form to complex diagonal form CPLXPAIR Sort numbers into complex conjugate pairs.
Importante: Este comando serve apenas para temas, não para comandos.
» x(2:2:7) % Do segundo, em intervalos de 2, até o sétimo elemento ans = 0.3124 0.9425 1.
Veja que neste último, o sétimo elemento não apareceu, pois não estava no intervalo dado a ele.
» y([8 2 9 1]) % O oitavo, segundo, nono e primeiro elementos ans = 0.8090 0.3090 0.5878 0
Arranjos na matemática são usados tipicamente para progressões aritméticas e geométricas, como foi o caso do X. Ele tinha 11 valores, mas, o que fazer se precisar de 111 valores? O MATLAB tem uma resposta. Ex.:
» x(0:0.1:1)*pi x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1. Columns 8 through 11 2.1991 2.5133 2.8274 3.
» x=linspace(0,pi,11) x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1. Columns 8 through 11 2.1991 2.5133 2.8274 3.
No primeiro caso, a notação (0:0.1:1) criou um arranjo que começa em 0 e vai até 1 em intervalos de 0,1. No segundo caso, a função linspace foi usada para criar X. Sua sintaxe é:
linspace(primeiro_elemento,ultimo_elemento,numero_de_elementos)
Existe também a função logspace, semelhante a e esta última, porém com expoentes. Ex.:
» logspace(0,2,11) ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15. Columns 8 through 11 25.1189 39.8107 53.0957 100.
logspace(primeiro_expoente,ultimo_expoente,numero_de_expoentes)
Há outras formas de criar um arranjo. Nos próximos exemplos, citaremos alguns deles:
» a=1:5,b=1:2: a = 1 2 3 4 5
b = 1 3 5 7 9
» c=[b a] c = 1 3 5 7 9 1 2 3 4 5
» d=[a(1:2:5) 1 0 1] d = 1 3 5 1 0 1
Pode-se fazer adição, subtração, multiplicação e divisão por um escalar a todos os elementos de um arranjo. Ex.:
» a-2 % Subtraiu 2 de cada elemento de a ans = -1 0 1 2 3
» 2*a-1 % Multiplicou cada elemento de a por 2 e subtraiu 1 ans = 1 3 5 7 9
Podemos fazer a adição, subtração, multiplicação e divisão de arranjos, aplicados elemento-a- elemento (Primeiro com o primeiro, Segundo com o segundo, ...). Ex.:
» a,b a = 1 2 3 4 5 b = 1 3 5 7 9
» a+b ans = 2 5 8 11 14
» ans-b ans = 1 2 3 4 5
» 2*a-b ans = 1 1 1 1 1
Para a multiplicação e divisão de arranjos, requer a inclusão de um ponto. Ex.:
» a.*b ans = 1 6 15 28 45
» a./b ans = 1.0000 0.6667 0.6000 0.5714 0.
» b.\a
Para criar um arranjo em colunas, deve-se primeiro utilizar os procedimentos da criação em linhas, e depois usar o operador “transpose” ( ' ). Ex.:
» a=1: a = 1 2 3 4 5 » b=a' b = 1 2 3 4 5
Agora, para os números complexos, o operador “transpose” faz a transposição com o seu conjugado. Ex.:
» d=a+i*a d = Columns 1 through 4 1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i Column 5 5.0000+5.0000i
» e=d' e = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i
Para resolver esta situação, utilizaremos o ponto (.'). Ex.:
» f=d' f = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i
Lembra-se do comando who? Ele mostrava as variáveis locadas na memória. No caso dos arranjos, o comando whos nos dá uma informação adicional.
» whos Name Size Elements Bytes Density Complex a 1 by 5 5 40 Full No b 5 by 1 5 40 Full No d 1 by 5 5 80 Full Yes e 5 by 1 5 80 Full Yes f 5 by 1 5 80 Full Yes
Esta Tabela ilustra as operações básicas de arranjo:
Operações de Arranjos
a = (^) [ a 1 a 2 K a (^) n], b = (^) [ b 1 b 2 K bn]e c ={ escalar}
Adição com escalar (^) a c (^) [ a c a c a c]
Multiplicação com escalar (^) a c (^) [ a c a c a c]
Adição de arranjos (^) a b (^) [ a b a b a b ]
Multiplicação de arranjos (^) a b (^) [ a b a b a b ]
Divisão de arranjos (^) a b (^) [ a b a b a b ]
a b.\ = (^) [ a 1 \ b 1 a 2 \ b 2 K a (^) n \bn]
Potência em arranjos (^) a.^ c = (^) [a 1 ^^ c^ a 2 ^^ c^ L^ a^ n^^ c] c. ^ a = (^) [c ^ a 1 c^ a 2 K c^ a (^) n]
a.^ b = (^) [a 1 ^ b 1 a 2 ^ b 2 K a (^) n^ bn]
0 1 2 3 4 5 6 7
-0.
-0.
-0.
-0.
0
1
Vamos agora desenhar a função seno, e indicar os pontos que definiram a curva usando o símbolo +.
» plot(x,y,x,y,'+')
0 1 2 3 4 5 6 7
-0.
-0.
-0.
-0.
0
1
Desenhamos agora o gráfico sen x( ) × cos( x):
» plot(y,z)
-1 -0.5 0 0.5 1
-0.
-0.
-0.
-0.
0
1
No próximo exemplo ilustraremos a identidade 2 sen( θ) cos( θ) = sen( 2 θ). Desenharemos
a função usando linhas pontilhadas:
» plot(x,y,x,2y.z,'--') » grid % Linhas de grade do gráfico » xlabel('Variável Independente X') % Nome do eixo dos X » ylabel('Variável Dependente') % Nome do eixo dos y » title('2sin(x)cos(x)=sin(2x)') % Título do gráfico
0 1 2 3 4 5 6 7
-0.
-0.
-0.
-0.
0
1
Variável Independente X
V 2sin(x)cos(x)=sin(2x) a r i á v e l D e p e n d e n t e
Analisaremos agora o exemplo de gráficos em 3-D:
» plot3(y,z,x),grid