Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


apostila de matlab, Notas de estudo de Engenharia Mecânica

apostila de matlab

Tipologia: Notas de estudo

2014

Compartilhado em 24/03/2014

jean-pedro-1
jean-pedro-1 🇧🇷

3.8

(4)

14 documentos

1 / 67

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Introdução
1.1 Informações iniciais
O Matlab (abreviatura de Matriz Laboratory - Laboratório de Matrizes) é um
software de simulação matemática que realiza operações matriciais, constrói gráficos
em duas ou três dimensões, auxilia no processamento de sinais, além de manipular
outras funções especializadas.
Ele trabalha com uma linguagem de programação de alto nível, em um ambiente
interativo, para o desenvolvimento de algoritmos, análise e visualização de dados e
computação numérica. Próprio para as áreas técnica e científica, o software tem funções
de tratamento numérico de alto desempenho, capazes de resolver problemas
computacionais técnicos de forma mais eficiente do que as tradicionais linguagens de
programação.
Além do ambiente interativo, outra facilidade do Matlab é a possibilidade de
execução de arquivos texto, contendo uma seqüência de instruções definidas pelo
usuário.
Esses arquivos texto, que têm extensão ‘. m’, podem ser criados e editados
dentro ou fora do seu ambiente.
1.2 Janelas
Através de objetos gráficos denominados janelas, o usuário opera as
funcionalidades do programa de forma interativa.
A janela principal do Matlabr chama-se Command Window (Janela de
Comando), onde os dados e instruções são digitados no prompt ‘>>’ pelo usuário e,
após a tecla Enter ser pressionada, o programa os processa imediatamente e expõe na
tela o resultado. Os comandos digitados são armazenados em um buffer de comandos,
no qual se pode navegar usando as teclas seta-para-cima ‘"’ e seta-para-baixo ‘#’. Além
disso, teclando-se o texto ‘str’, por exemplo, e usando-se as setas ‘"’ e ‘#’, navega-se
por todos os comandos iniciados com o texto ‘str’. A tecla Esc. limpa o que estiver
escrito na linha do comando.
Comandos terminados com ponto-e-vírgula não exibem as variáveis de resposta
na tela.
O uso do ponto-e-vírgula é útil quando a impressão do resultado na tela não
interessa, ou quando a impressão é muito extensa como, por exemplo, para uma matriz
1000 × 1000.
Deve-se ressaltar que, apesar da impressão ser suspensa, o comando é executado
pelo programa.
Vários comandos podem ser digitados na mesma linha, desde que estejam
separados por vírgula ou ponto-e-vírgula. Comandos muito longos para uma linha
podem ser interrompidos por três pontos ‘... e continuados na linha seguinte. O
exemplo a seguir é ilustrativo quanto a esses detalhes.
>> a=1, b==... 2;
c=a+b
A =
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43

Pré-visualização parcial do texto

Baixe apostila de matlab e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Introdução 1.1 Informações iniciais O Matlab (abreviatura de Matriz Laboratory - Laboratório de Matrizes) é um software de simulação matemática que realiza operações matriciais, constrói gráficos em duas ou três dimensões, auxilia no processamento de sinais, além de manipular outras funções especializadas. Ele trabalha com uma linguagem de programação de alto nível, em um ambiente interativo, para o desenvolvimento de algoritmos, análise e visualização de dados e computação numérica. Próprio para as áreas técnica e científica, o software tem funções de tratamento numérico de alto desempenho, capazes de resolver problemas computacionais técnicos de forma mais eficiente do que as tradicionais linguagens de programação. Além do ambiente interativo, outra facilidade do Matlab é a possibilidade de execução de arquivos texto, contendo uma seqüência de instruções definidas pelo usuário. Esses arquivos texto, que têm extensão ‘. m’, podem ser criados e editados dentro ou fora do seu ambiente. 1.2 Janelas Através de objetos gráficos denominados janelas, o usuário opera as funcionalidades do programa de forma interativa. A janela principal do Matlabr chama-se Command Window (Janela de Comando), onde os dados e instruções são digitados no prompt ‘>>’ pelo usuário e, após a tecla Enter ser pressionada, o programa os processa imediatamente e expõe na tela o resultado. Os comandos digitados são armazenados em um buffer de comandos, no qual se pode navegar usando as teclas seta-para-cima ‘"’ e seta-para-baixo ‘#’. Além disso, teclando-se o texto ‘str’, por exemplo, e usando-se as setas ‘"’ e ‘#’, navega-se por todos os comandos iniciados com o texto ‘str’. A tecla Esc. limpa o que estiver escrito na linha do comando. Comandos terminados com ponto-e-vírgula não exibem as variáveis de resposta na tela. O uso do ponto-e-vírgula é útil quando a impressão do resultado na tela não interessa, ou quando a impressão é muito extensa como, por exemplo, para uma matriz 1000 × 1000. Deve-se ressaltar que, apesar da impressão ser suspensa, o comando é executado pelo programa. Vários comandos podem ser digitados na mesma linha, desde que estejam separados por vírgula ou ponto-e-vírgula. Comandos muito longos para uma linha podem ser interrompidos por três pontos ‘... ’ e continuados na linha seguinte. O exemplo a seguir é ilustrativo quanto a esses detalhes.

