Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Comandos Básicos - Scilab 1 Universidade Tecnológica Federal do Paraná – UTFPR Campus Campo Mourão – CM Coordenação de Engenharia Eletrônica – COELE BR 369, km 0,5 – Caixa Postal: 271, CEP 87301-006, Campo Mourão - PR – Brasil Lista de Comandos Básicos - Controle 1 - Scilab Scilab é um ambiente voltado para o desenvolvimento de software para resolução de problemas numéricos. Segue uma lista com alguns dos comandos básicos para uso na disciplina de Controle 1, desenvolvida pela monitora Natalia S. Andreazi Matsushita sob a supervisão do professor Leandro Castilho Brolin. Variáveis Fixas %i – Número imaginário; %pi – π (3,1415926...); %e – Número de Euler (2,7182818...); %inf – Infinito (∞); %s – Variável complexa de polinômios (Transformada de Laplace (s = jω)); %z – Variável complexa de polinômios (Transformada z); %T – Variável Booleana TRUE; %F – Variável Booleana FALSE. OBS.: O Scilab diferencia maiúsculas e minúsculas. OBS.2: Ao criar uma variável o Scilab aceita apenas uma única palavra, com até 24 caracteres e que não inicie com um número. Comandos com números reais e complexos abs(x) – Calcula módulo do número complexo; atan(x) – Calcula o ângulo em radianos; imag(x) – Mostra a parte imaginária de um complexo; real(x) – Mostra a parte real de um complexo; modulo(x, y) – Mostra o resto da divisão entre x e y; Lista de Comandos Básicos - Scilab 2 round(x) – Arredonda para o valor inteiro mais próximo; floor(x) – Arredonda para menor inteiro; ceil(x) – Arredonda para o maior inteiro; sqrt(x) – Calcula a raiz quadrada de x; Criando Polinômios poly(0, ‘x’) – Define x como variável do polinômio; roots(x) – Calcula as raízes da função; horner(x, 1) – Calcula o valor da função polinômio; pdiv(p, q) – Efetua a divisão e calcula quociente e resto; Exemplo 1: a = 3 + 2*%i; //Define o valor de A como 3+2i ang = atan(2/3); //Calcula o valor do ângulo de A mod = abs(A); //Calcula o valor do módulo de A ang_graus = ang*180/%pi; //Converte o ângulo de radianos para graus Exemplo 2: x = poly(0, ‘x’); //Define a variável x. p1 = poly([1 2], ‘x’); //Define um polinômio por suas raízes, no caso 1 e 2. p2 = poly([2 -3 1], ‘x’, ‘coeff’); //Define um polinômio por seus coeficientes em ordem crescente, ou seja, do menor coeficiente para o maior. p3 = x^2-3*x+2; //Define x como variável. x1 = roots(p3); //Atribui a x1 as raízes do polinômio p3. x2 = horner(p3, 1) //Calcula o valor de p3 para x = 1. div_rac = p1/p3 //Divide os dois polinômios apenas racionalmente [r, q] = pdiv(p1, p3) //Divide os dois polinômios e atribui a r o resto e a q o quociente. Lista de Comandos Básicos - Scilab 3 OBS: Um polinômio pode ser definido por suas raízes, por seus coeficientes ou declarando a variável e escrevendo a equação. OBS.2: As operações básicas para polinômios são quase todas as mesma, menos a divisão. A operação p/q não efetua a divisão de polinômios, apenas gera a fração racional. Criando e Configurando Gráficos: figure(n) – Determina em qual janela o gráfico da função inferior deve ser representado, sendo ‘n’ o número da janela; xset(‘window’, n) – Da mesma forma que o figure(n), o xset determina em qual janela o gráfico é representado. A diferença é que ele representa o gráfico da função superior ao comando. plot(x, y, <LineSpec>, <GlobalPropertie>) – esboça o gráfico de x e y em 2D. Os parâmetros <LineSpec> e <GlobalPropertie> são opcionais. Exemplo 3: x = [0:0.1:2*%pi]; //Inicia x. y = sin(x); //Define a variável y. z = cos(x); //Define a variável z. plot(x, y, x, z); //Plota os gráficos x-y e x-z. xset(‘window’, 0); //Atribui o gráfico á janela 0. Exemplo 4: x = [0:0.1:2*%pi]; //Inicia x. y = sin(x); //Define a variável y. z = cos(x); //Define a variável z. figure( 0); //Atribui o gráfico á janela 0. plot(x, y, x, z); //Plota os gráficos x-y e x-z. Lista de Comandos Básicos - Scilab 4 De forma genérica: plot(x1, y1, <LineSpec>, x2, y2, <LineSpec2>, ..., xn, yn, <LineSpec>, <GlobalPropertie1>, <GlobalPropertie2>, …, <GlobalPropertien>); Line Spec – Especifica um modo de desenhar uma linha. As Tabela.1 e Tabela.2 mostram os tipo que podem ser utilizados com plot(). Tabela.1 Comandos para tipos de linha Comando Estilo de Linha - Padrão (contínua) -- Tracejada : Pontilhada -. Tracejada - Pontilhada Tabela.2 Comandos para determinar cor de linha Comando Cor de Linha r vermelho g verde b azul c ciano m magenta y amarelo k preto w branco Exemplo 5: x = [0:0.1:2*%pi]; //Inicia x. y = sin(x); //Define a variável y. z = cos(x); //Define a variável z. plot(x, y, ‘b-’, x ,z ,’k-.’); //Plota os gráficos x-y (na cor azul e com linha contínua) e x-z (na cor preta e com linha tracejada-pontilhada). xset(‘window’, 0); //Atribui o gráfico á janela 0. OBS: A Figura.1 em anexo mostra o gráfico que o exercício 5 gera. Lista de Comandos Básicos - Scilab 5 xgrid – comando que inclui as linhas no gráfico. x_location – Define a posição do eixo x. É dividido em: “bottom” (abaixo), “top” (acima), “middle” (meio) e “origin” (origem). y_location- Define a posição do eixo y. Assim como no x_location, é dividido em: “left” (esquerda), “right” (direita), “middle” (meio) e “origin” (origem). OBS: Para utilizar o x_location e o y_location é necessário manipular a entidade Axe. Subplot (m, n, p) – Junta dois ou mais gráficos em uma única janela. Os parâmetros ‘m’ e ‘n’ indicam o tamanho da matriz onde estão as imagens, enquanto que o ‘p’ indica onde deve estar a figura em questão. Exemplo 6: x = [0:0.1:2*%pi]; //Inicia x. y = sin(x); //Define a variável y. z = cos(x); //Define a variável z. plot(x, y, x ,z); //Plota os gráficos x-y e x-z. xset(‘window’, 0); //Atribui o gráfico á janela 0. a = gca(); //Manipula a entidade Axes. a.x.location = “middle”; //Centra o eixo x na origem. a.y.location = “middle”; //Centra o eixo y na origem. xgrid OBS: A Figura.2 em anexo mostra o gráfico que o exercício 6 gera. Lista de Comandos Básicos - Scilab 6 sqrt(x) – Calcula a raiz quadrada de x; title(<axes_handle>, ‘texto’, <property>) – Cria um título para uma janela gráfica com parâmetros. Onde property consiste num argumento opcional e representa duas declarações {propertyName, propertyValue} e axes_handle obrida o título a aparecer nos eixos definidos por ele. Diagrama de Bode: bode(<sl>, <freqmin>, <freqmax>): Esta função gera o Diagrama de Bode. <sl> determina a equação como linear, <freqmin> determina a frequência mínima do gráfico e <freqmax> indica a máxima. Exemplo 7: subplot(221); //Define a posição do gráfico plot3d. plot3d(); //Esboço de um gráfico 3d. subplot(222); //Define a posição do gráfico plot2d. plot2d(); //Esboço de um gráfico 2D. subplot(223); //Define a posição do gráfico de uma curva parametrizada. param3d(); //Esboço de um gráfico de uma curvaparametrizada. subplot(224); //Define a posição do gráfico de um histograma 3d. hist3d(); //Esboço de um histograma 3D. OBS: A Figura.3 em anexo mostra o gráfico que o exercício 7 gera. Exemplo 8: x = [0:0.1:2*%pi]; //Inicia x. y = sin(x); //Define a variável y. z = cos(x); //Define a variável z. title('Gráfico','color','blue'); //Cria o título do gráfico como "Gráfico" na cor azul. plot(x, y, x ,z); //Plota os gráficos x-y e x-z. Lista de Comandos Básicos - Scilab 7 Root Locus (Lugar das raízes): evans(H, max): Esta função gera o root locus. <H> é o sistema linear e <kmax> determina o ganho máximo. Exemplo 9: s=poly(0,'s') //Indica “s” como uma variável h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) //Lineariza a equação “h” bode(h,0.01,100); //Gera o Diagrama de Bode com os parâmetros designados Exemplo 11: s = poly(0, 's'); Ft = ((s+8)*(s+45))/((s+3)*(s+6)*(s+10)); y = syslin('c', Ft); //Lineariza a função de transferência em malha aberta evans(y); //Root Locus sistema não discretizado Lista de Comandos Básicos - Scilab 8 Anexo de Figuras Figura.1 Gráfico obtido no exemplo 5. Lista de Comandos Básicos - Scilab 9 Figura.2 Gráfico obtido no exemplo 6. Lista de Comandos Básicos - Scilab 10 Figura.3 Gráfico obtido no exemplo 7.
Compartilhar