Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo ao MATLAB ca
Ferramentas para Engenharia
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Contedo Programtico u a
1 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Estrutura if/se Estrutura for/para faa c Estrutura while/faa enquanto c Funes no MATLAB co Construo de Grcos ca a Entrada/sa (input/output I/O) da Construo de funes ca co Simblicos o Clculo Numrico - Engenharia a e Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Roteiro
1 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Estrutura if/se Estrutura for/para faa c Estrutura while/faa enquanto c Funes no MATLAB co Construo de Grcos ca a Entrada/sa (input/output I/O) da Construo de funes ca co Simblicos o Clculo Numrico - Engenharia a e Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Ambiente MATLAB
Vantagens Linguagem de simples aprendizado; Possuem editor com depurador integrado; Trabalha com matrizes; Funes predenidas e toolbox; co Compilador independente. Desvantagens Linguagem interpretada pode ser lento; Custo relativamente alto;
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Janelas do MATLAB
Janelas comando gura edio ca ajuda histrico de comandos o rea de trabalho a diretrio corrente o Finalidade Janela principal, permite a entrada de variveis e roda programas a Contm a sa de comandos grcos e da a Cria e procura erros em arquivos contendo programas e funes co Fornece a informao de ajuda ca Mostra os comandos utilizados na janela de comandos Fornece informaes sobre as variveis utilico a zadas Mostra os arquivos no diretrio corrente o
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Primeiro Programa
Operaoes Bsicas c a matlab: Command Window >> A = 2 >> B = 6 >> C = A + B >> D = A B >> E = 2 A B >> F = B/A >> G = A \ B
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Hierarquia de processamento
Ordem das operaes co As expresses so calculadas da esquerda para a direita atravs da o a e seguinte ordem de precedncia: e potenciao; ca multiplicao e diviso (mesma ordem de precedncia); ca a e adio e da subtrao (mesma ordem de precedncia). ca ca e Uso de parnteses e Pode-se usar parnteses para mudar as ordens das operaes. As regras e co de precedncia aplicam-se dentro de cada par de parnteses e o clculo e e a inicia-se nos parnteses mais internos e procede de dentro para fora. e
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Escrita de variveis a
Regras de escrita O MATLAB distingue letras maisculas u de minsculas u As variveis podem conter at 63 caraca e teres Os nomes das variveis devem comear a c com uma letra, seguida de letras, algarismos ou sublinhados. Caracteres de pontuao no so permitidos!! ca a a Palavras reservadas pelo MATLAB As palavras abaixo no podem ser utilizadas para escrita de variveis: a a
for otherwise break end switch return if continue else while try case function catch persistent elseif global
Exemplos alto, Alto, ALto e ALTO so variveis diferentes!! a a naoebomescrevernomeslongos Trabalho forca x deltad K 9cachorro
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Limpar!
clc clear ou clear all clf ou close all
Variveis! a
who whos
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Formato de variveis a
Comandos
format short format long format ... short e format ... long e format hex format bank format +
Comentrios a 5 d gitos 16 d gitos 5 d gitos + expoente 16 d gitos + expoente Hexadecimal, ponto utuante 2 d gitos decimais Positivo (+),negativo () ou zero (0). Aproximao ca
format rat
355/113
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Manipulaes co Transposta: B ou transp(A) / Inversa: inv(B) ou B1 Diagonal: diag(B) / Trao: trace(B) / Determinante: det(B) c Triangula inferior: tril(B,k) ou superior: triu(B,k)
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operaoes matriciais c
Soma de matrizes a11 A = a21 a31 a12 a22 a32 m,n b11 B = b21 b31 b12 b22 b32 m,n
Soma de matrizes a11 + b11 A + B = a21 + b21 a31 + b31 Subtrao de matrizes ca a11 b11 A B = a21 b21 a31 b31
Reiner Requio, Eng. a
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operaoes matriciais c
Multiplicao de matrizes ca a11 a21 AB = a31 a41 a11 b11 + a12 b21 a21 b11 + a22 b21 E = a31 b11 + a32 b21 a41 b11 + a42 b21 Diviso de matrizes a A/B equivalente A (B 1 ) e Ateno: A matriz B deve ser invers ca vel!!
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
b11 b21
b12 b22
b13 b23
n,p
a11 b12 + a12 b22 a21 b12 + a22 b22 a31 b12 + a32 b22 a41 b12 + a42 b22
a11 b13 + a12 b23 a12 b13 + a22 b23 a13 b13 + a32 b23 a14 b13 + a42 b23 m,p
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplo
Soma de matrizes 1 1 Execuo no MATLAB ca matlab: Command Window >> [1 1; 1 1] + [1 1; 1 >> ans = 2 2 2 2 1 1 + 1 1 1 1 = 2 2 2 2
1]
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplos
Subtrao de matrizes ca 1 1 Execuo no MATLAB ca matlab: Command Window >> [1 1; 1 1] [1 1; 1 >> ans = 0 0 0 0 1 1 1 1 1 1 = 0 0 0 0
1]
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplos
Multiplicao de matrizes ca 1 1 Execuo no MATLAB ca matlab: Command Window >> [1 1; 1 1] [1 1; 1 1] >> ans = 2 2 2 2 1 1 1 1 1 1 = 2 2 2 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplos
Multiplicao de matrizes ca 1 1 Execuo no MATLAB ca matlab: Command Window >> [1 1; 1 1]. [1 1; 1 >> ans = 1 1 1 1 1 1 . 1 1 1 1 = 1 1 1 1
1]
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
>> [4
>> ans =
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
>> [4
18]
>> ans =
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplo 1 - Grcos a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
clear close all clc X = [10:10] Y = X.2 G=abs(2*X) plot(X,Y) figure(2) plot(X,Y,X,G) figure(3) plot(X,Y,'rx',X,Y,'kp') title('Titulo do grafico') xlabel('Coordenada de X (Abscissa)') ylabel('Coordenada Y (Ordenada)') legend('Parabola X','Modulo X',0)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exerc 1 cio
X = 0 a 4 Y = cos(X ) W = 2sen(X )
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exerc 1 cio
X = 0 a 4 Y = cos(X ) W = 2sen(X )
1 2 3 4 5 6 7 8 9 10 11 12 13
clear close all clc x = 0:0.1:6*pi y = cos(x) g = 2*sin(x) plot(x,y,x,g) title('Titulo do grafico') xlabel('X') ylabel('f(x)') legend('Coseno de X','2 seno de X')
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
% % % % % % % % % % % % % %
Empresa: Elementare Treinamento e Consultoria www.condicaoinicial.com Codigo fonte calcula as raiz de uma funcao quadratica Data ========== 16/03/2010 25/11/2010 31/05/2011 Autor ============== Marcio Martins Robson Pessoa Reiner Requiao Revisao ========== Rev:01 Rev:02 Rev:03
Variaveis: x1 primeira raiz da equacao de segundo grau [=] [A B C] vetor dos parametros da equacao de 2 grau [=]
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Roteiro
1 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Estrutura if/se Estrutura for/para faa c Estrutura while/faa enquanto c Funes no MATLAB co Construo de Grcos ca a Entrada/sa (input/output I/O) da Construo de funes ca co Simblicos o Clculo Numrico - Engenharia a e Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sequncias lgicas e o
Algoritmo E uma sequncia lgica de instruo que devem ser seguidas para e o ca execuo de uma tarefa. ca Classicao de algoritmos ca Descrio narrativa: algoritmos expressos diretamente em ca linguagem natural, e.g., receitas, troca de uma pneu furado etc.; Pseudocdigos: algoritmos rico em detalhes, especicando as o variveis a serem usadas. Assemelha-se bastante a um cdigo de a o uma linguagem; Diagrama de blocos: fornecem uma representao grca de um ca a algoritmo, tornando uma sequncia complexa em uma forma mais e fcil de ver e compreender. a
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exemplos de algoritmos
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Elaborao de Algoritmos ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Elaborao de Algoritmos ca
Etapas lgicas o Dena claramente seu problema Dena os Input/Output Elabore o algoritmo Escreva o algoritmo com a sintaxe do MATLAB Realiza testes simples para cada etapa Aperfeioamento algoritmo c Realizar novos testes
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Relacionais Lgicos o Operadores & (and) | (or) Operao ca E lgico o OU lgico o o NAO lgico Operadores < > <= >= == = Operao ca Menor que Maior que Menor ou igual a Maior ou igual a Igual a Diferente de
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
A construo if tem forma ca if expresso 1 a Declarao 1 ca ... elseif expresso 2 a Declarao 1 ca ... else Declarao 1 ca ... end
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Equao do segundo grau ca Objetivo: Construir um algoritmo para encontrar as ra de uma zes equao do segundo grau ca Frmula de Bskara: o a B + B x1 = ; x2 = 2A 2A Em que: Ax 2 + Bx + C = 0; Notas de alunos Objetivo: Construir um algoritmo (diagrama de blocos) e um script que calcule a mdia das 3 maiores notas, de um total de quatro avaliaes. e co = B 2 4AC
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
% % % % %
Objetivo: Calcula as raizes da equacao do 2 grau Data Autor Rev ============ ======= ======= 09/mai/2011 Marcio rev.0 04/jun/2011 Reiner rev.1
% Variaveis % x vetor das raizes % [A B C] vetor dos coeficientes da equacao % Delta discriminante clear all; clc A = input('Digite o valor do coeficiente A \n'); B = input('Digite o valor do coeficiente B \n'); C = input('Digite o valor do coeficiente C \n'); if A==0 disp('solucao de equacao linear, unica raiz:') x = C/B ; disp(x) else
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Delta = B2 4*A*C ; if Delta == 0 disp('Solucao com duas raizes reais e iguais') x(1) = B/(2*A) ; x(2) = x(1) ; disp(x) elseif Delta > 0 disp('Solucao com duas raizes reais distintas') x(1) = (B + sqrt(Delta))/(2*A) ; x(2) = (B sqrt(Delta))/(2*A) ; disp(x) else disp('Solucao com duas raizes complexas conjugadas') x(1) = (B + sqrt(Delta))/(2*A) ; x(2) = (B sqrt(Delta))/(2*A) ; disp(x) end end xr = roots([A B C]) ; disp(xr)
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
n = input('Digite as notas dos alunos \n'); if n(1) < n(2) nmin = n(1) ; else nmin = n(2) ; end if nmin < n(3) nmin ; else nmin = n(3); end if nmin < n(4) nmin ; else nmin = n(4); end
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
1 2 3 4 5 6 7 8 9 10 11 12
if n(1) == nmin nf = ( n(2) + n(3) + n(4) )/3 ; elseif n(2) == nmin nf = ( n(1) + n(3) + n(4) )/3 ; elseif n(3) == nmin nf = ( n(1) + n(2) + n(4) )/3 ; else nf = ( n(1) + n(2) + n(3) )/3 ; end fprintf('A nota m n i m a fprintf('A m d i a final %4.2f \n',nmin) %4.2f \n',nf)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
A construo for tem a seguinte sintaxe: ca for 1:n Declarao ca ... Declarao ca end ou for 1:dx:n Declarao ca ... Declarao ca end 1 n
1 n
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Fatorial Objetivo: encontrar o fatorial de um nmero inteiro N. u Anlise: utilizando o produtrio para o clculo. a o a N! = N (N 1) (N 2) . . . 3 2 1 Como o ultimo termo 1, podemos melhorar escrever a equao como e ca N! = N (N 1) (N 2) . . . 3 2 Restrio: n deve ser inteiro e positivo. ca Vamos escrever um script.m para resolver este problema.
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
% Entrada de dados N = input('Digite o valor inteiro positivo \n') ; % Processamento de dados if N < 0 disp('==================================') disp('Nao eh possivel calcular o fatorial ') elseif N == 0 n factorial = 1 ; disp('==================================') fprintf('O fatorial eh N = %.0d \n',n factorial) else s = 1 ; % iniciador do loop for ii = 1:N % contador n factorial = s * ii ; s = n factorial ; end disp('==================================') fprintf('O fatorial eh N = %.0d \n',n factorial) end
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Discretizao de uma equao diferencial ordinria (EDO) ca ca a Vamos analisar a seguinte EDO: dy = ex dx Uma das solues anal co ticas desta EDO y = e x [Quando a condio e ca inicial y (x = 0) = 1] e A discretizao de uma EDO, transforma esta em uma equao recursiva: ca ca yk+1 = e xk x + yk Esse o mtodo de Euller ou Runge-Kutta de primeira ordem e e Elaborar um script comparando ambas as respostas, lembrando que a soluo numrica requer o uso da estrutura de programao for. ca e ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Runge-Kutta de Ordem 2 1 yi+1 = yi + (K1 + K2 ).h com K1 = f (xi , yi ) e K2 = f (xi + h, yi + K1 .h) 2 Runge-Kutta de Ordem 3 1 yi+1 = yi + (K1 + 4K2 + K3 ).h com K1 = f (xi , yi ), 6 1 1 K2 = f (xi + .h, yi + K1 .h) e K3 = f (xi + h, yi K1 .h + 2K2 .h) 2 2 Runge-Kutta de Ordem 4 1 yi+1 = yi + (K1 + 2K2 + 2K3 + K4 ).h com K1 = f (xi , yi ), 6 1 1 1 1 K2 = f (xi + .h, yi + K1 .h), K3 = f (xi + .h, yi + K2 .h) e 2 2 2 2 K4 = f (xi + h, yi K1 .h + 2K3 .h)
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Runge-Kutta de Ordem 2 Resolver a equao a equao: ca ca dy = 1, 2y + 7e 0,3x dx No intervalo x = 0 e x = 1, 5 com a condio inicial x = 0. y = 3 ca Soluo anal ca tica: 70 0,3x 43 1,2x y= .e .e 9 9
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
A construo while tem seguinte sintaxe: ca while expresso a Declarao ca ... Declarao ca end
Para uma melhor elucidao desta estrutura vamos explorar alguns ca exemplos !!!
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Vamos estimar o volume da equao cbica de Van der Waals usando a ca u estrutura de programao while. Os dados necessrios so: ca a a R = 0,082 bar.L/(gmol.K) a = 5,562 bar.L2 /gmol b = 0,0638 L/gmol T = 250 K P = 10 bar
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Roteiro
1 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Estrutura if/se Estrutura for/para faa c Estrutura while/faa enquanto c Funes no MATLAB co Construo de Grcos ca a Entrada/sa (input/output I/O) da Construo de funes ca co Simblicos o Clculo Numrico - Engenharia a e Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Grcos bidimensionais a
Comando plot O comando para construo dos grcos plot. ca a e Exemplo: se x um vetor que contm valores das variveis e e a independentes e y das variveis dependentes, o comando plot(x,y ) a constri um grco x versus y no ambiente gure. o a Mais comandos para grcos a xlabel, ylabel, hold on, hold o ; axis, legend, grid on, grid o ; subplot, loglog, gure ; semilogx, semilogy, plotyy ; Vamos exercitar estes comandos no MATLAB!!!
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
clear; close all; clc X = 0:0.05:5; Y = exp(X); figure(1) plot(X,Y) figure(2) semilogx(X,Y) figure(3) semilogy(X,Y) figure(4) loglog(X,Y) figure(4) subplot(2,2,1), plot(X,Y,'b ') subplot(2,2,2), semilogx(X,Y,'ro') subplot(2,2,3:4), semilogy(X,Y,'mx')
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Grcos tridimensionais a
Diagramas em linha Para a construo de diagramas tridimensionais em linha o comando ca e plot3. Todas as propriedades do plot so preservadas para este comando. a Comando: plot3(x,y ,z) Diagramas de superf cie, malha e curva de n vel Alm de construir diagramas em linha, no MATLAB poss criar e e vel diagramas de superf cie, malha e curvas de n veis. Os comandos so: a mesh(x,y ,z), surf(x,y ,z), contour(x,y ,z). Funo ca mesh(x,y ,z) surf(x,y ,z) contour(x,y ,z) Descrio ca Cria um diagrama de malhas com as matrizes x, y e z. Cria um diagrama de superf com as matrizes cie x, y e z. Cria curvas de n veis de uma dada superf cie.
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
clear; close all; clc [x,y]=meshgrid(2:0.1:2,2:0.1:2); z=sqrt(9x.2y.2) figure(1) mesh(z) hold on z1=sqrt(9x.2y.2) mesh(z1) figure(2) surf(z) figure(3) contour(z) figure(4) sphere(20) figure(5) [X,Y,Z] = sphere(20) r = 2; surf(r*X,r*Y,r*Z)
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Lei dos gases ideais Construa duas curvas para o volume V versus a presso P de um gs a a ideal para as temperaturas T = 273 K e T = 373 K. A faixa de presso 1 a 1000 kPa. Colocar, t a e tulo, legenda, eixos, mudar a cor das curvas, alm disso as duas curvas devem estar em um mesmo e ambiente figure. Os dados do problema so: a Lei dos gases ideais PV = nRT n = 1 gmol R = 8, 314 L.kPa/(gmol.K) Equao de van der Waals ca Vamos criar um script para elaborar uma superf PVT usando a cie equao de estado cbica de Van der Waals. Utilizemos os mesmos ca u dados do script vanderwaals.m.
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Estimao de Parmetros ca a
Entrada de dados Calcule os coecientes angular e linear de uma reta, utilizando m nimos quadrados que melhor se ajuste ao conjunto de dados. Trace o grco a com os pontos e a reta ajustada. x = [0, 2, 4, 8, 16, 32, 64] y = [0, 1, 2, 3, 4, 5, 6] a= (xy ) y (x 2 ) x (x) e b = y ax (x)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Estimao de Parmetros ca a
Entrada de dados Calcule os coecientes angular e linear de uma reta, utilizando m nimos quadrados que melhor se ajuste ao conjunto de dados. Trace o grco a com os pontos e a reta ajustada. x = [0, 2, 4, 8, 16, 32, 64] y = [0, 1, 2, 3, 4, 5, 6] a= (xy ) y (x 2 ) x (x) e b = y ax (x)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Comandos simples
Sa de dados da
disp('Mensagem de saida'), disp(x, y); disp('minha resposta',num2str(ww)). plot(x,y); fprintf('O valor de x %6.2f, y = %4.3f', x, y).
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
comandos fopen/fscanf
[fid, msg] = fopen('nome arq.txt','r'); [data, quant] = fscanf(fid,'%f', [n m]); status = fclose(fid);
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
comandos fopen/fscanf
[fid, msg] = fopen('nome arq.txt','r'); [data, quant] = fscanf(fid,'%f', [n m]); status = fclose(fid);
comando fopen/fprintf
[fid, msg] = fopen('arq.txt','w'); fprintf(fid,'formato /n',variavel); status = fclose(fid);
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Planilha eletrnica o
comando xlsread
[A B] = xlsread('arquivo.xls');
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Planilha eletrnica o
comando xlsread
[A B] = xlsread('arquivo.xls');
comando xlswrite
xlswrite('arquivo.xls',variavel);
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Comando save
Sintaxe do comando save save arquivo [variveis] [opes]. a co [variveis] usado para especicar algumas variveis do programa; a e a caso no seja especicada nenhuma varivel, o MATLAB salva todas a a as variveis. a [opes] geralmente em dois formatos: -mat, -ascii; caso no seja co a especicada nenhuma opo, o MATLAB salva as variveis no ca a formato .mat.
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Exerc cio
Equao de Antoine ca Vamos calcular a presso de vapor de vrias substncias utilizando a a a a equao de Antoine, a partir de uma banco de dados em formatos .xls e ca .txt. A equao de Antoine ca e logP = A B , T +C
as constantes A, B e C, bem como as substncias esto contidas no a a banco de dados. A temperatura T 60 C. e Construir um tabela com cada substncia e sua respectiva presso de a a vapor atravs do comando fprintf. Usar tambm os comandos de sa e e da: disp, save, fopen, xlswrite.
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
3 4 5
function [out1, out2,..] = fname(arg1, arg2, ..) % H1: Comentarios: descrever o objetivo da funcao em no ... maximo uma linha (lookfor) % Mais comentarios: resumo detalhado da funcao (help) ... (Codigo executavel)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Problemas propostos
Coordenadas polares/retangulares Construir e testar funes que transformem coordenadas retangulares em co polares (funo 1) e o inverso (funo 2). As equaes so: ca ca co a x y r = = = r cos() r sen()
x2 + y2 y = tg 1 x
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Toolbox Simblicos o
Symbolic Math Toolbox A toolbox Symbolic Math um conjunto de ferramentas do e MATLAB que focado na resoluo algbrica de problemas, ou seja, e ca e resolver algebricamente problemas do tipo: x cos(x)dx lim 1+ 1 n
n
x 2 + 5x 6
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Toolbox Simblicos o
Symbolic Math Toolbox A toolbox Symbolic Math um conjunto de ferramentas do e MATLAB que focado na resoluo algbrica de problemas, ou seja, e ca e resolver algebricamente problemas do tipo: x cos(x)dx lim 1+ 1 n
n
x 2 + 5x 6
Para comear a usar a toolbox Symbolic Math deve-se declarar as c variveis como simblicas: a o
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Toolbox Simblicos o
Symbolic Math Toolbox A toolbox Symbolic Math um conjunto de ferramentas do e MATLAB que focado na resoluo algbrica de problemas, ou seja, e ca e resolver algebricamente problemas do tipo: x cos(x)dx lim 1+ 1 n
n
x 2 + 5x 6
Para comear a usar a toolbox Symbolic Math deve-se declarar as c variveis como simblicas: a o
syms var1 var2 var3 var4 ...
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operaoes de funo c ca
Operaoes bsicas c a
f = x2 + exp(y) 5 = 4*x2 5*x + cos(y) 8 h = f + g
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operaoes de funo c ca
Operaoes bsicas c a
f = x2 + exp(y) 5 = 4*x2 5*x + cos(y) 8 h = f + g
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operao do Limite ca
Limit
limit(F,x,n) ou limit(F,n) ou limit(F):
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operao do Limite ca
Limit
limit(F,x,n) ou limit(F,n) ou limit(F):
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Operao do Limite ca
Limit
limit(F,x,n) ou limit(F,n) ou limit(F):
especicando-se uma direo para o MATLAB calcular o limite; ca Exemplos: Assumindo: syms x a h
limit(sin(x)/x) - Resp: 1 limit(1/x,x,0,'right') - Resp: inf limit(1/x,x,0,'left') - Resp: -inf limit((sin(x+h)sin(x))/h,h,0) - Resp: cos(x) v = [(1 + a/x)x, exp(x)];limit(v,x,inf,'left') -
Resp: [exp(a), 0]
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a derivada da funo simblica F univarivel. Ao se ca o a adicionar o nmero n indica-se ` subrotina que se quer calcular a u a n-sima derivada da funo F. e ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a derivada da funo simblica F univarivel. Ao se ca o a adicionar o nmero n indica-se ` subrotina que se quer calcular a u a n-sima derivada da funo F. e ca
diff(F,v) ou diff(F,v,n)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a derivada da funo simblica F univarivel. Ao se ca o a adicionar o nmero n indica-se ` subrotina que se quer calcular a u a n-sima derivada da funo F. e ca
diff(F,v) ou diff(F,v,n)
Calcula a derivada da funo simblica F multivarivel em relao a ca o a ca varivel v. a Exemplos: Assumindo: syms x t
diff(sin(x2)) - Resp: 2*cos(x2)*x diff(t6,6) - Resp: 720 diff(x*t+x2,x) - Resp: t+2*x diff(x*t+x2,t) - Resp: x
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a integral indenida da funo simblica F univarivel. Ao se ca o a adicionar os limites a e b indica-se os limites da integral denida.
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a integral indenida da funo simblica F univarivel. Ao se ca o a adicionar os limites a e b indica-se os limites da integral denida.
int(F,v) ou int(F,v,n)
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Calcula a integral indenida da funo simblica F univarivel. Ao se ca o a adicionar os limites a e b indica-se os limites da integral denida.
int(F,v) ou int(F,v,n)
Calcula a integral da funo simblica F multivarivel em relao a ca o a ca varivel v. a Obs.: a e b podem ser nmeros ou funes simblicas. u co o Exemplos: Assumindo: syms alpha x t z
int(2*x/(1+x2)2) - Resp: 1/(1+x2) int(x/(1+z2),z) - Resp: x*atan(z) int(x*log(1+x),0,1) - Resp: 1/4 int(2*x, sin(t),1) - Resp: 1sin(t)2
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Substituindo Valores
subs
subs(F,old,new)
Substitui as variveis contidas em old pertencentes ` funo a a ca simblica F pelo valores numricos destas variveis contidas em new. o e a
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Substituindo Valores
subs
subs(F,old,new)
Substitui as variveis contidas em old pertencentes ` funo a a ca simblica F pelo valores numricos destas variveis contidas em new. o e a eval
eval(F
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Substituindo Valores
subs
subs(F,old,new)
Substitui as variveis contidas em old pertencentes ` funo a a ca simblica F pelo valores numricos destas variveis contidas em new. o e a eval
eval(F
Avalia o novo valor ou funo de F para os valores das variveis j ca a a pr-estabelecidos. e Exemplos: Assumindo: syms alpha x t z
subs(x2+5*x6,1) - Resp: 0 x=1;eval(x2+5*x6) - Resp: 0 subs(a+b,a,4) - Resp: 4+b
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Roteiro
1 2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Estrutura if/se Estrutura for/para faa c Estrutura while/faa enquanto c Funes no MATLAB co Construo de Grcos ca a Entrada/sa (input/output I/O) da Construo de funes ca co Simblicos o Clculo Numrico - Engenharia a e Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Reiner Requio, Eng. a Introduo ao MATLAB - Ferramentas para Engenharia - 2012 ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Equaoes Algbricas c e
Equao Algbrica ca e Resolver a seguinte equao: ca e/D 2.51 1 + 2 log + =0 3.7 f Re f
Dados: Rugosidade (e): 4, 572x105 ; Dimetro nominal (D): 0, 053m; a Nmero de Reynolds (Re): 336824, 31; u Estimativa inicial: 0.3164.Re 0.25
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Equao Algbrica ca e Resolver a seguinte equao: ca f1 (x, y ) = exp(0.2y )cos(x) 10 f2 (x, y ) = exp(0.2x)sin(y ) + 50;
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Equao diferencial ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Equao diferencial ca
Equao diferencial ordem superior ca Resolver a seguinte equao: ca dy =w A. dx Dados: E = 2e11 I = 1.2e-12 L=1 w=3 A = E*I Condio contorno: y (0) = 0, y (L) = 0, Dy (0) = 0, Dy (L) = 0 ca Utilizar a funo dsolve ca E se w depender de x? 0.1 exp(.x) varia de -2:1:2
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Sistema de equao algbrico-diferencial ca e Resolver a seguinte equao: ca dy1 4 = 0.04.y1 + 10 .y2 .y3 dt dy2 = 0.04.y1 104 .y2 .y3 3.107 .y2 dt y1 + y2 + y3 = 1 Dados: Condio inicial: t = 0 y1 = 1, y2 = 0 e y3 = 0 ca Utilizar a funo ode15s ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Interpolao ca
Interpolao ca Temos os seguintes pontos: x = [0, 1, 2, 4] y = [1, 0, 1, 2] Utilizar o comando interp1 - interpolao linear ca Utilizar o mtodo spline - interpolao linear e ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Integrao ca
Integrao ca Temos os seguintes pontos: x = [0, 1, 2, 4] y = [1, 0, 1, 2] Utilizar o comando trapz - interpolao pontos ca Temos os seguintes pontos: x = [0 : 0.1 : 2] 1 f (x) = 3 x 2.x 5 Utilizar o comando quad - interpolao pontos ca
Ambiente e operaes bsicas co a Estrutura de programao / Grcos ca a Funes no MATLAB co Clculo Numrico - Engenharia a e
Sistemas Equaes Algbricas co e Sistemas de Equaes Diferenciais co Sistemas de Equaes Algbrico-Diferenciais co e Interpolao / Integrao ca ca
Dvidas u
Contatos Reiner Requio a Enq. Qu mico - UFBA Mestrando em engenharia industrial email: reinereng@gmail.com www.condicaoinicial.com