a=1, b==... 2; c=a+b A = 1

c = 3 É importante apontar que a Janela de Comando normalmente é usada para testes de comandos e funções ou simples operações. Quando se deseja implementar algum programa, projeto ou trabalho utiliza-se o M-File Editor. Neste editor, cria-se um arquivo texto ‘. m’ com os comandos desejados. Para abrir um novo arquivo-M, clique em File >New > M-file ou simplesmente digite o comando Edit. Após escrever o programa, pode-se executá-lo pela tecla de atalho F5. Além da Janela de Comando e do Editor de Arquivo-M, há ainda as janelas Help, Command History, Current Directory e Workspace, que estão respectivamente relacionadas com ajuda, histórico dos últimos comandos digitados, diretório corrente do programa e o espaço de trabalho onde se visualizam dados e variáveis. Essas janelas podem ser mantidas fechadas ou abertas, dependendo da necessidade ou gosto do usuário. Essas outras janelas não são detalhadas nesse documento. 1.3 Ajuda Através do comando help, o usuário pode consultar a ajuda do Matlab. Escrevendo se help e o nome da função, é mostrado um pequeno resumo da função (normalmente de uma linha) seguido de uma descrição mais detalhada da mesma.

help ones ONES Ones array. ONES(N) is an N-by-N matrix of ones. ONES(M,N) or ONES([M,N]) is an M-by-N matrix of ones. ONES(M,N,P,...) is an M-by-N-by-P-by-... array of ones. ONES(SIZE(A)) is the same size as A and all ones. See also ZEROS. É possível, ainda, procurar por funções cujos resumos contenham determinada palavrachave. Para isto, basta digitar o comando lookfor seguido da palavra desejada. Caso se queira interromper a busca, deve-se teclar CTRL+C. PETTele)) UFF 1.4. Bibliotecas do Matlab 1.4.1 Bibliotecas do Matlab O Matlab apresenta uma série de comandos, operadores e funções primitivas, organizadas por categorias, assim como rotinas específicas de diversas áreas da engenharia, organizadas em bibliotecas denominadas Toolboxes. Estas categorias e bibliotecas são designadas por tópicos primários. Para a visualização de todos estes tópicos, basta digitarem o comando help. Alguns desses tópicos primários são:

  • general - comandos gerais
  • ops - operadores e caracteres especiais
  • control - biblioteca de sistemas de controles

1.4- / Divisão 1.5- ^ Elevado 1.7 Operadores relacionais: 2.1- = = Igual 2.2- ~= Diferente 2.3- > Maior 2.4- > = Maior ou Igual 2.5- < Menor 2.6- < = Menor ou igual 1.8 Os operadores lógicos permitem a combinação ou negação das relações lógicas. Os operadores lógicos do MATLAB são:  &( E) Conjunção  | (OU) Disjunção  ~ (Não) Negação 1.9 Operador de atribuição ( =) Representa a atribuição da expressão a sua direita a variável a sua esquerda. Ex: 1- x= 200 2 - y= 0. 3 - z= z+ 2.0 Comandos de entrada e saída: 2 .1- Entrada Variável = input (‘ Mensagem’ ) ; Transfere os dados externos via teclado para as varáveis indicadas. 2 .2- Saída 1 - fprintf ( ‘ Mensagem % d’ , Variável)

2 - fprintf (‘ Mensagem %f ’ , Variável) 3 - fprintf (‘ Mensagem % d. 2\n ’ , Variável) 4 -- fprintf (‘ Mensagem % g \n ’ , Variável) 5 - disp ( variável) Mostra o conteúdo da variável na tela. 6 - disp(‘ Mensagem’) Mostra a mensagem na tela. OBS: 1- ; Não mostra o conteúdo da variável na tela. 2 - % Comentário. 3 - clc Limpa a tela. 4 - A mensagem vem entre apóstrofos. 5 - clear variável. Apaga o conteúdo da variável. 6 - , Separar comandos em uma mesma linha. 7 - clear all .Apagar tudo. 3 - Estruturas Condicionais : 3 .1- Estrutura condicional simples: if Teste Comandos ; end 3 .2- Estrutura condicional composta 1 - Com duas opções if Teste comandos A ;

