Академический Документы
Профессиональный Документы
Культура Документы
Cronograma
Aula 1
Introduo
Histrico Interface (Janela, Botes) Arquitetura (Workspace, Toolbox, Funes) Funes de Ajuda (Helpdesk, Help, Lookfor) Funes (who, what, whos, clear) Demo
Cronograma
Aula 3
Vetores
Polinmios (razes, avaliao) Endereamento Funes de operao com vetores
Aula 4
Matrizes
Dimenses Funes de operao com Matrizes Sistemas Lineares Estruturas de Dados
Aula 2
Variveis
Diretrio de Trabalho Tipos de Arquivos Funes de Salvamento de Dados (save, diary, load) Funes Matemticas
Eng. Mrcio Ferreira Curso de Matlab 2
Curso de Matlab
Cronograma
Aula 5
Grficos
Grficos bidimensionais Grficos tridimensionais Funes de operao com grficos Efeitos Grficos
Cronograma
Aula 7
Arquivos .m
M-files Criao de funes debug
Aula 8
Anlise de Sinais
fft Ajuste de Curvas Interpolao
Aula 6
Controle de Fluxo
Operadores for end if elseif end
Aula 9
Anlise de Sinais
Excel LinkInterpolao Autocorrelao Excel Link Importao e exportao de ASCII
Curso de Matlab
Curso de Matlab
Cronograma
Aula 10
Interfaces Grficas
Apresentao do GUIDE Elaborao de interfaces
Login no Computador
Login nos computadores da Sala Braskem
username: curso password: dequi2006
Tpicos Especiais
Tpicos Especiais
Otimizao sem restries Otimizao com restries Programao Linear Programao Quadrtica Integrao Matemtica Simblica
Iniciar o Matlab
Programas Matlab Matlab 5.3
Curso de Matlab
Curso de Matlab
Aula 1 - Introduo
Histrico
MATLAB Laboratrio de Matrizes
1970 Universidade do Novo Mxico, baseado em rotinas de FORTRAN
Aula 1 - Introduo
Histrico
Funes de alto nvel (linguagem mais compreensvel) Anlise de dados Grficos Clculos Matemticos Modelagem e Simulao Aplicaes e Interfaces GUI
Curso de Matlab
Curso de Matlab
Aula 1 - Introduo
Histrico
Mais de 40 anos de pesquisa e desenvolvimento de funes matemticas, a partir do trabalho de centenas de cientistas de diferentes reas. Ao contrrio de linguagens clssicas como C e Fortran, no ambiente MATLAB o usurio no se preocupa com:
declarao de variveis, alocao de memria, utilizao de ponteiros outras tarefas de rotina.
Aula 1 - Introduo
Histrico
Campo gigantesco de aplicabilidade de recursos computacionais em reas fora da engenharia.
Medicina: Diagnstico de cncer de cordas vocais utilizando redes neurais. Anlise de cardiopatias atravs da anlise de freqncias, inteligncia artificial auxiliando nos diagnsticos... Biologia: Modelos de ciclos de vida de bactrias, ciclos de temperatura... Ed. Fsica: Anlise da mecnica dos movimentos, tratamento de dados, anlise de grficos de tendncias...
Curso de Matlab
10
Curso de Matlab
11
Aula 1 - Introduo
Interface
Barra Padro Barra de Ferramentas Linha de Comando
Aula 1 - Introduo
Arquitetura
Editor Simulink
Aula 1 - Introduo
Toolboxes
C:\Matlab\toolbox C:\ Matlab\
Data Acquisition Toolbox Ref. Ref. Financial Toolbox Frequency Domain Identification Toolbox GARCH Toolbox Image Processing Toolbox Ref. Ref. Neural Networks Toolbox Ref. Ref. Optimization Toolbox Ref. Ref. Partial Differential Equations (PDE) Signal Processing Toolbox Ref. Ref. Spline Toolbox Ref. Ref. Statistics Toolbox Ref. Ref. Symbolic Math Toolbox Ref. Ref. System Identification Toolbox Ref. Ref. Wavelet Toolbox Ref. Ref.
Aula 1 - Introduo
Funes de Ajuda
A AJUDA do MATLAB extremamente til e indispensvel no seu uso.
9% Programas e Executveis 36% Toolboxes e Funes 55% de Arquivos de Ajuda e Tutoriais
9%
EXE
As Toolboxes so diretrios que contm funes agrupadas por diferentes tipos ou objetivos.
(Anlogo a uma caixa de ferramentas)
Eng. Mrcio Ferreira
As Toolboxes permitem que voc se apoie nos ombros dos cientistas mais famosos do mundo em cada rea.
14
A ajuda do Matlab, bem como seus guias de referncia, so bastante completos e apresentam o contedo de forma didtica e compreensvel, atravs de exemplos prticos.
36%
Toolbox e Funes
Ajuda e Tutoriais
55%
Curso de Matlab
Curso de Matlab
15
Aula 1 - Introduo
Funes de Ajuda
helpdesk: Ajuda para todas as helpdesk funes do Matlab com exemplos. helpwin: Janela de ajuda parecida helpwin com helpdesk, s que mais rpida. helpdesk help: Ajuda para os tpicos help separados por assunto no workspace help <funo>: Ajuda para a <fun o> funo especificada. lookfor: Procura por uma funo lookfor: desconhecida
Eng. Mrcio Ferreira
Curso de Matlab
Aula 1 - Introduo
Funes de Ajuda
help sqrt help sqrt (Comando) (Comando)
m se se U U
aula01a.m
SQRT (Descrio da funo) (Descri SQRT Square root. Square root. root. (Descrio da fun funo) SQRT(X) is the square root of the elements of X. SQRT(X) is the square root of the elements of X. Complex Complex results are produced if X is not positive. results are produced if X is not positive. (Sintaxe da Funo) (Sintaxe da Fun Funo) See also SQRTM. See also SQRTM. Overloaded methods Overloaded methods help sym/sqrt.m help sym/ sqrt.m sym/sqrt.m
! !! p p! el h
16 Eng. Mrcio Ferreira
Curso de Matlab
o !! !! lp el he h
m em se U o o
17
Aula 1 - Introduo
Funes de Ajuda
helpdesk helpdesk
m s se U U o !! !! lp el he h
Aula 1 - Introduo
Variveis: Qualquer nome que guarda um valor ou nmero. num_students = 25
Maisculas so diferentes de minsculas No so permitidos espaos, acentos nem
A caixa de texto Go to Matlab Function permite a busca imediata da funo procurada, com exemplos, referncias e comentrios bastante completos sobre ela.
Nmeros: Valores representados no matlab com 16 dgitos significativos no intervalo de 1*10E-308 at 1*10E+308
Curso de Matlab
18
Curso de Matlab
19
Aula 1 - Introduo
lgebra
As principais funes matemticas so apresentadas na tabela a seguir:
Aula 1 - Introduo
lgebra
-5/(4.8+5.32)^2 -5/(4.8+5.32)^2 ans = ans = -0.0488 -0.0488 (3+4i)*(3-4i) (3+4i)*(3 (3+4i)*(3-4i) ans = ans = 25 25 cos(pi/2) cos(pi/2) ans = ans = 6.1230e-017 6.1230e6.1230e-017 exp(acos(0.3)) exp( acos(0.3)) exp(acos(0.3)) ans = ans = 3.5470 3.5470 a = 2; a = 2; b = 5; b = 5; a^b a^b ans = ans = 32 32 x = 5/2*pi; x = 5/2*pi; y = sin(x) y = sin(x) sin(x) y = y = 1 1 z = asin(y) z = asin(y) asin(y) z = z = 1.5708 1.5708
+ - Soma Diminuio / * Diviso Multiplicao ^ Potncia .* Multiplicao ponto a ponto ( ) Parnteses [ ] Colchetes {} Chaves . Ponto decimal ... Continuo de comando % Comentrio ' Transposta
Resultado atribudo a ans caso um nome no for especificado ; inibe exibio do resultado
Curso de Matlab
20
Curso de Matlab
21
Aula 1 - Introduo
lgebra
1+3 1+3 4/2 4/2 3*7-1 3*73*7-1 (4/3)/(5/2) (4/3)/(5/2) 2^2 2^2 clc clc 1-3/45.6 1-3/45.6 4/2^6 4/2^6 3*7-1/(45-3) 3*7- 1/(453*7-1/(45-3) (4/3)/(5/2) (4/3)/(5/2) a=1 a=1 b=2 b=2 a+b a+b 3*a 3*a c = a/b c = a/b c^b c^b d = (a+a)*b d = (a+a)*b d-b/2 d-b/2 c^b-68.6598 c^bc^b-68.6598 d = (a+b)^b d = (a+b)^b aula01c.m aula01d.m
Aula 1 - Introduo
lgebra
aula01e.m aula01f.m
ans : resposta mais recente. eps : preciso numrica corrente. Ex: 2.2204e-016. realmax : maior nmero real positivo. Ex:1.7977e+308. realmin : menor nmero real positivo.Ex:2.2251e-308. pi : 3.1415926535897.... i, j : parte imaginria de nmeros complexos. inf : infinito. Ex: 1 / 0. NaN : not a number. . . . : indica que o comando continua na prxima ; : no final da expresso inibe eco na tela, no meio da definio de matriz, delimitador de linha.
Curso de Matlab
22
Curso de Matlab
23
Aula 1 - Introduo
Demo
aula01b.m
Aula 1 - Introduo
Exerccios
type exercicios_01.txt type exercicios_01.txt
Leitura Complementar
C:\MATLABR11\help\pdf_doc\matlab\learningmatlab.pdf
Curso de Matlab
24
Curso de Matlab
25
Aula 2 - Variveis
Diretrio de Trabalho
aula02a.m
Aula 2 - Variveis
Tipos de Arquivos
Arquivos .m podem ser editados com o Editor ou qualquer editor de textos. Arquivos .mat so binrios e podem ser editados apenas com o Matlab.
o diretrio onde se encontram as funes que se deseja utilizar ou onde se deseja salvar as funes ou arquivos criados na sesso. SEMPRE DEFINA O DIRETRIO DE TRABALHO AO INCIAR DO USO DO MATLAB. cd E:\Temp : Torna o E:\ diretrio especificado o diretrio de trabalho. addpath : adiciona um ou mais diretrios lista de diretrios de trabalho.
pcode(funoqualquer.m) pcode( fun oqualquer.m Proteo de cdigo para arquivos .m. Evita edio e visualizao do cdigo.
26 Eng. Mrcio Ferreira
Curso de Matlab
Curso de Matlab
27
Aula 2 - Variveis
Funes de Verificao de Variveis
who: Lista as variveis who existentes no workspace whos: Alm de listar whos informa o tamanho e a classe what: Informa todos os what arquivos presentes no diretrio de trabalho clear all: Apaga as all variveis existentes no workspace.
Curso de Matlab
Aula 2 - Variveis
Funes de Salvamento de Dados
m se U
aula02b.m
save <nome> <var1> <var2>: Salva as variveis do <var2> workspace no arquivo nome.mat no diretrio de trabalho. load <nome>: Carrega as variveis salvas do arquivo <nome> nome.mat
diary: Salva todos os comandos digitados no Workspace diary em um arquivo de texto. diary off: Encerra a gravao dos comandos do off Workspace.
! !! p! el el h
Curso de Matlab
o ! !! p! p! el h
m m se se U U o o
28
29
Aula 2 - Variveis
Funes de Salvamento de Dados
cd d:\temp cd d:\ d:\temp a=1 a=1 b=2 b=2 whos whos save nome save nome clear all clear all whos whos load nome load nome whos whos
Curso de Matlab
Aula 2 - Variveis
Funes Matemticas
aula02d.m As principais funes matemticas so apresentadas na tabela a seguir: Trigonomtricas
sin, sinh Sine and hyperbolic sine cos, cosh Cosine and hyperbolic cosine tan, tanh Tangent and hyperbolic tangent abs Absolute Value sqrt Square root exp Exponential log Natural logarithm log2 Base 2 logarithm log10 Common (base 10) logarithm fix Round towards zero floor Round towards minus infinity round Round to nearest integer ceil Round toward infinity
Curso de Matlab
aula02c.m
m em se U U o o
Reais
Arredondamento
!! !! lp el h
30
31
Aula 2 - Variveis
Outras Funes
m se U
Aula 2 - Variveis
Exerccios
o o ! !! p! p! el h
Curso de Matlab
32
Curso de Matlab
33
Aula 3 Vetores
Polinmios
Os polinmios so definidos como vetores no matlab
X^2+2*x+3 => [1 2 3] X^5+3*x+1 => [1 0 0 0 3 1] X^6+1 => [6 0 0 0 0 0 1]
Aula 3 Vetores
Polinmios
aula03a.m
2 x2 + 3 x +1 3 x3 + x + 3
a = [2 3 1] a = [2 3 1] b = [3 0 1 3] b = [3 0 1 3] conv(a,b) conv(a,b) conv(a,b) d = polyder(a) d = polyder(a) polyder(a) d = polyval(a,2) d = polyval(a,2) polyval(a,2) e = roots(a) roots(a) e = roots(a)
Curso de Matlab
34
Curso de Matlab
35
Aula 3 Vetores
Endereamento
Exemplo 1 A = [1 3 6 9 12] A(1) [1] A(4) [9] A(1:3) [1 3 6] A(:) [1 3 6 9 12]
Eng. Mrcio Ferreira
Aula 3 Vetores
Endereamento
A = 1:.1:10 Cria um vetor iniciando em 1 e terminando em 10 com incremento de 0.1 unidade A [1 1.1 1.2 1.3 ...9.8 9.9 10] Exemplo 4 - Vetores com espaamento constante A = 1:10 A [1 2 3 4 5 6 7 8 9 10]
aula03c.m
aula03b.m
Exemplo 2 B = [10 15 20 25 30 35] B(3:end) B(3:end) [20 25 30 35] B(end) B(end) [35] B(end-1:end) B(end-1:end) [30 35] B(size(B,2)-3) B(size(B,2)[20]
Curso de Matlab
36
Curso de Matlab
37
Aula 3 Vetores
aula03f.m Funes de Operao com Vetores cumprod Cumulative product cumsum Cumulative sum max Maximum elements of an array mean Average or mean value of arrays median Median value of arrays min Minimum elements of an array prod Product of array elements sort Sort elements in ascending order std Standard deviation sum Sum of array elements var Variance corrcoef Correlation coefficients cov Covariance matrix conv Convolution and polynomial multiplication conv2 Two-dimensional convolution Transposto
m m se se U U o o ! !! p! el el h
Eng. Mrcio Ferreira
Curso de Matlab
Aula 3 Vetores
Funes de Operao com Vetores
B = [10 15 20 25 30 35] B = [10 15 20 25 30 35] m = max(B) m = max(B) max(B) mean(B) mean(B) mean(B) soma = sum(B) soma = sum(B) sum(B) varincia = var(B) varincia = var(B) d = [1.5 9.8 45 0.147 25.6] d = [1.5 9.8 45 0.147 25.6] cresce = sort(d) cresce = sort(d) sort(d) aula03d.m
38
Curso de Matlab
39
Aula 3 Vetores
Concatenao de Vetores
B = [10 15 20 25 30 35] B = [10 15 20 25 30 35] K = [1 2 3] K = [1 2 3] M = [B K] M = [B K] N = [K B] N = [K B] % Vetores Coluna % Vetores Coluna P = [10; 15; 20; 25; 30; 35] P = [10; 15; 20; 25; 30; 35] J = [1; 2; 3] J = [1; 2; 3] W = [B; K] W = [B; K] Z = [K; B] Z = [K; B] aula03e.m
Aula 3 Vetores
Exerccios
Curso de Matlab
40
Curso de Matlab
41
Aula 4 Matrizes
Dimenses
Uma Matriz no Matlab sempre da forma:
A = [a11 a12 a13 a14; a21 a22 a23 a24 ] O ; separa as linhas da matriz A = [1 2 3 4; 5 6 7 8; 9 10 11 12] A(1,1) [1] A(1:3,1:2) [1 2 ;5 6; 9 10] A(:,2) [2; 6; 10] aula04a.m
Aula 4 Matrizes
Dimenses
1 2
1
3
6
4
11
5
16
A=
1 2 3 4
4 8 7.2 0 23
10
1 9 7 4
6 4 1 5 0
21
1.2 7 5
8
12
17
25 22 11
23
13
18
0.5 9
14
19
56 24 10 25
A([4,5],[2,3]) A([9 14;10 15])
A(3,1) A(3)
83 10 13 15
20
(:) especifica TODOS elementos end especifica o valor de ndice mximo end
Curso de Matlab
42
Curso de Matlab
43
Aula 4 Matrizes
Funes de Operao com Matrizes
aula04e.m
Aula 4 Matrizes
Funes de Operao com Matrizes
A = [1 2 3 4; 5 6 7 8; 9 10 11 12] A = [1 2 3 4; 5 6 7 8; 9 10 11 12] dim = size(A) dim = size(A) size(A) diagonal = diag(A) diagonal = diag(A) diag(A) aleatorios = randn(10,10) aleatorios = randn(10,10) randn(10,10) find(A>5) find(A>5) find(A>5) A(k) A(k) aula04b.m
eye Identity matrix find Localizao de valores em Matrizes ou vetores linspace Generate linearly spaced vectors logspace Generate logarithmically spaced vectors ones Create an array of all ones randn Normally distributed random numbers and arrays size Dimenso de Vetores ou Matrizes zeros Create an array of all zeros : (colon) Regularly spaced vector cat Concatenate arrays diag Diagonal matrices and diagonals of a matrix
m s se U U o
! !! !! lp el he h
Curso de Matlab
44
Curso de Matlab
45
Aula 4 Matrizes
Funes de Operao com Matrizes
Multiplicao matricial e multiplicao ponto a ponto
Aula 4 Matrizes
Concatenao de Matrizes A = [1 2 A = [1 2 B = [10; B = [10; C = [40; C = [40; 3;4 5 6;7 8 9] 3;4 5 6;7 8 9] 20; 30] 20; 30] 50; 60] 50; 60]
a=[1 a=[1 b1 = b1 =
b2 = a.*a b2 = a.*a
Curso de Matlab
Curso de Matlab
47
Aula 4 Matrizes
Sistemas Lineares
Resoluo de Sistemas de Equaes
aula04c.m
Aula 4 Matrizes
Sistemas Lineares
Resoluo de Sistemas de Equaes
-1 banana + 1 limo + 2 laranjas = R$ 2,00 3 bananas - 1 limo + 1 laranja = R$ 6,00 -1 banana + 3 limes + 4laranjas = R$ 4,00
A* X = B X = A 1 * B
a3 x b1 a6 * y = b2 a9 z b3
a1 * x + a2 * y + a3 * z = b1 a4 * x + a5 * y + a6 * z = b2 a7 * x + a8 * y + a9 * z = b3
a1 a 4 a7
a2 a5 a8
x + 3 y+ = 1 5 x + 2 y = 2
Eng. Mrcio Ferreira
Curso de Matlab
A = [-1 1 2; 3 -1 1;-1 3 4]; A = [[-1 1 2; 3 -1 1;1;-1 3 4]; B = [2;6;4]; B = [2;6;4]; x = A\B x = A\ A\B x = x = 1.0000 1.0000 -1.0000 -1.0000 2.0000 2.0000
Curso de Matlab Preo da banana Preo do Limo Preo da Laranja
48
49
Aula 4 Matrizes
Estruturas
Varivel: Marcio
Marcio.sobrenome = 'Ferreira' Marcio.sobrenome = 'Ferreira' Marcio.idade = 28 Marcio.idade = 28 aula04d.m
Aula 4 Matrizes
Workspace Browser
Marcio.peso = 101 Marcio.peso = 101 Marcio.altura = 1.94 Marcio.altura = 1.94 indice = Marcio.peso / (Marcio.altura^2) indice = Marcio.peso / (Marcio.altura^2) Varivel utilizada para armazenar variveis de tipos diferentes de uma forma estruturada. Utilizada por exemplo em Banco de dados com fcil acesso s informaes.
Curso de Matlab Curso de Matlab
O editor de variveis do Matlab um bom recurso para aprender sobre dimenso e indexao de matrizes e vetores.
50
51
Aula 4 Matrizes
Exerccios Grficos Bidimensionais
Aula 5 Grficos
Especificar: x-data e/ou y-data Especificar: cor, estilo de linha e smbolo marcador Sintaxe para grfico com uma curva:
plot(xdata, ydata, 'color_linestyle_marker') plot( xdata, ydata, 'color_linestyle_marker') plot(xdata, ydata, 'color_linestyle_marker')
Curso de Matlab
52
Curso de Matlab
53
Aula 5 Grficos
Grficos Bidimensionais
Color y (yellow) m (magenta) c (cyan) r (red) g (green) b (blue) w (white) k (black) Line Style - (solid) : (dotted) -. (dashdot) -- (dashed) Marker . (point) o (circle) x (x-mark) + (plus) * (star) s (square) d (diamond) h (hexagram) p (pentagram) v (triangle down) > (triangle right) < (triangle left) ^ (triangle up)
Aula 5 Grficos
Grficos Bidimensionais
x = [1:.1:10]; x = [1:.1:10]; y = sin(x); y = sin(x); sin(x); figure(1) figure(1) plot(x,y) plot(x,y) plot(x,y) figure(15) figure(15) aula05a.m
plot(x,y,r); plot(x,y, plot(x,y,r); plot(x,y,k:); plot(x,y, k: plot(x,y,k:); plot(x,y,g*); plot(x,y, g* plot(x,y,g*); plot(x,y,mp); plot(x,y, mp plot(x,y,mp);
Curso de Matlab
bar(y) bar(y) bar(y) dado = [10 50 40] dado = [10 50 40] figure(3) figure(3) pie(dado) pie(dado) pie(dado)
figure cria uma nova figura em branco, com handle especificado, para plotar o grfico.
54 Eng. Mrcio Ferreira
Curso de Matlab
Se figure no for especificado, as figuras criadas possuem handle 1, 2, 3 e assim por diante.
55
Aula 5 Grficos
Grficos Bidimensionais
subplot
aula05b.m subplot(2,2,1); subplot(2,2,1); subplot(2,2,1); plot(1:10) plot(1:10) plot(1:10) subplot(2,2,2) subplot(2,2,2) subplot(2,2,2) x = 0:.1:2*pi; x = 0:.1:2*pi; plot(x,sin(x)) plot(x,sin(x)) plot(x,sin(x)) subplot(2,2,3) subplot(2,2,3) subplot(2,2,3) x = 0:.1:2*pi; x = 0:.1:2*pi; plot(x,exp(-x),'r') plot(x,exp( x),' plot(x,exp(-x),'r') subplot(2,2,4) subplot(2,2,4) subplot(2,2,4) plot(peaks) plot( peaks) plot(peaks)
Eng. Mrcio Ferreira
Curso de Matlab
Aula 5 Grficos
Grficos Bidimensionais
cone para liberar edio da tela do Grfico cone para inserir texto no grfico
Funes de zoom Clicando duas vezes na rea do grfico, aps liber-lo para edio, a janela de edio apresentada
56
57
Aula 5 Grficos
Grficos Bidimensionais
hold on ativa a preservao da figura hold off desativa a preservao da figura
x = 0:.1:2*pi; x = 0:.1:2*pi; y = sin(x); y = sin(x); sin(x); plot(x,y,'b') plot(x,y,'b') plot(x,y,'b') grid on grid on hold on hold on plot(x,exp(-x),'r:*') plot(x,exp( plot(x,exp(-x),'r:*') aula05c.m
Aula 5 Grficos
Grficos Bidimensionais
bar Vertical bar chart barh Horizontal bar chart hist Plot histograms hold Hold current graph loglog Plot using log-log scales pie Pie plot plot Plot vectors or matrices. plotyy Grfico com duas escalas polar Polar coordinate plot semilogx Semi-log scale plot semilogy Semi-log scale plot subplot Create axes in tiled positions aula05i.m
m m se se U U o o ! !! p! el el h
Curso de Matlab
58
Curso de Matlab
59
Aula 5 Grficos
Exerccio
1. Criar cos(10pt) e sin(10pt) para t = {0,0.5}, com cos() em linha verde slida; sin() em linha preta pontilhada com marcadores quadrados. 2. Legenda X Tempo(seg), legenda Y Resultado, e ttulo Ondas de Transmisso 3. Texto descritivo da curva cos() - Em fase. 4. Texto descritivo da curva sin() - Quadratura 5. Eixo Y deve ser {-1.5,2}
Aula 5 Grficos
Exerccio
aula05d.m
t = 0:.01:.5; t = 0:.01:.5; plot(t,cos(10*pi*t),'g', t,sin(10*pi*t),'k:square'); plot(t,cos(10*pi*t),'g', t,sin(10*pi*t),'k:square'); plot(t,cos(10*pi*t),'g', t,sin(10*pi*t),'k:square'); title('Ondas de Transmisso'); title('Ondas de Transmisso'); title('Ondas xlabel('Tempo(Seg)'); xlabel('Tempo(Seg)'); xlabel('Tempo(Seg)'); ylabel('Resultado'); ylabel('Resultado'); ylabel('Resultado'); gtext('Em Fase'); gtext('Em Fase'); gtext('Em gtext('Quadratura'); gtext('Quadratura'); gtext('Quadratura'); axis([0 0.5 -1.5 2]); axis([0 0.5 -1.5 2]); axis([0
60
Curso de Matlab
61
Aula 5 Grficos
Configurao das opes de plotagem
aula05d.m dica.m title ('PID','FontSize',14,'FontWeight','bold'); title ('PID','FontSize',14,'FontWeight','bold'); ('PID','FontSize',14,'FontWeight','bold'); xlabel ('Tempo','FontSize',12,'FontWeight','bold'); ('Tempo','FontSize',12,'FontWeight','bold'); xlabel ('Tempo','FontSize',12,'FontWeight','bold'); ylabel ('SP & Nvel','FontSize',12,'FontWeight','bold'); ylabel ('SP & N vel','FontSize',12,'FontWeight','bold'); Nvel','FontSize',12,'FontWeight','bold'); axis([0 t(end) 0 25]); axis([0 t(end) 0 25]); axis([0 t(end) set(gca,'FontSize',12,'FontWeight','bold') set(gca,'FontSize',12,'FontWeight','bold') set(gca,'FontSize',12,'FontWeight','bold')
Aula 5 Grficos
Salvamento de figuras para inserir em documentos .doc ou outros
aula05d.m
m em se U U o o !! !! lp el h
Os parmetros Fontsize e FontWeight utilizados nos comandos acima formatam o estilo da fonte utilizada no grfico. O parmetro LineWidth, utilizado no comando plot, faz as plot linhas ficarem mais largas (veja exemplo aula05d).
Eng. Mrcio Ferreira
Curso de Matlab
63
Aula 5 Grficos
Grficos Tridimensionais
bar3h Horizontal 3-D bar chart comet3 3-D comet plot plot3 Plot lines and points in 3-D space waterfall Waterfall plot contour Contour (level curves) plot meshc Combination mesh/contourplot mesh 3-D mesh with reference plane surf 3-D shaded surface graph surfc Combination surf/contourplot surfl 3-D shaded surface with lighting aula05j.m
Aula 5 Grficos
Grficos Tridimensionais
[X,Y] = meshgrid(-2:.2:2, -2:.2:2); [X,Y] = meshgrid( meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.^2 - Y.^2); Z = X .* exp( exp(-X.^2 - Y.^2); meshc(Z) meshc(Z) meshc(Z) surf(Z) surf(Z) t = 0:pi/50:10*pi; t = 0:pi/50:10*pi; 0:pi/50:10*pi; plot3(sin(t),cos(t),t); plot3(sin(t),cos(t),t); plot3(sin(t),cos(t),t); aula05e.m
m se U o o ! !! p! p! el h
Curso de Matlab
64
Curso de Matlab
65
Aula 5 Grficos
Grficos Tridimensionais
mesh
x=-8:0.5:8; x=x=-8:0.5:8; y=x; y=x; [X,Y]=meshgrid(x,y); [X,Y]=meshgrid(x,y); [X,Y]=meshgrid(x,y); R=sqrt(X.^2 + Y.^2)+eps; R=sqrt(X.^2 + Y.^2)+eps; R=sqrt(X.^2 Y.^2)+eps; Z=sin(R)./R; Z=sin(R)./R; Z=sin(R)./R; mesh(X,Y,Z) mesh(X,Y,Z) mesh(X,Y,Z) aula05f.m
Aula 5 Grficos
Grficos Tridimensionais
surf
x=-8:0.5:8; x=x=-8:0.5:8; y=x; y=x; [X,Y]=meshgrid(x,y); [X,Y]=meshgrid(x,y); [X,Y]=meshgrid(x,y); R=sqrt(X.^2 + Y.^2)+eps; R=sqrt(X.^2 + Y.^2)+eps; R=sqrt(X.^2 Y.^2)+eps; Z=sin(R)./R; Z=sin(R)./R; Z=sin(R)./R; surf(X,Y,Z) surf(X,Y,Z) shading interp shading interp colorbar colorbar aula05f.m
66
Curso de Matlab
67
Aula 5 Grficos
Efeitos Grficos
clabel Add contour labels to a contour plot grid Grid lines for 2-D and 3-D plots ginput Copia local do clique com o mouse para o workspace gtext Insero com o mouse do texto na figura legend Graph legend for lines and patches title Titles for 2-D and 3-D plots xlabel X-axis labels for 2-D and 3-D plots ylabel Y-axis labels for 2-D and 3-D plots zlabel Z-axis labels for 3-D plots errorbar Plot graph with error bars pareto Pareto char scatter Scatter plot scatter3 3-D scatter plot polyarea Area of polygon
m m se se U U o o ! !! p! el el h
Aula 5 Grficos
Efeitos Grficos Grficos comerciais
Outros tipos
Curso de Matlab
68
Curso de Matlab
69
Aula 5 Grficos
Efeitos Grficos
%% Isosurface, isocaps, coneplot, and streamlines of wind data Isosurface, isocaps, coneplot, and streamlines of wind data load wind load wind spd == sqrt(u.*u ++ v.*v ++ w.*w); spd sqrt(u.*u v.*v w.*w); pp == patch(isosurface(x,y,z,spd, 40)); patch(isosurface(x,y,z,spd, 40)); isonormals(x,y,z,spd, p) isonormals(x,y,z,spd, p) set(p, 'FaceColor', 'red', 'EdgeColor', 'none'); set(p, 'FaceColor', 'red', 'EdgeColor', 'none'); p2 == patch(isocaps(x,y,z,spd, 40)); p2 patch(isocaps(x,y,z,spd, 40)); set(p2, 'FaceColor', 'interp', 'EdgeColor', 'none') set(p2, 'FaceColor', 'interp', 'EdgeColor', 'none') daspect([1 11 1]); daspect([1 1]); [f verts] == reducepatch(isosurface(x,y,z,spd, 30), .2); [f verts] reducepatch(isosurface(x,y,z,spd, 30), .2); h=coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),2); h=coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),2); set(h, 'FaceColor', 'cyan', 'EdgeColor', 'none'); set(h, 'FaceColor', 'cyan', 'EdgeColor', 'none'); [sx sy sz] == meshgrid(80, 20:10:50, 0:5:15); [sx sy sz] meshgrid(80, 20:10:50, 0:5:15); h2=streamline(x,y,z,u,v,w,sx,sy,sz); h2=streamline(x,y,z,u,v,w,sx,sy,sz); set(h2, 'Color', [.4 11 .4]); set(h2, 'Color', [.4 .4]); axis tight; box on axis tight; box on camproj perspective; camva(24); camproj perspective; camva(24); campos([165 -20 65]); camtarget([100 40 -5]) campos([165 -20 65]); camtarget([100 40 -5]) camlight left; lighting phong camlight left; lighting phong colormap(jet) colormap(jet) Curso de Matlab
Aula 5 Grficos
Efeitos Grficos
ginput: captura o ponto de clique do mouse na figura e exibe no workspace (depois de selecionar os pontos clique enter).
x = [1:.1:100] x = [1:.1:100] y = x.^2 y = x.^2 plot(x,y) plot(x,y) plot(x,y) legend('Nome da linha') legend('Nome da linha') legend('Nome xlabel('Nome do eixo X') xlabel('Nome do eixo X') xlabel('Nome ginput ginput aula05h.m
aula05g.m
70
Curso de Matlab
71
Aula 5 Grficos
Exerccios
type exercicios_05.txt type exercicios_05.txt
aula06a.m
As expresses retornam verdadeiro ou falso para as comparaes realizadas. 1 significa verdadeiro 0 significa falso
Leitura Complementar
C:\MATLABR11\help\pdf_doc\matlab\graphg.pdf C:\MATLABR11\help\techdoc\plotedit.chm
1 1 1 0
73
Curso de Matlab
72
Curso de Matlab
74
Curso de Matlab
75
Aula 7 Arquivos .m
M-files so arquivos de texto com sequncias de comandos do Matlab que sero avaliadas ao executar o arquivo no workspace.
Curso de Matlab
76
Curso de Matlab
77
Aula 7 Arquivos .m
m-files Criao de Funes
Keyword: function
Aula 7 Arquivos .m
media.m Nome da funo (mesmo nome do m-file) Argumento(s) de entrada
Argumento(s) de sada function [y] = mean (x) function [y] = mean (x) % MEAN Average or mean value. % MEAN Average or mean value. edit edit Texto de Help On-Line
% For vectors, MEAN(x) returns the mean value. % For vectors, MEAN(x) returns the mean value. % For matrices, MEAN(x) is a row vector % For matrices, MEAN(x) is a row vector % containing the mean value of each column. % containing the mean value of each column. [m,n] = size(x); [m,n] = size(x);
Cdigo da funo
Curso de Matlab
78
Curso de Matlab
79
Aula 7 Arquivos .m
Criao de Funes
cabecalho.m cabecalho.m
Aula 7 Arquivos .m
Criao de Funes
% Funo para clculo da mdia % Funo para clculo da mdia % Sintaxe: % Sintaxe: % [m] = media(dados) % [m] = media(dados) % Entradas: Dados = vetor % Entradas: Dados = vetor % Sadas: m = mdia % Sadas: m = mdia % $Revision: 1.00 $ $Date: 01/07/2006 % $Revision: 1.00 $ $Date: 01/07/2006 function m = media(dados) function m = media(dados) m = sum(dados)/size(dados,2) m = sum(dados)/size(dados,2)
dados
%About: %% Cabealho padro para arquivos .m. Aqui vai aa descrio da ajuda. %About: Cabealho padro para arquivos .m. Aqui vai descrio da ajuda. %Syntax: [x,y] == padro(k) %Syntax: [x,y] padro(k) %Inputs: %Inputs: %% k:entrada k:entrada
%Outputs: %Outputs: %% x:sada 11 y:sada 22 x:sada y:sada %---------------------------------------------------------------------%---------------------------------------------------------------------%---------------------------------------------------------------------%---------------------------------------------------------------------%% Copyright (c) 2005 by LACIP-DEQUI-UFRGS <<http://www.enq.ufrgs.br>> Copyright (c) 2005 by LACIP-DEQUI-UFRGS <<http://www.enq.ufrgs.br>> %% Author: Marcio Ferreira E-Mail: marf@enq.ufrgs.br Author: Marcio Ferreira E-Mail: marf@enq.ufrgs.br %% $Revision: 1.00 $$ $Date: 15/02/2005 19:28:39 $$ $Revision: 1.00 $Date: 15/02/2005 19:28:39
media.m
%---------------------------------------------------------------------%---------------------------------------------------------------------function [x,y] == padro(k) function [x,y] padro(k) xx == k*2; k*2; yy == 2*x; 2*x;
mdia
Curso de Matlab
80
Curso de Matlab
81
Aula 7 Arquivos .m
Criao de Funes
% Funo para clculo da mdia % Funo para clculo da mdia % e desvio padro % e desvio padro % Sintaxe: % Sintaxe: % [m, s] = medesv(dados) % [m, s] = medesv(dados) % Entradas: Dados = vetor % Entradas: Dados = vetor % Sadas: m = mdia; s = desvio padro % Sadas: m = mdia; s = desvio padro % $Revision: 1.00 $ $Date: 01/07/2006 % $Revision: 1.00 $ $Date: 01/07/2006 function [m, s] = medesv(dados) function [m, s] = medesv(dados) m = sum(dados)/size(dados,2) m = sum(dados)/size(dados,2) s = std(dados) s = std(dados)
Curso de Matlab
Aula 7 Arquivos .m
Criao de Funes
escolha.m
mdesv.m mdesv.m
dados
% Funo sem argumentos para teste do comando menu % Funo sem argumentos para teste do comando menu function escolha function escolha k = menu('Choose a k = menu('Choose a color','Vermelho','Verde','Azul') color','Vermelho','Verde','Azul') if k==1 if k==1 disp('A cor Vermelho') disp('A cor Vermelho') elseif k == 2 elseif k == 2 disp('A cor Verde') disp('A cor Verde')
medesv.m
Mdia e desvio
elseif k == 2 elseif k == 2 disp('A cor Azul') disp('A cor Azul') end end
82 Eng. Mrcio Ferreira
Curso de Matlab
83
Aula 7 Arquivos .m
Criao de Funes Criao de Funes
Aula 7 Arquivos .m
converte.m
Escreva um arquivo script M-File que: Converta temperatura em Fahrenheit para Celsius
function celsius = converte(faren) function celsius = converte(faren) converte(faren) O argumento O argumento de entrada de sada o utilizado no clculo celsius = (5/9)*(faren-32); (5/9)*(farencelsius = (5/9)*(faren-32); calculado disp(['A temperatura em Celsius : ' disp(['A temperatura em Celsius : ' disp(['A num2str(celsius)]); num2str(celsius)]); num2str(celsius)]);
5 TC = *(TF 32) 9
Curso de Matlab
84
Curso de Matlab
85
Aula 7 Arquivos .m
Criao de Funes
x = rand(100,10); x = rand(100,10); for i = 1:size(x,2) for i = 1:size(x,2) figure(i) figure(i) plot(x(:,i),'k:square','LineWidth',2); plot(x(:,i),'k:square','LineWidth',2); title ('Senos','FontSize',14,'FontWeight','bold'); title ('Senos','FontSize',14,'FontWeight','bold'); xlabel ('Tempo','FontSize',12,'FontWeight','bold'); xlabel ('Tempo','FontSize',12,'FontWeight','bold'); ylabel ('Senos','FontSize',12,'FontWeight','bold'); ylabel ('Senos','FontSize',12,'FontWeight','bold'); set(gca,'FontSize',12,'FontWeight','bold') set(gca,'FontSize',12,'FontWeight','bold') saveas(gcf, [num2str(i) '.bmp']) saveas(gcf, [num2str(i) '.bmp']) end end
Curso de Matlab
h1.m m2.m n3.m u4.m f1.m f2.m f3.m f4.m
Aula 7 Arquivos .m
Funes, Toolboxes e Interfaces
dica.m
g1.m
h2.m
i3.m
j4.m
Meu_Toolbox Minha_Interface
A criao de Toolboxes e Interfaces, com as Funes definidas pelo usurio, permitem a documentao e transferncia de conhecimento, de forma padronizada, para outros grupos ou pessoas.
Curso de Matlab
87
Aula 7 Arquivos .m
Exerccios
Curso de Matlab
88
Curso de Matlab
89
FIR digital filter demo (Java 1.02 version) Filtragem de Sinais (Filtro Dolby) Filtro Passa Banda Fita Cassete Filtrar Rudo de Alta Freqncia
Curso de Matlab
90
Curso de Matlab
91
aula08c.m
Curve Fitting
polyfit Ajusta um polinmio de ordem n a um conjunto de dados. x = [1 2 3 4 5 6] x = [1 2 3 4 5 6] y = [2 1 5 3 9 5] y = [2 1 5 3 9 5] plot(x,y) plot(x,y) plot(x,y) [p, s] = polyfit(x,y,1) [p, s] = polyfit(x,y,1) polyfit(x,y,1) y2 = polyval(p, x) y2 = polyval(p, x) polyval(p, plot(x,y,x,y2) plot(x,y,x,y2) plot(x,y,x,y2)
m se U
Eng. Mrcio Ferreira
0.5
-0.5
-1.5
-2
10
o o ! !! p! p! el h
Curso de Matlab
93
aula08d.m
Leitura Complementar
C:\MATLABR11\help\pdf_doc\signal\signal_tb.pdf C:\MATLABR11\help\pdf_doc\stats\stats_tb.pdf C:\MATLABR11\help\pdf_doc\wavelet\wavelet_ug.pdf
getmatrix: Copia a matriz do Matlab para o Excel evalstring: Avalia uma funo no Matlab dentro do Excel
Curso de Matlab
96
Curso de Matlab
97
t=linspace(0,2*pi,2^8); t=linspace(0,2*pi,2^8); % Funo senos com rudo de 50Hz % Fun Funo senos com ru rudo de 50Hz y=sin(10*t)+2*cos(2*t)+2*sin(35*t)+sin(50*t); y=sin(10*t)+2*cos(2*t)+2*sin(35*t)+sin(50*t); % Plota o sinal original % Plota o sinal original subplot(2,1,1) subplot(2,1,1) plot(t,y,'b') plot(t,y,'b') plot(t,y,'b') [ACF, Lags, Bounds] = autocorr(y,size(y,2)-1) [ACF, Lags, Bounds] = autocorr(y,size(y,2)autocorr(y,size(y,2)-1) subplot(2,1,2) subplot(2,1,2)
dlmwrite.m
Escreve valores para um arquivo ASCII
dlmwrite(filename,A,delimiter) dlmwrite(filename,A,delimiter,r,c)
aula09c.m
m s se U U o
Curso de Matlab
98
Curso de Matlab
99
daq_fft.m daq_fft.m
Curso de Matlab
100
Curso de Matlab
101
daqfcngen daqfcngen
Leitura Complementar
C:\MATLABR11\help\pdf_doc\excel\excelus5.pdf C:\MATLABR11\help\pdf_doc\hosa\hosa.pdf
Curso de Matlab
102
Curso de Matlab
103
Aula 10 Interfaces
Apresentao GUIDE
guide guide funtool funtool
Aula 10 Interfaces
Calculadora gerada pelo guide
Curso de Matlab
104
Curso de Matlab
105
Aula 10 Interfaces
Apresentao GUIDE
Property Editor
Aula 10 Interfaces
Apresentao GUIDE
Callback Editor
Callback: Funo a ser executada ao clicar no boto. A funo pode ser um m-file ou ser escrita no quadro.
Callback: Arquivo .m a ser executada ao clicar no boto String: Texto do boto Tag: Nome identificador do boto Value: Valor padro do boto
Curso de Matlab
106
Curso de Matlab
107
Aula 10 Interfaces
Elaborao de Interfaces Elaborao de Interfaces
Aula 10 Interfaces
GET(object_handle, <Property_Name>):
retorna o valor de uma propriedade especfica do para o objeto indicado por object_handle. Exemplo:
108
Curso de Matlab
109
Aula 10 Interfaces
Elaborao de Interfaces
SET(object_handle, <Property_Name>, < PropertyValue>): retorna os possveis valores para uma propriedade especfica do para o objeto indicado por object_handle. Exemplo:
Aula 10 Interfaces
Elaborao de Interfaces
Curso de Matlab
110
Curso de Matlab
111
Aula 10 Interfaces
Elaborao de Interfaces Elaborao de Interfaces
Aula 10 Interfaces
Curso de Matlab
112
Curso de Matlab
113
Aula 10 Interfaces
Elaborao de Interfaces Elaborao de Interfaces
Modo de edio edi
Aula 10 Interfaces
Modo de teste
Curso de Matlab
114
Curso de Matlab
115
Aula 10 Interfaces
Elaborao de Interfaces Elaborao de Interfaces
Aula 10 Interfaces
Curso de Matlab
116
Curso de Matlab
117
Aula 10 Interfaces
Elaborao de Interfaces Elaborao de Interfaces
variaveis={'Sin'; 'Cos'}; variaveis={'Sin'; 'Cos'}; variaveis={'Sin'; 'Cos'};
Aula 10 Interfaces
valor_pop = get(findobj('Tag', 'PopupMenu1'), 'Value'); valor_pop =get( findobj('Tag', 'PopupMenu1'),'Value'); get(findobj('Tag', 'Value'); valor_check1 = get(findobj('Tag', 'Checkbox1'), 'Value'); valor_check1 =get( findobj('Tag', 'Checkbox1'),'Value'); get(findobj('Tag', 'Value'); valor_check2 = get(findobj('Tag', 'Checkbox2'), 'Value'); get( findobj('Tag', 'Checkbox2'),'Value'); valor_check2 = get(findobj('Tag', 'Value'); x=0:.1:2*pi; x=0:.1:2*pi; x=0:.1:2*pi; if valor_pop == 1 if valor_pop == 1 h1 = plot(x,sin(x)); h1 =plot(x,sin(x)); plot(x,sin(x)); elseif valor_pop == 2 elseif valor_pop == 2 h1 = plot(x,cos(x)); plot(x,cos(x)); h1 = plot(x,cos(x)); end end if valor_check1 == 1 if valor_check1 == 1 set(h1,'Color','y'); set(h1,'Color','y'); set(h1,'Color','y'); elseif valor_check1 == 0 elseif valor_check1 == 0 set(h1,'Color','b'); set(h1,'Color','b'); set(h1,'Color','b'); end end if valor_check2 == 0 if valor_check2 == 0 set(h1,'LineStyle','-'); set(h1,'LineStyle','set(h1,'LineStyle','-'); elseif valor_check2 == 1 elseif valor_check2 == 1 set(h1,'LineStyle','--'); set(h1,'LineStyle','--'); set(h1,'LineStyle','--'); end end
Curso de Matlab
118
Curso de Matlab
119
Tpicos Especiais
Unconstrained optimization min f (x) = x ex
2 1 (4x1 +
Tpicos Especiais
Constrained optimization min f (x) = x ex
2 1 (4x1 +
2x22 +
2x22 +
function f = objfun (x) function f = objfun (x) f = 3*(1-x(1)).^2.*exp(-(x(1).^2) f = 3*(1- x(1)).^2.*exp(3*(1-x(1)).^2.*exp(-(x(1).^2) (x(2)+1).^2) ... (x(2)+1).^2) ... - 10*(x(1)/5 - x(1).^3 - 10*(x(1)/5 - x(1).^3 x(2).^5).*exp(-x(1).^2-x(2).^2) ... x(2).^5).*exp(- x(1).^2x(2).^5).*exp(-x(1).^2-x(2).^2) ... - 1/3*exp(-(x(1)+1).^2 - x(2).^2); - 1/3*exp(1/3*exp(-(x(1)+1).^2 - x(2).^2);
Sujeito a: x1>=
0
function [c, ceq] = confun (x) function [c, ceq] = confun (x) ceq] c=[x(1)]; c=[x(1)]; ceq=[]; ceq=[]; ceq=[];
x=[0 -2]; x=[0 -2]; op=optimset('LargeScale','off'); op= optimset('LargeScale','off'); op=optimset('LargeScale','off'); [x,fval,exitflag,output]=fminunc('objfun',x0,op); [x,fval,exitflag,output]=fminunc('objfun',x0,op); [x,fval,exitflag,output]=fminunc('objfun',x0,op);
x0=[0 0]; x0=[0 0]; op=optimset('LargeScale','off'); op= optimset('LargeScale','off'); op=optimset('LargeScale','off'); [x,fval]=fmincon('objfun',x0,[],[],[],[],[],[],'confun',op) [x,fval]=fmincon('objfun',x0,[],[],[],[],[],[],'confun',op) [x,fval]=fmincon('objfun',x0,[],[],[],[],[],[],'confun',op)
Curso de Matlab
120
Curso de Matlab
121
Tpicos Especiais
Programao Linear min f T x x
Sujeito a: A
Tpicos Especiais
Programao Quadrtica
topicos4.m Se funo objetivo quadrtica e as restries so lineares, podemos utilizar quadprog do Matlab. Exemplo: min S = x12 + 2 x22 + 3x32 + 4 x42 + 5 x52 s.a. 2 0 0 2 x1 + x2 4 x3 + x4 x5 = 0
5 x1 2 x3 + x4 x5 = 0
topicos3.m
Exemplo: min f(x) = -5x1 - 4x2 - 6x3 Sujeito a: x1 - x2 + x3 <= 20 3x1 + 2x2 + 4x3 <= 42 3 x1 + 2x2 <= 30 0 <= x1; 0 <= x2 ; 0 <= x3
Eng. Mrcio Ferreira
f=[-5;-4;-6]; f=[- 5;- 4;f=[-5;-4;-6]; A=[1 -1 1;3 2 4;3 2 0]; A=[1 -1 1;3 2 4;3 2 0]; b=[20;42;30]; b=[20;42;30]; lb=zeros(3,1); lb=zeros(3,1); [x,fval]=linprog(f,A,b,[],[],lb) x,fval]=linprog(f,A,b,[],[],lb) [x,fval]=linprog(f,A,b,[],[],lb) Optimization terminated Optimization terminated successfully. successfully. x = x = 0.0000 0.0000 15.0000 15.0000 3.0000 3.0000 fval = fval = -78.0000 -78.0000
122
x1 + 2 x2 + x3 6
4 x3 + x4 2 x5 0
0 H = 0 0 0
0 0 0 0 0 6 0 0 0 0 8 0 0 0 0 10 4 0
6 b= 0
S=17.7989
123
Curso de Matlab
Tpicos Especiais
Integrao Numrica
% Aproximao or trapzios (grosseira) grosseira) % Aproxima Aproximao or trap trapzios (grosseira) x = 0:.2:pi; x = 0:.2:pi; y = minhafun(x); y = minhafun(x); minhafun(x); plot(x,y,'-r') plot(x,y,'plot(x,y,'-r') hold on hold on area = trapz(x,y) area = trapz(x,y) trapz(x,y)
Tpicos Especiais
Manipulao Simblica
help symbolic help symbolic help sym help sym help syms help syms syms x y %cria x e y como var. simblicas syms x y %cria x e y como var. simb simblicas f=x+2*y f=x+2*y g=x*y g=x*y f+g; f+g; f*g; f*g; f/g; f/g;
% Aproximao or quadratura(preciso) % Aproxima Aproximao or quadratura(preciso) area2 = quad('minhafun',0,pi) area2 = quad('minhafun',0,pi) quad('minhafun',0,pi) ezplot('minhafun',0,pi) ezplot('minhafun',0,pi) ezplot('minhafun',0,pi) % Aproximao or quadratura(mais preciso) % Aproxima Aproximao or quadratura(mais preciso) area3 = quad8('minhafun',0,pi) area3 = quad8('minhafun',0,pi) quad8('minhafun',0,pi)
Curso de Matlab
124
Curso de Matlab
125
Tpicos Especiais
Manipulao Simblica - Simplificao
O produto das operaes pode resultar em expresses matemticas complicadas: simple; coloca a expresso na forma mais simples simple simplify; simplifica a expresso simplify pretty; exibe a expresso de uma forma mais visual pretty
eq = x-cos(x/2)^(log(45*x/2))/45^x*9.45 cos(x/2)^(log(45*x/2))/45^x*9.45 eq = x-cos(x/2)^(log(45*x/2))/45^x*9.45 pretty(eq) pretty( eq) pretty(eq)
Tpicos Especiais
Manipulao Simblica - Simplificao
Aps a manipulao e simplificao pode-se desejar substituir valores para as variveis simblicas:
subs(f,2); %substitui em f x=2 subs(f,2); %substitui em f x=2 subs(f,2); subs(f,x,2); %substitui em f x=2 se f funo multivarivel subs(f,x,2); %substitui em f x=2 se f fun subs(f,x,2); funo multivari multivarivel subs(f,x,y); %substitui em f x=y subs(f,x,y); %substitui em f x=y subs(f,x,y);
Curso de Matlab
126
Curso de Matlab
127
Tpicos Especiais
Manipulao Simblica Diferenciao e Integrao
help diff help diff syms x y syms x y f= 2*x + x*y + 2*y; f= 2*x + x*y + 2*y; diff(f, x); derivada parcial em relao a x diff(f, x); derivada parcial em rela diff(f, relao a x help int help int int(f,x); %integra g em relao a x com constante de int=0 int(f,x); %integra g em rela relao a x com constante de int=0 int(f,x,a,b); %integral definida entre a e b int(f,x,a,b); %integral definida entre a e b
Links
http://www.mathworks.com/products/matlab/ http://www.mathworks.co.uk/matlabcentral/link_exc hange/index.html C:\MATLABR11\help\pdf_doc\matlab\quickref.pdf C:\MATLABR11\help\pdf_doc\matlab\using_ml.pdf C:\MATLABR11\help\pdf_doc\matlab\gui\buildgui.pdf
Se a constante de integrao diferente de zero, devemos somar essa constante soluo obtida
Curso de Matlab
128
Curso de Matlab
129