1 / 60

MATLAB

MATLAB. PROF. OSWALDO COBRA. O objetivo deste curso é a apresentação de ferramentas básicas do ambiente MATLAB. Realço que o tempo (8 horas) de curso impõe uma metodologia dinâmica de aula. Em função disto, evite conversas paralelas. Cursos em ambiente de laboratório exigem atenção!.

jarah
Download Presentation

MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB PROF. OSWALDO COBRA

  2. O objetivo deste curso é a apresentação de ferramentas básicas do ambiente MATLAB. Realço que o tempo (8 horas) de curso impõe uma metodologia dinâmica de aula. Em função disto, evite conversas paralelas. Cursos em ambiente de laboratório exigem atenção!

  3. OPERAÇÕES COM VETORES E MATRIZES Quando inicializamos o MATLAB, são criadas uma ou mais janelas e, dentre elas, a janela de comando é o principal local de interação com o MATLAB. A aparência da janela a apresentada a seguir: O sinal de prompt é dado por >>

  4. MATEMÁTICA ELEMENTAR MATLAB executa operações algébricas como se fosse uma calculadora, possuindo as seguintes operações aritméticas elementares:

  5. A ordem na qual essas operações são executadas em uma expressão é dada pelas regras usuais de precedência: as expressões são executadas da esquerda para direita com operação de potênciação tendo a maior precedência, seguida de multiplicação e divisão (ambas com mesma ordem de precedência), seguidas de adição e multiplicação (mesma ordem de precedência). Parênteses podem ser usados para alterar a ordem de precedência.

  6. ÁREA DE COMANDOS Você pode criar variáveis na memória do programa MATLAB e estas variáveis são armazenadas enquanto durar o uso do programa. >> teste=3; >> prova=7; >> teste+prova  ans = 10

  7. VARIÁVEIS Existem regras em relação aos nomes das variáveis na linguagem do MATLAB. • As variáveis são sensíveis a maiúsculas e minúsculas • Podem conter até 31 caracteres • Os nomes das variáveis devem começar com uma letra • Caracteres de pontuação não são permitidos, nem caracteres acentuados

  8. Observação: O MATLAB possui alguns nomes de variáveis especiais:

  9. COMENTÁRIOS E PONTUAÇÃO Todo texto digitado depois do sinal de % é considerado no ambiente MATLAB como um comentário. >> % PROGRAMA EXEMPLO >> X=10; % X REPRESENTA UMA VARIAVEL QUALQUER Observação: MATLAB armazena o valor x=10 e ignora os caracteres à direita de %.

  10. Pode-se também adicionar ou escrever vários comandos por linha, separando-os por vírgula ou ponto e vírgula: >> y=3, t=4, u=34 y = 3 t = 4 u = 34

  11. Quando se coloca o sinal de ponto e vírgula no final da sentença do MATLAB, o resultado de uma operação ou comando não é exibido na tela do MATLAB. Veja a diferença: >> p=3 p = 3 >> p=3;

  12. Uma sucessão de três pontos indica ao MATLAB que o resto do comando aparecerá na linha seguinte, mas lembre-se que o nome de uma variável não pode ser dividido entre linhas: >> valores_das_concentracoes=33+... 44; >>

  13. FUNÇÕES MATEMÁTICAS

  14. JANELA DE COMANDOS Todas as informações, dados e variáveis criados na janela de comandos são armazenados no espaço de trabalho do MATLAB. O comando who mostra os nomes das variáveis. O comando clear apaga variáveis do espaço de trabalho do MATLAB. O comando cls apaga as informações do espaço de trabalho, mas não da memória. O comando diary permite que você armazena em arquivo texto tudo o que você digitou. Sua sintaxe é diary nome do arquivo. Deve ser finalizado com o comando diary off.

  15. FORMATO DE VISUALIZAÇÃO DE NÚMEROS

  16. FORMATAÇÃO fprintf

  17. ARQUIVO M DE COMANDOS Em problemas simples, é mais simples a digitação de comandos no prompt do MATLAB. Para problemas, mais complexos é conveniente, ou que você deseja repetir n vezes, o MATLAB apresenta a possibilidade de escrever os comandos em arquivo texto e depois executá-lo introduzindo o nome do arquivo na área de comandos do MATLAB.

  18. COMO CRIAR ARQUIVOS M Clique em File, New, M-file.

  19. Vamos a um exemplo?

  20. Digite o nome do arquivo!

  21. ARQUIVO DE DADOS Existem muitas maneiras de carregar e gravar arquivos de dados no MATLAB. Inicialmente, vamos considerar os comandos load e save. O comando save grava dados do espaço de trabalho em arquivo de disco. Sua sintaxe é: Save nome_do_arquivo var1 var2 var3 Var1 var2 var3 … são as variáveis a serem gravadas no arquivo nome_do_arquivo.

  22. Salvando em formato que podem ser lidos por planilhas e programas escritos em outras linguages. Clique >> x=[1 2 5.6 789 4.5]; >> save x.dat x -ascii Explore esta área! Apenas como exercício, encerre o MATLAB e inicialize-o novamente. Digite *.dat

  23. Como você pode verificar os Dados foram gravados!

  24. Caso você queira utilizar os dados gravados diretamente na área de trabalho do MATLAB, pode utilizar: load nome_do_arquivo No nosso exemplo, load x.dat Agora digite x e verifique que a variável x, ou o vetor x, como queira, está como variável atualizada na memória.

  25. OPERAÇÕES COM VETORES E MATRIZES A criação de vetores no MatLab é muito simples. Você deve começar com um colchete esquerdo e inserir os valores desejados, separados por espaços ou vírgulas e fechar o conjunto com um colchete direito. Quantos elementos este vetor possui? >> x=[1.2 3 4.5 6 9]; Este vetor possui 5 elementos. Mais precisamente ele possui uma linha e 5 colunas, ou seja, é um vetor linha.

  26. No MATLAB o acesso aos elementos de um vetor é feito utilizando índices na forma nome_do_vetor(i). Veja Alguns Exemplos!

  27. >> x=[1.2 3 4.5 6 9]; >> x=[1.2 3 4.5 6 9];  >> x(0) ??? Index into matrix is negative or zero.  >> X(1) ??? Undefined function or variable 'X'.  >> x(1)  ans = 1.20  >> x(5) ans = 9.00

  28. Para ter acesso a um bloco de elementos utilize a notação de dois pontos (:) : >> x(1:5)  ans = 1.20 3.00 4.50 6.00 9.00  >> x(1:3)  ans = 1.20 3.00 4.50 >> x(2:4) ans = 3.00 4.50 6.00

  29. A construção de vetores também pode ser feita, ao invés de digitar todos os elementos, sob algumas formas alternativas. A função linspace possui a seguinte sintaxe: Função linspace linspace(primeiro_valor,último_valor,número_de_valores)

  30. linspace(2,5,4) ans = 2.00 3.00 4.00 5.00 Mas você também pode criar o vetor utilizando o comando: x=início:incremento:fim >> x=[1:.8:5] x =1.00 1.80 2.60 3.40 4.20 5.00

  31. ORIENTAÇÃO DE VETORES Você pode criar vetores com mais de uma linha, utilizando a notação de ponto e vírgula: OBSERVE A DIFERENÇA!

  32. >> x=[1 2 3 4 5] x = 1 2 3 4 5 >> x=[1; 2; 3; 4 ;5] x =  1 2 3 4 5

  33. Você também pode transpor um vetor, utilizando a anotação apóstrofo: >> x=[1 4 5 89]  x = 1 4 5 89 DIGITE! >> x' ans = 1 4 5 89

  34. MATRIZES Usam-se espaços para separar os elementos de uma linha e utliza-se ponto e vírgula para criar linhas na matriz: Digite >> x=[1 2 3;4 5 6;7 8 9] x =  1 2 3 4 5 6 7 8 9

  35. SOMA DE MATRIZES A soma de matrizes é exemplificada abaixo: x=[1 2 3;4 5 6;7 8 9] ans = 5 7 9 12 14 18 12 14 16 y=[4 5 6; 8 9 12; 5 6 7]; DIGITE x+y

  36. MULTIPLICAÇÃO OU DIVISÃOELEMENTO POR ELEMENTO O ponto anterior ao Operador indica Que a operação Deve ser feita elemento A elemento! x=[1 2 3;4 5 6;7 8 9] x.*y ans = 4 10 18 32 45 72 35 48 63 x./y ans = 0.2500 0.4000 0.5000 0.5000 0.5556 0.5000 1.4000 1.3333 1.2857 y=[4 5 6; 8 9 12; 5 6 7]; DIGITE x.*y Ou x./y

  37. SISTEMAS LINEARES Muitas aplicações de Engenharia envolvem a solução de sistemas lineares. Considere o exemplo: O que é equivalente a escrevermos , onde A é a matriz dos coeficientes, W a matriz das incógnitas do sistema e B a matriz dos resultados. A Álgebra linear nos fornece o conceito de que este sistema possui solução se o determinante da matriz A for diferente de zero. Vejamos a solução deste problema utilizando o MATLAB: >> A=[1.2 6 4; 5 8 0;7 12 5]; >> B=[12;3;6]; >> det(A) ans = -86.0000. A solução do sistema por ser dada por . No MATLAB pode ser expresso por: >> x=inv(A)*B  x =  -3.9767 2.8605 -0.0977

  38. FATORAÇÃO LU No MATLAB a fatoração LU pode ser implementada pelo comando: A\B Matriz dos resultados Matriz dos coeficientes

  39. GRÁFICOS 2D x=linspace(0,2*pi,50); >> y=exp(x).*sin(x); >> plot(x,y)

  40. OUTRAS FUNÇÕES fplot f(x)=cos(x)*ex fplot(‘cos(x)*exp(x)’,[0 3*pi]) DIGITE

  41. polar r=3cos(4t), t=0:.01:2*pi; r=3*cos(4*t); polar(t,r)

  42. y1=exp(x); y2=log(x) x=1:.1:6; y1=exp(x); y2=log(x); ax=plotyy(x,y1,x,y2); hy1=get(ax(1),'ylabel'); hy2=get(ax(2),'ylabel'); set(hy1,'string','exp(x)'); set(hy2,'string','log(x)'); plotyy

  43. semilogx Também existe o comando semilogy( ) e o Comando loglog( ) t=linspace(0,3*pi,300); >> x=exp(-t); >> y=t; >> semilogx(x,y); grid

  44. hist prof=char('Professor Universitario','Engenheiro Quimico','Medico'); sal=[999; 6789; 9999]; barh(sal); for i=1:3 gtext(prof(i,:)); end xlabel('Salario em reais'); title('Profissoes e Remuneraçao = Alerta',... 'fontsize',19);

  45. pie prof=char('Professor Universitario','Engenheiro Quimico','Medico'); sal=[999; 6789; 9999]; pie(sal); for i=1:3 gtext(prof(i,:)); end xlabel('Salario em reais'); title('Profissoes e Remuneraçao = Alerta',... 'fontsize',19);

  46. USANDO SUBPLOT Uma janela pode conter mais de um conjunto de eixos e, neste caso, pode ser usado o comando subplot(m,n,p), que divide a janela de figuras em uma matriz m por n regiões , nas quais se pode traçar gráficos e ativa a região de ordem p. Os subgráficos são numerados da esquerda para direita, linha por linha.

  47. x=linspace(0,2*pi,30); >> y=sin(x); >> z=cos(x); >> a=sin(x).*cos(x); >> b=sin(x)./(cos(x)+eps); >> subplot(2,2,1) %seleciona o grafico à esquerda, no alto >> plot(x,y); >> subplot(2,2,2) %seleciona o grafico à direita, no alto >> plot(x,z); >> subplot(2,2,3) %seleciona o grafico à esquerda, embaixo >> plot(x,a); >> subplot(2,2,4) %seleciona o grafico à direita, embaixo >> plot(x,b);

More Related