if a<b & a<c & a<d men=a; elseif b<c & b<d men= b; elseif c<d men = c; elese men = d; end fprintf(' menor= %d',men) .

  1. Fazer um programa que leia os coeficientes da equação do 2º grau. Determine e escreva as raízes reais se houver. Dados { a , b, c} d=b^2 – 4x ^ xc x¹= ( - b + sqrt (d)) / ( 2 * a) x²= ( - b – sqrt(d)) / ( 2 * a) clc a= input ('digite a') ; b= input ('digite b') ; c= input ('digite c') ;

if d>= 0 x1=( - b + sqrt(d)) / ( 2 * a) ; x2=( - b – sqrt(d))/ ( 2 * a ) ; fprintf ( ' x1 = % f /n ' , x1) fprintf ( ' x2 = % f 1', x2) else disp ( ' não existem raízes reais ' ) end 4. A estrutura switch-case Quando se faz uso repetido de testes de igualdade com apenas um argumento comum, costuma-se usar a estrutura switch-case. Essa estrutura tem a seguinte forma: switch var_teste case expressão_teste comandos case {expressão_teste2, expressão_teste3, expressão_teste4 } comandos otherwise comandos end Se os testes de igualdade resultarem em falso para todos os casos, os comandos de otherwise (que é opcional) serão executados. O exemplo abaixo demonstra uma aplicação da estrutura switch-case. clear all num=input(’Escreva um inteiro: ’); % Exibe texto e lê valor para a variável. switch num case 1

Propósito: encerra a execução de comandos for ou while quando são encontrados. Sintaxe: break Exemplo: Fazer um programa que leia um número inteiro positivo. Determine e escreva o segundo maior divisor de n. clc; n=input(‘Digite um num. Inteiro’); For d=1:n IF REM(n,d)== Break; End End fprintf(‘ %d ‘,d);

6. Estruturas de Repetições : 6 .1 - A estrutura for: 1. for variável = início : fim Comandos; end Obs. A variável varia de 1 em 1. : significa “até”

  1. for variável = início : variação : fim Comandos ; end

Exercício Resolvidos:

  1. Fazer um programa que leia a idade e só sexo de 10 pessoas .Calcule e escreva; O numero de mulheres com idade entre 17 e 28 anos; A idade média dos homens. Dados{ id, sexo 10 pessoas (np) } Obs: sexo = 1 - masculino , sexo = 0 feminino
    1. nm
      1. idmh = sidh / nh clc nm = 0 ; sid = 0 ; nh = 0 ; for np = 1 : 10 id = input (' digite idade ' ) ; sexo = input ( ' digite sexo , sexo = i – ne sexo = 0 – f ' ) ; if sexo = = 0 & id > 17 & id< 28 nm = nm = 1 ; end if sexo = = 1 nh=nh + 1 ; sidh = sidh + id ;
  1. Fazer um programa que escreva a soma dos 20 primeiros termos da série : 2 7 8 13 14 19 … clc so = 0 ; nu = 0 ; for nt = 1: 20 if rem ( nu , 2 ) = = 0 s o = s o + nu ; nu = nu + 5 ; else so=so + nu ; nu = nu + 1 ; end end fprintf ( ' soma = % d ' , s o )
  2. Faça um programa q leia altura, sexo ,idade. O ultimo dado que não entrará tem altura igual a 0.Calcule a porcentagem de mulheres com altura entre 1,6 e 1,72 e idade inferior 28 anos clc nm=0; nh=0;tm=0;so2=0; altura=input('digite altura'); while altura~= id=input('digite idade '); sexo=input('digite sexo e sexo=1-m e sexo=0-f '); if sexo== tm=tm+1; if altura>1.6 & altura<1.72 & id< nm=nm+1; end

end altura=input('digite altura e altura=0 exit'); end parm=nm*100/tm; fprintf('parm=%f\n',parm)

  1. Fazer um programa que escreva a soma dos n primeiros termos da serie, onde n e x são lidos. clc s=0;d=24;sinal=1;i=6; e=3; termo=input('digite termos'); x=input('digite x'); for nt= 1:termo s=s+x^esinal/d; i=i+2; d=di(i-1); e=e2; sinal=(-1)*sinal; end fprintf('soma=%f',s)
  2. Faça um programa que escreva a soma dos 20 primeiros termos da serie. 2 9 10 17 18 25 clc n=2; soma=0; s=9; soma1=0; soma2=0; for nt= 1: soma=soma+n; n=n+8; soma1=soma1+s; s=s+8; soma2=soma1+soma; end fprintf('soma=%f',soma2) Obs:1- who % obtém-se uma lista das variáveis na área de trabalho. 2 - whos % mostra mais detalhada ás variáveis correntes. 7. Funções Matemáticas. 1 - abs(x). Valor absoluto de x.

