·

Engenharia de Controle e Automação ·

Controle Contínuo

· 2022/1

Send your question to AI and receive an answer instantly

Ask Question

Preview text

MatLab/ Simulink CONCEITOS BÁSICOS Emerson Ravazzi 1. INTRODUÇÃO  MATrix LABoratory  Características:  Álgebra matricial  Versatilidade: O usuário cria novas ferramentas  Programação com macro funções  ToolBoxes específicos  Vários livros baseados em Matlab  Atualmente na versão R2016a  www.mathworks.com 2. COMANDOS E VARIÁVEIS  = Comando de atribuição  [ ] Delimita elementos de matrizes e vetores  % Comentário  help Tópicos de ajuda 2. COMANDOS E VARIÁVEIS  clc Comando para limpar a tela  clear all Remove todos os itens da memória  clear g Remove a variável g da memória DEFINIÇÃO DE UM ESCALAR >> a=2500/20 >> a=2500/20; >> a=1/0 % inf >> 0/0 % NaN DEFINIÇÃO DE UM VETOR >> b1=[1 2 3 4 5 6 7 8 9] >> b2=[1; 2 ;3 ;4 ;5 ;6 ;7 ;8 ;9] >> b3=[1 2 3 4 5 6 7 8 9]’ DEFINIÇÃO DE UMA MATRIZ >> c=[1 2 3;4 5 6;7 8 9] >> c=[c;[10 11 12]] % adiciona a linha [10 11 12] na matriz c >> c(2,2)=0 % troca o elemento (2,2) da matriz c por 0 CRIAÇÃO DE VETORES COM INCREMENTO >> x=1:2:9 >> x=0:pi/3:pi; >> y=sin(x) MATRIZES COM EXPRESSÕES >> x=[-1.5 cos(pi/4) 2^3] OPERADOR : >> A=[4 6 8;2 4 0;3 4 9]; >> A(1,:) = [1 1 1] % troca a primeira linha e todas as colunas da matriz A por [1 1 1] >> A(2:3,1:2)=[10 10;10 10] COMANDO format >> format short % 4 casas >> a=4/3 >> format long e % 15 casas >> a=(4/3)*1000 3. OPERAÇÕES COM MATRIZES E VETORES  + Adição  - Subtração  * Multiplicação  / Divisão à direita  \ Divisão à esquerda  ^ Exponenciação  ’ Transposta  inv( ) Inversão matricial  det( ) determinante matricial TRANSPOSTA, ADIÇÃO E SUBTRAÇÃO >> a=[1 2 3;4 5 6;7 8 9]; >> b=a’ >> c=a+b >> c=a-b MULTIPLICAÇÃO E ADIÇÃO COM ESCALAR >> x=[-1 0 2]; >> y=[-2 -1 1]’; >> x*y >> c=x+2 INVERSÃO E DIVISÃO >> a=[1 0 2;0 3 4;5 6 0]; >> b=inv(a)*a >> c=b/a % c=b*inv(a) >> c=b\a % c=inv(b)*a RESOLVENDO SISTEMAS LINEARES x1 + 2x2 + 0x3 = 5 1 2 0 x1 5 -x1 +5x2 - 3x3 = 0 -1 5 -3 x2 = 0 4x1 - 2x2 + x3 =3 4 -2 1 x3 3 A . X = B Solução : X = A -1. B RESOLVENDO COM O MATLAB >> A=[1 2 0;-1 5 -3;4 -2 1]; >> B=[5 0 3]’; >> X=A\B >> X=inv(A)*B OPERAÇÃO ELEMENTO A ELEMENTO - MATRIZ E VETOR  .* Multiplicação  ./ Divisão à direita  .\ Divisão à esquerda  .^ Exponenciação >> x=[1 -2 3]; >> y=[4 3 2]; >> z=x.*y >> z=x.^y >> y.^2 OPERAÇÃO ELEMENTO A ELEMENTO - MATRIZ E VETOR 4. OPERAÇÃO COM NÚMEROS COMPLEXOS >> z=3+4*i % i=sqrt(-1) >> a=[1 2;3 4]+i*[5 6;7 8] >> Mz=abs(z) % valor absoluto >> Az=angle(z) % ângulo de fase (radianos) 5. UTILITÁRIOS PARA MATRIZES >> a=eye(3) % Matriz identidade >> a=zeros(4) % Matriz nula >> a=ones(3) % Matriz unitária >> a=rand(2,3) % Matriz com n. aleatórios >> a=[2 0 0;0 3 0;0 0 -1]; >> d=det(a) % Determinante da matriz a 6.AUTOVALORES E AUTOVETORES A.xi = li .xi >> a=[1 0 0;0 -2 0;0 0 3]; >> l=eig(a) >> a=[1 0 2;0 -2 0;0 1 3]; >> [x,l]=eig(a) 7. TRAÇANDO GRÁFICOS Gráfico do tipo y(t) x t >> t=0:0.07:6*pi; >> y=sin(t); >> plot(t,y,’k’) % ’k’ -> linha preta >> xlabel(‘tempo [s]’) >> ylabel(‘sen(t)’) Duas ou mais curvas do tipo y(t) x t >> z=cos(t); >> plot(t,y,’b’,t,z,’r-.’) >> title(‘Funções Trigonométricas’) >> xlabel(‘Tempo [s]’) >> ylabel(‘Sen(t) e Cos(t)’) >> text(3,0.6,’Seno’) >> text(2.2,-0.5,’Cosseno’)  Desenhando uma superfície 3D >> x=-8:0.5:8; >> y=x’; >> X=ones(size(y))*x; >> Y=y*ones(size(x)); >> R=sqrt(X.^2+Y.^2)+eps; >> Z=sin(R)./R; >> surf(X,Y,Z); % outro comando: mesh >> xlabel(‘eixo X’); ylabel(‘eixo Y’); >> zlabel(‘eixo Z’) >> title(‘Chapéu Mexicano’); grid; 8. SIMULINK  Ferramenta para modelagem, simulação e análise de sistemas.  Ferramenta de diagramação gráfica por blocos.  Alta integração com o ambiente MATLAB. 8.1. Bibliotecas Simulink Library Browser File Edit View Help Enter search term Libraries Simulink Aerospace Blockset Communications Blockset Control System Toolbox Fuzzy Logic Toolbox Image Acquisition Toolbox Instrument Control Toolbox Model Predictive Control Toolbox Neural Network Toolbox RF Blockset Real-Time Workshop Real-Time Workshop Embedded Coder Report Generator Robust Control Toolbox Signal Processing Blockset SimEvents SimPowerSystems Simscape Simulink 3D Animation Simulink Control Design Simulink Design Optimization Simulink Extras Simulink Verification and Validation Stateflow System Identification Toolbox Showing: Simulink Library: Simulink Search Results: (none) Most Frequently Use Commonly Used Blocks Discontinuities Logic and Bit Operations Math Operations Model-Wide Utilities Signal Attributes Sinks User-Defined Functions Continuous Discrete Lookup Tables Model Verification Ports & Subsystems Signal Routing Sources Additional Math & Discrete Exemplo: \dot x = (A-BK)x u(t) = -Kx u(t) = K \tilde x \tilde \dot x \tilde \dot x = \dot x \dot x erro = x - \tilde x Observador Manual Switch Manual Switch2 Manual Switch3 Scope1 Scope5 Scope2 8.2. RESOLVENDO SISTEMAS LINEARES x1 + 2x2 + 0x3 = 5 1 2 0 x1 5 -x1 +5x2 - 3x3 = 0 -1 5 -3 x2 = 0 4x1 - 2x2 + x3 =3 4 -2 1 x3 3 A . X = B Solução : X = A -1. B >> A=[1 2 0;-1 5 -3;4 -2 1]; >> B=[5 0 3]’; >> X=A\B >> X=inv(A)*B 8.3. Simulando uma Equação Diferencial       2 1 , com 0,5 b x t bx t px t p         Solução : 8.4. Simulando um sistema massa-mola- amortecedor m c k z(t) u(t) m           , . m z t v t k c v t z t v t m m       Dinâmica do sistema: Solução : zd = v vd = -1/m*(Km*z + c*v) aceleração velocidade posição Scope -1/5 -1/m c c*v Km Km*z 1 1 1 1 vd Integrador v Integrador1 z V0=0 m/s Z0=10 m Km=1 N/m c=1 Ns/m m=5 kg  Scope : posição velocidade aceleração 8.5. Simulando sistemas de malha aberta e de malha fechada Sistema de malha aberta: Sistema de malha fechada: PERTURBAÇÃO Step1 CONSTANTE 0 Interruptor manual PROCESSO OU PLANTA SAÍDA velocidade posição Scope 10 s+2 Função de Transferência Referência Etapa ERRO 0,2 Ganho Integrador REALIMENTAÇÃO 8.6. Simulando um circuito elétrico “SimPowerSystems”