


















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
Este documento fornece uma introdução ao software matlab®, um ambiente de desenvolvimento de software amplamente utilizado em engenharia e ciências. O guia aborda os conceitos básicos do matlab®, incluindo cálculos matriciais, funções científicas, operações simbólicas e gráficos. Além disso, é fornecido um exemplo de como utilizar o matlab® para resolver equações e manipular expressões algébricas.
Tipologia: Notas de estudo
1 / 26
Esta página não é visível na pré-visualização
Não perca as partes importantes!



















2 C´alculos Cient´ıficos
O Matlabr^ faz c´alculos simples e cient´ıficos como uma calculadora. Por exemplo, suponha que vocˆe vai a uma loja e compra 3 objetos que custam 25 reais cada e 5 objetos que custam 12 reais cada. Quanto custou a sua compra? No Matlabr^ vocˆe pode resolver este problema de pelo menos duas maneiras. A mais simples ´e EDU>> 325 + 5 ans = 135
Observe que no Matlabr^ a multiplica¸c˜ao tem precedˆencia sobre a adi¸c˜ao. Note tamb´em que ele chamou o resultado de ans. Alternativamente, vocˆe pode usar vari´aveis para armazenar informa¸c˜ao.
EDU>> q1=3, p1=25, q2=5, p2= q1 = 3 p1 = 25 q2 = 5 p2 = 12
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009
EDU>> total=q1p1+q2p total = 135
Primeiro, criamos quatro vari´aveis, q1, p1, q2 e p2, atribuindo a elas os seus valores res- pectivos. Observe que no Matlabr^ o sinal de igual tem um sentido diferente daquele da Matem´atica. Aqui, igual significa atribui¸c˜ao. O que estiver a direita do sinal de igual ´e “co- locado” na vari´avel que estivera esquerda. Finalmente, criamos uma vari´avel chamada total que recebeu o total da compra. Usamos a v´ırgula para separar os comandos que s˜ao dados em uma mesma linha. Esta separa¸c˜ao poderia ser feita com ponto e v´ırgula. Mas, neste caso o Matlabr^ n˜ao mostra os resultados dos comandos. No exemplo anterior ter´ıamos
EDU>> q1=3; p1=25; q2=5; p2=12; EDU>> total=q1p1+q2p2;
Em qualquer momento, podemos ver o valor que est´a contido em uma vari´avel, simplesmente digitando no prompt o seu nome.
EDU>> total total = 135
O Matlabr^ oferece as seguintes opera¸c˜oes aritm´eticas:
a+b soma a e b. Por exemplo, 5+6. a-b subtrai a de b. Por exemplo, 15-12. a∗b multiplica a por b. Por exemplo, 3.14∗0.15.
27 de maio de 2009 Reginaldo J. Santos
2.3 Fun¸c˜oes Cient´ıficas 7
ans - vari´avel usada para os resultados. pi - n´umero π. eps - menor n´umero tal que, quando adicionado a 1, cria um n´umero maior que 1 no computador. flops - armazena o n´umero de opera¸c˜oes em ponto flutuante realizadas. inf - significa infinito. NaN ou nan - significa n˜ao ´e um n´umero, por exemplo, 0/0. i e j - unidade imagin´aria
nargin - n´umero de argumentos de entrada de uma fun¸c˜ao. nargout - n´umero de argumentos de sa´ıda de uma fun¸c˜ao. realmin - menor n´umero que o computador pode armazenar. realmax - maior n´umero que o computador pode armazenar.
As vari´aveis podem ser redefinidas a qualquer momento, bastando para isso atribu´ı-las um novo valor.
O Matlabr^ tem uma s´erie de fun¸c˜oes cient´ıficas pr´e-definidas. A maioria pode ser usada da mesma forma que seria escrita matematicamente. Por exemplo: EDU>> x=sqrt(2)/ x =
EDU>> y=acos(x) y =
27 de maio de 2009 Reginaldo J. Santos
EDU>> y_graus=y*180/pi y_graus =
Estes comandos calculam o arco cujo cosseno ´e
2 /2, inicialmente em radianos, depois em graus. Abaixo segue uma lista de fun¸c˜oes cient´ıficas dispon´ıveis:
abs(x) - valor absoluto de x. acos(x) - arco cujo cosseno ´e x. asin(x) - arco cujo seno ´e x. atan(x) - arco cuja tangente ´e x. cos(x) - cosseno de x. exp(x) - exponencial ex. gcd(x,y) - m´aximo divisor comum de x e y. lcm(x,y) - m´ınimo m´ultiplo comum de x e y. log(x) - logaritmo de x na base e. log10(x) - logaritmo de x na base 10. rem(x,y) - resto da divis˜ao de x por y. sin(x) - seno de x. sqrt(x) - raiz quadrada de x. tan(x) - tangente de x.
Quando o Matlabr^ mostra um resultado num´erico ele segue certas regras. No caso de
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009
3 Vari´aveis e Express˜oes Simb´olicas
Agora, vamos ver como podemos manipular com express˜oes que al´em de n´umeros e vari´aveis num´ericas, cont´em tamb´em vari´aveis simb´olicas. Por exemplo: EDU>> syms x EDU>> simplify((sin(x))^2+(cos(x))^2) ans = 1
Estes comandos mandam o Matlabr^ simplificar a express˜ao sen^2 x + cos^2 x. Primeiro preci- samos dizer ao Matlabr^ que x ´e uma vari´avel simb´olica, depois pedimos para simplificar a express˜ao que envolve x. Neste caso usamos uma fun¸c˜ao chamada simplify. A palavra fun¸c˜ao no Matlabr^ tem um significado diferente daquele que tem na Matem´atica. Aqui fun¸c˜ao ´e um comando, que pode ter alguns argumentos de entrada e alguns de sa´ıda. Neste caso, a fun¸c˜ao simplify tem como argumento de entrada uma express˜ao simb´olica e de sa´ıda tamb´em. Uma vez definido que a vari´avel x ´e uma vari´avel simb´olica, podemos definir express˜oes que envolvem esta vari´avel. Por exemplo, dadas duas fun¸c˜oes
f (x) = 2x^2 + 3x − 5 e g(x) = x^2 − x + 7,
podemos fazer uma s´erie de opera¸c˜oes alg´ebricas envolvendo estas fun¸c˜oes.
EDU>> f=2x^2+3x-5; g=x^2-x+7; EDU>> f+g ans = 3x^2+2x+ EDU>> f-g
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009
ans = x^2+4x- EDU>> fg ans = (2x^2+3x-5)(x^2-x+7) EDU>> expand(ans) ans = 2x^4+x^3+6x^2+26x- EDU>> f/g ans = (2x^2+3x-5)/(x^2-x+7) EDU>> expand(ans)
ans =
2/(x^2-x+7)x^2+3/(x^2-x+7)x-5/(x^2-x+7)
EDU>> pretty(ans)
x x 5 2 ---------- + 3 ---------- - ---------- 2 2 2 x - x + 7 x - x + 7 x - x + 7 EDU>> f^
27 de maio de 2009 Reginaldo J. Santos
O Matlabr^ pode resolver equa¸c˜oes. Por exemplo, para resolver a equa¸c˜ao
ax^2 + bx + c = 0,
algebricamente, podemos usar os comandos:
EDU>> syms a b c x EDU>> solve(ax^2+bx+c) ans = [1/2/a(-b+(b^2-4ac)^(1/2))] [1/2/a(-b-(b^2-4ac)^(1/2))]
O Matlabr^ pode exibir este resultado de uma forma mais f´acil de enxergar usando a fun¸c˜ao pretty.
EDU>> pretty(ans) [ 2 1/2] [ -b + (b - 4 a c) ] [1/2 --------------------] [ a ] [ ] [ 2 1/2] [ -b - (b - 4 a c) ] [1/2 --------------------] [ a ]
Abaixo segue um resumo das fun¸c˜oes para manipula¸c˜ao de express˜oes alg´ebricas:
27 de maio de 2009 Reginaldo J. Santos
diff(f) - calcula a derivada de f. compose(f,g) - determina a composta f (g(x)). expand(expr) - expande uma express˜ao expr. finverse(expr) - determina a inversa funcional da express˜ao expr. pretty(expr) - exibe a express˜ao expr numa forma mais bonita. simple - procura encontrar uma forma mais simples de escrever uma express˜ao expr. simplify(expr) - simplifica a express˜ao expr. solve(expr) - acha a(s) solu¸c˜ao(es) da equa¸c˜ao expr= 0. subs(expr,x,a) - substitui na express˜ao expr a vari´avel x por a. syms x y z a b - define as vari´aveis simb´olicas x, y, z, a e b.
Existem v´arias outras fun¸c˜oes para manipula¸c˜ao de express˜oes alg´ebricas. Vocˆe pode obter informa¸c˜oes sobre elas digitando help symbolic. Uma fun¸c˜ao interessante que mostra as capacidades do Matlabr^ em tratar com fun¸c˜oes matem´aticas ´e funtool que ´e uma calculadora para fun¸c˜oes.
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009
Clique duas vezes com o bot˜ao esquerdo do mouse em toolbox e depois o mesmo em gaal. Depois clique em Add to Back
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009
5 Desenhando Gr´aficos de Fun¸c˜oes
Para desenhar o gr´afico de uma fun¸c˜ao de uma vari´avel, existe no pacote gaal a fun¸c˜ao plotf1 (use help plotf1 para saber seu uso). Para colocar os eixos coordenados temos no pacote gaal a fun¸c˜ao eixos. Usando a fun¸c˜ao f (x) = 1/(1 − x^2 ) que definimos acima temos:
EDU>> plotf1(f,[-10,10],200)
−50 −10 −8 −6 −4 −2 0 2 4 6 8 10
−
−
−
−
0
10
20
30
EDU>> eixos
27 de maio de 2009 Reginaldo J. Santos
−5 −5 −4 −3 −2 −1 0 1 2 3 4 5
−
−
−
−
0
1
2
3
4
5
Neste caso como os eixos j´a estavam tra¸cados, o resultado n˜ao foi bom. Ent˜ao, vamos limpar a figura com o comando clf e com a seta para cima ↑ vamos recuperar comandos que haviamos digitado anteriormente.
EDU>> clf EDU>> plotf1(f,[-10,10]) EDU>> axis([-5,5,-5,5]) EDU>> eixos
27 de maio de 2009 Reginaldo J. Santos
−5 −5 −4 −3 −2 −1 0 1 2 3 4 5
−
−
−
−
0
1
2
3
4
5
x
y
Introdu¸c˜ao ao Matlabr^ 27 de maio de 2009