Exs: A- x= 1: x= 1 2 3 4 5 B- x=1:6. x = 1 2 3 4 5 6 C- z= 6:-1: z = 6 5 4 3 2 1 D- k= linspace ( 0,1,6) k= 0 0.2 0.4 0.6 0.8 1 E- x=logspace(0,2,5) x=1 3.1623 10 31.6225 100 5 - Para criar um vetor coluna elemento for elemento estes devem estar separados por(;). Ex: v= [ 1.5 ; - 3.2 ; 9) v= 1.

    9 6 - Operador de transposição (‘) transforma um vetor linha para vetor coluna. Ex: y=(1:0.5: y =

2

3 7 - Endereçamento de vetores: os elementos são acessados através de seu índice. Ex: x= 1: x(3) %. Acessa o 3º elemento de x. x (6) %. Acessa o 6º elemento de x. c=linspace (10,40,7)

c= 10 15 20 25 30 35 40 c (3:5) % .Acessa o 3º ao 5º elemento de c. 30 20 10 C([ 4 , 1]) % .Acessa o 4º e 1º elementos de c. 25 10 9. Operações Com Matrizes As operações com matrizes no MATLAB são as seguintes:· Transposta;· Adição;· Subtração;· Multiplicação;· Divisão à direita;· Divisão à esquerda;· Exponenciação; 9 .1 Transposta O caracter apóstrofo, " ' " , indica a transposta de uma matriz. Considere os exemplos a seguir:

A=[1 2 3; 4 5 6; 7 8 0] A= 1 2 3 4 5 6 7 8 0

B=A’ 1 4 7 2 5 8 3 6 0

x = [-1 0 2]' X = - 1 0 2 9 .2 Adição e Subtração

O produto de uma matriz por um vetor é um caso especial do produto entre matrizes. Por exemplo A e X,

b = A*x que resulta em B = 5 8

  • 7 Naturalmente, um escalar pode multiplicar ou ser multiplicado por qualquer matriz.

pi*x Ans =

0

Além da multiplicação matricial e escalar, podemos ter a multiplicação por elemento de matrizes de mesma dimensão. Esse tipo de operação é feita utilizando-se um ponto (.)antes do perador de multiplicação ( * ). Ou seja, se A e B são matrizes definidas por A=[ a11a12... a1n; a21a22... a2n; ... ; am1am2... amn] e B=[ b11b12... b1n; b21b22... b2n; ... ; bm1bm2... bmn], entãoA.B =aijbij. Por exemplo:

A.B ans = 1 8 21 8 25 48 21 48 0 9 .4 Divisão Existem dois símbolos para divisão de matrizes no MATLAB "" e "/". Se A é uma matriz quadrada não singular, então A\B eB/A correspondem respectivamente à multiplicação à esquerda e à direita da matriz B pela inversa da matriz A , ou inv(A)B e Binv(A), mas o resultado é obtido diretamente. Em geral, • X = A\B é a solução de AX = B • X = B/A é a solução de XA = B Por exemplo, como o vetor b foi definido como Ax, a declaração z = A\b resulta em Z =

  • 1

A divisão por elemento entre matrizes é definida de maneira similar à multiplicação por elemento, ou seja, A./B= aij/bij e A.\B= aij\bij, onde A e B têm mesma dimensão. 9 .5 Exponenciação A expressão Ap eleva A à p-ésima potência e é definida se A é matriz quadrada e p um escalar. Se P é um inteiro maior do que um, a exponenciação é computada como múltiplas multiplicações. Por exemplo,

A^ Ans = 279 360 306 684 873 684 738 900 441 A exponenciação por elemento entre matrizes é definida de maneira similar à multiplicação por elemento, ou seja, A.B= aijbij,onde A e B têm mesma dimensão. De maneira similar, a

potenciação por elemento entre uma matriz e um escalar apresenta as seguintes formas: A.c=aijc e c.A=caij 9 .6 Elementos das Matrizes Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre parênteses. Por exemplo, dada a matriz A: A = 1 2 3 4 5 6 7 8 9 a declaração >> A(3,3) = A(1,3) + A(3,l) resulta em A = 1 2 3 4 5 6 7 8 10

A(1:3,2) Ans = 2 5 8 A(1:3,2:3) é uma submatriz 3x2, que consiste das três linhas e das últimas duas colunas de A. Ans =