aula de matlab

126
Carlos André Vaz Junior cavj @ bol .com. br http://www.eq.ufrj.br/links/h2cin/carlosandr

Upload: goodemail

Post on 01-Oct-2015

22 views

Category:

Documents


3 download

DESCRIPTION

Matlab para engenheiros químicos.EQ / UFRJ.Por: Carlos André Vaz Junior

TRANSCRIPT

  • Carlos Andr Vaz [email protected]://www.eq.ufrj.br/links/h2cin/carlosandre

  • Engenheiros e Qumicos

  • Linguagens de Programao

  • Linguagens de ProgramaoBuscando Solues

  • Linguagens de ProgramaoMatlab: Ferramenta da Engenharia

  • O Mundo Matlab

  • ?Ajuda

  • Livros

  • Ambiente de Trabalho

  • Ambiente de Trabalho

  • Command Window

  • Agora a = 2, fao tudo de novo?!Command Window

  • Arquivo de Programao: m-file

  • Current Directory

  • Current Directory

  • Criando variveisChar ArrayMatrizTipos BsicosCase Sensitive!EstruturaCaSe SeNsItIvE!

  • Criando uma matriz:Tipo Matriz

  • Criando um char array:Tipo Char Array

  • Estrutura:turma.alunos.nomes=strvcat( 'carla',joao','bruno', ... 'luis', 'marcela );turma.professor.nome=(Marcelo)turma.horario=1300turma.sala=221Banco de Dados da Turma: Alunos: Carla, Joo, Bruno, Luis, Marcela Professor: Marcelo Horrio: 13h Sala: 221Tipo Estrutura

  • Comando who e whosComando who e whos

  • Use A=0:0.5:10 para gerar matrizes com dados em seqncia.Use ; para evitar que o resultado aparea na tela.Dicas!Use clear A para apagar a varivel A.Dicas!Use size(A) para identificar as dimenses da matriz. A maior dimenso dada pelo comando length(A) Use clear all para apagar todas as variveis armazenadas.

  • i) Soma e subtrao: soma (ou subtrai) elemento por elemento da matriz. A+B A-Bii) Multiplicao e Diviso de matrizes: ateno s regras da lgebra, pois as dimenses das matrizes tm que ser coerentes! A * B A / Biii) Multiplicao e diviso elemento por elemento:A .* BA ./ BOperaes Matemticas Simples

  • iv) Matriz Transposta:Av) Cria Matriz Identidade:eye(nmero de linhas, nmero de colunas)vi) Cria Matriz Zeros:zeros(nmero de linhas, nmero de colunas)

    vii) Cria Matriz Uns:ones(nmero de linhas, nmero de colunas)viii) Cria Matriz Randmica (composta de nmeros aleatrios):rand(nmero de linhas, nmero de colunas) Operaes Matemticas Simples

  • ix) Determinante:det(matriz)x) Inversa:inv(matriz)xi) Dimenses da matriz:size(matriz)lenght(matriz)numel(matriz)

    Operaes Matemticas SimplesVeja tambm: flipud e fliplr

  • Elemento = Matriz(2,3) ou Matriz(10)Referenciar um Elemento de uma Matriz

    15913261014371115481216

  • Arquivo Function

  • A=1B=2global CC=100

    Funo AlfaE=15F=55C=23

    Funo BetaEscopo das Variveis

  • x=[1 2 3 4 5 6; 2 1 3 3 2 1];

    %Forma linear: xmin=min(x); xmin=min(xmin); [i,j]=find(x==xmin);

    Exemplo RpidoAchando a posio do menor valor de uma matriz:%Forma condensada: [i,j]=find(x==(min(min(x))));

  • X = fzero('sin',2)Exemplo RpidoAchando o zero da funo:funoestimativa inicial

  • if: if I == J disp('so iguais!'); elseif (I-J) > 0 disp('I maior que J') else disp('I menor que J') end Estruturas Lgicas

  • Case: switch I case 1, disp('I vale 1') case 2, disp('I vale 2') otherwise disp('I nao eh nem 1 nem 2') endEstruturas Lgicas

  • While: while I < 10, disp(oi); I=I+1; end Manipule o ponteiro I na rotina executadapelo whileEstruturas Lgicas

  • For: for J = 1:100, A(1,J) = 1/(I+J-1); end Incremento automtico do ponteiro J a cada loopEstruturas Lgicas

  • Try: try I = 15 J = testeA= 1/(I+J-1); catch disp(Erro na diviso) end

    Proteo Contra Erros

  • Break:i=0;

    while i < 100,

    i=i+1; disp(i)

    if i>10, break end

    end Encerrando uma Rotina

  • >> figure(1)>> t=0:0.01:10;>> y=sin(t);>> plot(t,y)>> figure(2)>> z=cos(t);>> plot(t,z)Grficos

  • >> figure(3)>> subplot(1,2,1)>> plot(t,y)>> subplot(1,2,2)>> plot(t,z)Grficos

  • >> t=0:0.25:10;>> y=sin(t);>> plot(t,y,'r+')>> xlabel('tempo')>> ylabel('seno')>> title('Seno vs. Tempo')>> Axis([0 10 -2 2])Grficos

  • >> t=0:0.01:10;>> y=sin(t);>> z=cos(t);>> plot(t,y,'g-',t,z,'r-')>> legend('seno','cosseno')Ou...>> t=0:0.01:10;>> y=sin(t);>> z=cos(t);>> plot(t,y,'g-)>> hold on>> plot(t,z,'r-')>> legend('seno','cosseno')Grficos

  • >> x = [1 3 0.5 2.5 2];>> explode = [0 1 0 0 0];>> pie(x,explode)>> colormap jet>> legend('EMB','IND','ACO','DIV','POT')Grficos - Tortas

  • >> x = [1 3 0.5 2.5 2];>> explode = [0 1 0 0 0];>> pie3(x,explode)>> colormap jet>> legend('EMB','IND','ACO','DIV','POT')Grficos - Tortas

  • >> x = -2.9:0.2:2.9;>> bar(x,exp(-x.*x))>> colormap hsvGrficos - Barras

  • Grficos - Superfcie

  • %Malha triangular da base %malha da base xx=0:0.01:1; yy=0:0.01:1; [X,Y]=meshgrid(xx,yy); Z=1-X-Y; %aplica a restrio para usar s a base do triangulo %onde existe consistncia fsica (o que nao tem vira "Not a Number") iz=find(Z
  • %Malha triangular da base %malha da base xx=0:0.01:1; yy=0:0.01:1; [X,Y]=meshgrid(xx,yy); Z=1-X-Y; %aplica a restrio para usar s a base do triangulo %onde existe consistncia fsica (o que no tem vira "Not a Number") iz=find(Z
  • %Malha triangular da base %malha da base xx=0:0.01:1; yy=0:0.01:1; [X,Y]=meshgrid(xx,yy); Z=1-X-Y; %aplica a restrio para usar s a base do triangulo %onde existe consistncia fsica (o que no tem vira "Not a Number") iz=find(Z
  • v1=zeros(size(X));

    for i=1:length(X)^2, x1=X(i); x2=Y(i); x3=Z(i); %calculo do v1 (vertical) vv1=(x1*log(x1))+(x2*log(x2))+(x3*log(x3)); v1(i)=vv1;end%grfico da superfciecolormap jetfigure(1);surf(X,Y,v1); rotate3d on; shading interp;xlabel('X1');ylabel('X2');zlabel('DeltaGi/RT');Grficos - Superfcie

  • v1=zeros(size(X));

    for i=1:length(X)^2, x1=X(i); x2=Y(i); x3=Z(i); %calculo do v1 (vertical) vv1=(x1*log(x1))+(x2*log(x2))+(x3*log(x3)); v1(i)=vv1;end%grafico da superficecolormap jetfigure(1);surf(X,Y,v1); rotate3d on; shading interp;xlabel('X1');ylabel('X2');zlabel('DeltaGi/RT');Eixo VerticalGrficos - Superfcie

  • v1=zeros(size(X));

    for i=1:length(X)^2, x1=X(i); x2=Y(i); x3=Z(i); %calculo do v1 (vertical) vv1=(x1*log(x1))+(x2*log(x2))+(x3*log(x3)); v1(i)=vv1;end%grafico da superficecolormap jetfigure(1);surf(X,Y,v1); rotate3d on; shading interp;xlabel('X1');ylabel('X2');zlabel('DeltaGi/RT');Desenha asuperfcieGrficos - Superfcie

  • v1=zeros(size(X));

    for i=1:length(X)^2, x1=X(i); x2=Y(i); x3=Z(i); %calculo do v1 (vertical) vv1=(x1*log(x1))+(x2*log(x2))+(x3*log(x3)); v1(i)=vv1;end%grafico da superficecolormap jetfigure(1);surf(X,Y,v1); rotate3d on; shading interp;xlabel('X1');ylabel('X2');zlabel('DeltaGi/RT');Aciona arotao da figuraGrficos - Superfcie

  • v1=zeros(size(X));

    for i=1:length(X)^2, x1=X(i); x2=Y(i); x3=Z(i); %calculo do v1 (vertical) vv1=(x1*log(x1))+(x2*log(x2))+(x3*log(x3)); v1(i)=vv1;end%grafico da superficecolormap jetfigure(1);surf(X,Y,v1); rotate3d on; shading interp;xlabel('X1');ylabel('X2');zlabel('DeltaGi/RT');Superfciehomogenia

    Grficos - Superfcie

  • Grficos - Superfcie

  • Use close all para fechar todas as figurasDica!GrficosUse clf para apagar a figura atualUse [x,y]=ginput(2) para capturar dois pontos no grfico

  • Exemplos

  • ExemploOtimizador

  • Otimizao de Parmetros Dados os pontos experimentais:Qual a melhor curva que ajusta esses pontos?

  • Testando a distribuio normal:Programa principal:Otimizao de Parmetros (...)ycalc= a*exp((-(x-b).^2)./c );close allclear allglobal y tempo

    %Dados Experimentais:tempo=[0 1 2 3 4 5 6 7 8 9 10 11 ];y= [0 1 3 5 9 11 9 5 3 1 0 0 ];

  • Programa principal:Otimizao de Parmetros

    %Modelo a ser ajustado: %Parametros a serem ajustados:a=input('a = ');b=input('b = ');c=input('c = ');X0=[a b c];

    %Chama o otimizador:Xotimo = fminsearch('objet',X0)

  • Funo Objetivo.m:(...)Otimizao de Parmetros function [fobj,g] = objet(X,y,tempo)global y tempog=[];%Recebe os parametros a serem ajustados:a = X(1);b = X(2);c = X(3);

    x=tempo;

    %Calcula o modelo em cada instante de tempo:ycalc= a*exp((-(x-b).^2)./c ); %

  • Funo Objetivo.m:Otimizao de Parmetros %Calcula o erro (diferenca entre o experimental% e o modelo a cada instante de tempo)

    e=y-ycalc;e=e(:);n=length(e);w=eye(n);

    fobj=e'*w*e;% o erro eh um numero. %Grafico comparando experimental e modelo:plot(tempo,y,'*',tempo,ycalc,'m')drawnow

  • Otimizao de Parmetros

  • Exemplo1

  • Modelagem simples de um tanque de nvel

  • Modelagem simples de um tanque de nvel

  • Modelagem simples de um tanque de nvel

  • Modelagem simples de um tanque de nvel

  • % Definio das constantes do modeloR = 1; % h/m2A = 2; % m2Fe = 10; % m3/h% Tempo de simulaot = 0.0 : 0.01 : 10.0; % h% Simulao da altura de lquidoh = R*Fe*(1 - exp(-t/(R*A))); % m% Visualizao da simulaoplot(t,h);title('Simulao do tanque de nvel');xlabel('Tempo (h)');ylabel('Altura (m)');Modelagem simples de um tanque de nvel

  • Verifique a consistncia do calculo: a matriz h gerada tambm deve ser 1x1000, j que cada instante t gerou um valor h. sempre til conferir a dimenso das variveis, principalmente a medida que as rotinas forem tornando-se complexas. Dica!Modelagem simples de um tanque de nvel

  • Exemplo2

  • Muitas vezes muito trabalhoso, ou mesmo impossvel, encontrar a soluo analtica para o conjunto de equaes diferenciais. Nesse caso temos que simular usando soluo numrica das equaes diferenciais. Vamos assumir que o modelo do exemplo 1 no tivesse soluo analtica, e ento usar o Matlab para estudar o comportamento da altura do nvel com o tempo. A equao diferencial ser: Modelagem de um tanque de nvel via ED

  • Modelagem de um tanque de nvel via ED % Definio das constantes do modeloR = 1; % h/m2A = 2; % m2Fe = 10; % m3/h% Tempo de simulaot = 0.0 : 0.01 : 10.0; % h% Simulao da altura de lquido[t,h] = ode45('dhdt',t, 0,[],[R A Fe]);% Visualizao da simulaoplot(t,h);title('Simulao do tanque de nvel');xlabel('Tempo (h)');ylabel('Altura (m)'); function dh = dhdt(t,h,flag,par)R = par(1);A = par(2);Fe = par(3);dh = (Fe-(h/R))/A;

  • Nesse caso temos uma equao diferencial, ento deveremos usar uma funo Matlab especfica para a resoluo de eq. diferenciais. No caso temos a ODE45. A funo ODE45 implementa um esquema de soluo de sistemas de EDOs por mtodo de Runge-Kutta de ordem mdia (consulte o help sobre ODE45 para maiores detalhes).

    [t,h] = ode45('dhdt',t, 0,[],[R A Fe]); Modelagem de um tanque de nvel via ED

  • Modelagem de um tanque de nvel via ED Os parmetros enviados entre parnteses so aqueles que devemos passar para a ODE45:-1 argumento de ode45 uma string contendo o nome do arquivo .m com as equaes diferenciais. Neste caso, o arquivo chama-se dhdt.m. -2 argumento um vetor que pode conter (i) dois elementos: os tempos inicial e final da integrao, ou (ii) todos os valores de tempo para os quais deseja-se conhecer o valor da varivel integrada.

    -3 argumento o vetor contendo as condies iniciais das variveis dependentes das EDOs. Os valores dos elementos do vetor de condies iniciais precisam estar na mesma ordem em que as variveis correspondentes so calculadas na funo passada como 1 argumento para ode45 (neste caso, dhdt.m). Nesse caso em particular s temos uma varivel dependente, assim temos uma nica condio inicial.

  • -4 argumento o vetor de opes de ode45. H vrias opes do mtodo que podem ser ajustadas. Entretanto, no deseja-se alterar os valores-padro. Neste caso, passado um vetor vazio, apenas para marcar o lugar das opes.-5 argumento um vetor contendo parmetros de entrada para a funo dhdt.m. Observe que a funo .m deve ler esses parmetros na ordem correta (recebe como varivel local par).Os resultados da simulao so obtidos nos dois parmetros entre colchetes (t , h).

    Modelagem de um tanque de nvel via ED

  • A codificao do arquivo .m segue o mesmo formato j explicado para funes porm com algumas particularidades.

    No caso especfico de um arquivo .m que deve ser chamado por uma funo de soluo EDOs (todas as ODExx), a declarao deste arquivo deve seguir a sintaxe:

    function dy = nomefun(t, y, flag, arg1, ..., argN)

    onde dy o valor da(s) derivada(s) retornadast e y so as variveis independente e dependente, respectivamente.Opcional: caso deseje-se receber outros parmetros, a funo deve receber um argumento marcador de lugar chamado flag. Aps este, ela recebe quaisquer outros parmetros. Modelagem de um tanque de nvel via ED

  • Exemplo3

  • Modelagem de um tanque de aquecimento

  • Modelagem de um tanque de aquecimento

  • Modelagem de um tanque de aquecimento Traduzindo as equaes diferenciais para o Matlab:

  • % Definio das constantes do modeloR = 1; % h/m2A = 2; % m2Fe = 10; % m3/hCp = 0.75; % kJ/(kg . K)Ro = 1000; % kg/m3U = 150; % kJ/(m2 . s . K)Te = 530; % K Th = 540; % K% Tempo de simulaot = 0.0 : 0.01 : 10.0; % h% Simulao do modelo[t,y]=ode45('dydt',t,[(5/A) Th],[],[U A Ro Cp Fe R Te Th]);

    Modelagem de um tanque de aquecimento

  • % Visualizao da simulaofigure(1);plot(t,y(:,1)); title('Tanque de aquecimento');xlabel('Tempo (h)'); ylabel('Altura (m)');figure(2);plot(t,y(:,2)); title('Tanque de aquecimento');xlabel('Tempo (h)'); ylabel('Temperatura (K)'); Modelagem de um tanque de aquecimento

  • A nica modificao em relao ao exemplo anterior que estamos passando duas condies iniciais (pois existem duas variveis dependentes):

    [t,y]=ode45('dydt',t,[(5/A) Th],[],[U A Ro Cp Fe R Te Th]); Modelagem de um tanque de aquecimento

  • A funo .m tem o cdigo apresentado a seguir:

    function dy = dydt(t,y,flag,par);U = par(1);A = par(2);Ro = par(3);Cp = par(4);Fe = par(5);R = par(6);Te = par(7);Th = par(8);dy(1) = (Fe-(y(1)/R))/A;dy(2) = (1/y(1))* ( ((Fe*Te/A)+(U*Th/(Ro*Cp)))... - ( y(2)*((Fe/A)+(U/(Ro*Cp)))) );dy = dy(:); Modelagem de um tanque de aquecimento

  • O vetor dy criado como vetor linha (dy(1)) e (dy(2)). Porm temos que retornar como vetor coluna.

    Use o comando:matriz coluna = matriz linha (:) Modelagem de um tanque de aquecimento Dica!

  • figure(1);plot(t,y(:,1));title('Tanque de aquecimento');xlabel('Tempo (h)'); ylabel('Altura (m)'); Quando for fazer os grficos no programa principal lembre-se que a primeira coluna de dy refere-se a h e a segunda a T. Ento para graficar h vs. tempo faa:

    Modelagem de um tanque de aquecimento Dica!

  • Exemplo4

  • Aplicando perturbaes no CSTR

  • As equaes diferenciais que descrevem o processo so:O modelo matemtico do nosso reator CSTR tende ao estado estacionrio. Ou seja, seus parmetros tendem a ficar constantes no tempo infinito. Seria interessante introduzir perturbaes em algumas variveis e observar como o reator se comporta.

    Aplicando perturbaes no CSTR

  • Uma perturbao degrau em uma entrada u do sistema tal que:

    u = u0 , t < tdegrauu = u0 + du, t > tdegrau

    Ou seja: antes do degrau a entrada u vale u0. Aps o tempo determinado para que o degrau ocorra (tdegrau) temos que u passa a valer u0 + du. Aplicando perturbaes no CSTR

  • % Definio das constantes do modeloU =50; % BTU/(h.ft2.R)A = 120; % ft2DH = -30000; % BTU/lbmRo = 50; % lb/ft3Cp = 0.75; % BTU/(lbm.R)E = 30000; % BTU/lbm R = 1.99; % BTU/(lbm.R)k0 = 7.08e10; % 1/h V =48; % ft3Te = 580; %R Th = 550; %RFe = 18; % ft3/h Cre = 0.48; % lbm/ft3% Tempo de simulaot = 0.0 : 0.01 : 10.0; %h% Perturbao na vazo de entradatd = 5.0; %Tempo onde ocorre o degraufd = 2*Fe; %Valor assumido aps o degrau Programa principal:Aplicando perturbaes no CSTRcontinua...

  • % Condies iniciaisCr0 = 0.16; % lbm/ft3T0 = 603; %R% Simulao do modelo[t,y] = ode45('dcstrdeg',t,[Cr0 T0],[],[U A DH Ro Cp E R k0 V Te Th Fe Cre],[td fd]);% Visualizao da simulaofigure(1);plot(t,y(:,1)); title('CSTR com Reao Exotrmica');xlabel('Tempo (h)'); ylabel('Concentrao de Reagente (lbm/ft3)');figure(2);plot(t,y(:,2)); title('CSTR com Reao Exotrmica');xlabel('Tempo (h)'); ylabel('Temperatura (R)');

    Programa principal (continuao):Aplicando perturbaes no CSTR

  • function dy = dcstrdeg(t,y,flag,par,deg);U = par(1); A = par(2);DH = par(3); Ro = par(4);Cp = par(5); E = par(6);R = par(7); k0 = par(8);V = par(9); Te = par(10);Th = par(11);

    Funo dcstrdeg:Aplicando perturbaes no CSTRcontinua...

  • %Verifica a ocorrncia de degrau:if t >= deg(1) Fe = deg(2); else Fe = par(12);end;Cre = par(13);dy(1) = (Fe/V)*(Cre-y(1)) - k0*exp(-E/(R*y(2)))*y(1);dy(2) = (Fe/V)*(Te-y(2)) + ((DH*k0*exp(-E/(R*y(2)))*y(1))/(Ro*Cp)) - ... (U*A*(y(2)-Th)/(V*Ro*Cp));dy = dy(:); Funo dcstrdeg (continuao):Aplicando perturbaes no CSTR

  • Exemplo5

  • Simulao em bateladaUma das grandes vantagens no uso de ferramentas computacionais reduzir o nosso esforo repetitivo, tarefa para a qual o computador muito eficiente. Supomos que temos um processo no qual gostaramos de testar uma srie de condies iniciais. Para cada nova condio inicial teramos de refazer todas as contas. Um esforo enorme! As linguagens de programao, e o Matlab em particular, resolvem esse problema facilmente usando o j apresentado comando for.

    Usaremos o mesmo reator CSTR do exemplo anterior.

  • % Definio das constantes do modeloU =50; % BTU/(h.ft2.R)A = 120; % ft2DH = -30000; % BTU/lbmRo = 50; % lb/ft3Cp = 0.75; % BTU/(lbm.R)E = 30000; % BTU/lbm R = 1.99; % BTU/(lbm.R)k0 = 7.08e10; % 1/h V =48; % ft3Te = 580; %R Th = 550; %RFe = 18; % ft3/h Cre = 0.48; % lbm/ft3% Tempo de simulaot = 0.0 : 0.01 : 10.0; %h% Condies iniciaisCr0 = [0.16 0.32 0.48 0.64]; % lbm/ft3T0 = 603; %R Programa principal:continua...Simulao em batelada

  • % Simulao e visualizao do modelo em bateladacor = 'brmk';leg = ['Cr0=0.16'; 'Cr0=0.32'; 'Cr0=0.48'; 'Cr0=0.64']; for aux = 1 : length(Cr0) [t,y] = ode45('dcstr',t,[Cr0(aux) T0],[], [U A DH Ro Cp E R k0 V Te Th Fe Cre]); % Visualizao da simulao figure(1); hold on; plot(t,y(:,1),cor(aux)); title('CSTR com Reao Exotrmica'); xlabel('Tempo (h)'); ylabel('Concentrao de Reagente (lbm/ft3)'); figure(2); hold on; plot(t,y(:,2),cor(aux)); title('CSTR com Reao Exotrmica'); xlabel('Tempo (h)'); ylabel('Temperatura (R)');end;Programa principal (continuao):Simulao em bateladacontinua...

  • figure(1); legend(leg);figure(2); legend(leg);hold off; Programa principal (continuao):A seqncia de cores usadas dada pelo vetor cor, letra a letra atravs da flag. Consulte o comando plot para detalhes. Dica!Simulao em batelada

  • Exemplo6

  • Mundo SimulinkA programao no Simulink segue uma interface grfica muito intuitiva e fcil de usar:

  • Ambiente de Trabalho Simulinkrea de programao:

  • Exemplo

  • Nosso primeiro exemplo:Exemplo Comportamento SenoidalAvaliar o comportamento da funo senoidalao longo do tempo.Biblioteca SourcesBiblioteca Sinks

  • Exemplo Comportamento SenoidalSimulando...

  • Exemplo Comportamento SenoidalAgora quero somar 1.5 ao valor da funo:Biblioteca MathBiblioteca Sources

  • Ajuste automtico da escala do grfico:Exemplo Comportamento Senoidal

  • Ajuste manual da escala do grfico:Exemplo Comportamento Senoidal

  • Exemplo Comportamento SenoidalAgora quero multiplicar o resultado por -1:Biblioteca Math

  • Exemplo Comportamento SenoidalConfigurao do bloco Product:Nmero de termosda multiplicao.Multiplicaode matrizes outermo a termo.

  • Exemplo Comportamento SenoidalObter o mdulo do resultado:Biblioteca Math

  • Exemplo Comportamento SenoidalAlterando os parmetros de simulao:Tempo inicialTempo final

  • Exemplo Comportamento SenoidalUsando tempo inicial igual a 10 e final igual a 50:TempoinicialTempofinal

  • Exemplo Comportamento SenoidalCaso a curva esteja dentada, aumente o Fator de Refinamento:

  • Exemplo Comportamento SenoidalCriando um sub-sistema:Sub-sistema

  • Exemplo Comportamento SenoidalEditando um sub-sistema:Sub-sistema

  • Algumas vezes mais fcil tratar os dados gerados no ambiente Matlab.

    Usamos o bloco to workspace:Exemplo Comportamento SenoidalCria a varivelA no workspaceBiblioteca Sinks

  • Exemplo Comportamento SenoidalConfigurao do bloco To Workspace:

  • >> plot(tout,A)No Workspace...Exemplo Comportamento Senoidal

  • Usando uma funo trigonomtrica:Biblioteca SourceBiblioteca MathExemplo Comportamento Senoidal

  • Ganho (produto):Exemplo Comportamento SenoidalBiblioteca Math

  • Rodando um bloco:Exemplo Comportamento Senoidal

  • Combinando dois sinais:Exemplo Comportamento SenoidalEntre outras aplicaes, permite exibir duas ou mais curvas no mesmo grfico.Bloco MUXBiblioteca Signals & Sys.

  • Dois ou mais grficos:Exemplo Comportamento Senoidal

  • Exemplo Comportamento SenoidalDois ou mais grficos:Configurando...

  • Carlos Andr Vaz [email protected]://www.eq.ufrj.br/links/h2cin/carlosandre