Sie sind auf Seite 1von 10

Lista de Comandos Bsicos - Scilab

Universidade Tecnolgica Federal do Paran UTFPR


Campus Campo Mouro CM
Coordenao de Engenharia Eletrnica COELE
BR 369, km 0,5 Caixa Postal: 271,
CEP 87301-006, Campo Mouro - PR Brasil

Lista de Comandos Bsicos - Controle 1 - Scilab


Scilab um ambiente voltado para o desenvolvimento de software para
resoluo de problemas numricos. Segue uma lista com alguns dos comandos bsicos
para uso na disciplina de Controle 1, desenvolvida pela monitora Natalia S. Andreazi
Matsushita sob a superviso do professor Leandro Castilho Brolin.

Variveis Fixas
%i Nmero imaginrio;
%pi (3,1415926...);
%e Nmero de Euler (2,7182818...);
%inf Infinito ();
%s Varivel complexa de polinmios (Transformada de Laplace (s = j));
%z Varivel complexa de polinmios (Transformada z);
%T Varivel Booleana TRUE;
%F Varivel Booleana FALSE.
OBS.: O Scilab diferencia maisculas e minsculas.
OBS.2: Ao criar uma varivel o Scilab aceita apenas uma nica palavra, com at 24
caracteres e que no inicie com um nmero.

Comandos com nmeros reais e complexos


abs(x) Calcula mdulo do nmero complexo;
atan(x) Calcula o ngulo em radianos;
imag(x) Mostra a parte imaginria de um complexo;
real(x) Mostra a parte real de um complexo;
modulo(x, y) Mostra o resto da diviso entre x e y;
1

Lista de Comandos Bsicos - Scilab

round(x) Arredonda para o valor inteiro mais prximo;


floor(x) Arredonda para menor inteiro;
ceil(x) Arredonda para o maior inteiro;

sqrt(x) Calcula a raiz quadrada de x;


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 mdulo de A

ang_graus = ang*180/%pi;

//Converte o ngulo de radianos para graus

Criando Polinmios
poly(0, x) Define x como varivel do polinmio;
roots(x) Calcula as razes da funo;
horner(x, 1) Calcula o valor da funo polinmio;
pdiv(p, q) Efetua a diviso e calcula quociente e resto;
Exemplo 2:
x = poly(0, x);

//Define a varivel x.

p1 = poly([1 2], x);

//Define um polinmio por suas razes, no caso 1 e 2.

p2 = poly([2 -3 1], x, coeff);

//Define um polinmio por seus coeficientes em


ordem crescente, ou seja, do menor coeficiente para
o maior.

p3 = x^2-3*x+2;

//Define x como varivel.

x1 = roots(p3);

//Atribui a x1 as razes do polinmio p3.

x2 = horner(p3, 1)

//Calcula o valor de p3 para x = 1.

div_rac = p1/p3

//Divide os dois polinmios apenas racionalmente

[r, q] = pdiv(p1, p3)

//Divide os dois polinmios e atribui a r o resto e a q o


quociente.

Lista de Comandos Bsicos - Scilab

OBS: Um polinmio pode ser definido por suas razes, por seus coeficientes ou
declarando a varivel e escrevendo a equao.
OBS.2: As operaes bsicas para polinmios so quase todas as mesma, menos a
diviso. A operao p/q no efetua a diviso de polinmios, apenas gera a frao
racional.

Criando e Configurando Grficos:


figure(n) Determina em qual janela o grfico da funo inferior deve ser representado,
sendo n o nmero da janela;
xset(window, n) Da mesma forma que o figure(n), o xset determina em qual janela o
grfico representado. A diferena que ele representa o grfico da funo superior ao
comando.
plot(x, y, <LineSpec>, <GlobalPropertie>) esboa o grfico de x e y em 2D. Os
parmetros <LineSpec> e <GlobalPropertie> so opcionais.

Exemplo 3:
x = [0:0.1:2*%pi];

//Inicia x.

y = sin(x);
z = cos(x);

//Define a varivel y.
//Define a varivel z.

plot(x, y, x, z);

//Plota os grficos x-y e x-z.

xset(window, 0);

//Atribui o grfico janela 0.

Exemplo 4:
x = [0:0.1:2*%pi];

//Inicia x.

y = sin(x);
z = cos(x);

//Define a varivel y.
//Define a varivel z.

figure( 0);

//Atribui o grfico janela 0.

plot(x, y, x, z);

//Plota os grficos x-y e x-z.

Lista de Comandos Bsicos - Scilab

De forma genrica:
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
Padro (contnua)
Tracejada
Pontilhada
Tracejada - Pontilhada

Tabela.2 Comandos para determinar cor de linha


Comando
r
g
b
c
m
y
k
w

Cor de Linha
vermelho
verde
azul
ciano
magenta
amarelo
preto
branco

Exemplo 5:
x = [0:0.1:2*%pi];

//Inicia x.

y = sin(x);
z = cos(x);

//Define a varivel y.
//Define a varivel z.

plot(x, y, b-, x ,z ,k-.);

//Plota os grficos x-y (na cor azul e com linha contnua) e


x-z (na cor preta e com linha tracejada-pontilhada).

xset(window, 0);

//Atribui o grfico janela 0.

OBS: A Figura.1 em anexo mostra o grfico que o exerccio 5 gera.

Lista de Comandos Bsicos - Scilab

xgrid comando que inclui as linhas no grfico.


x_location Define a posio do eixo x. dividido em: bottom (abaixo), top
(acima), middle (meio) e origin (origem).
y_location- Define a posio 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 necessrio manipular a entidade Axe.

Exemplo 6:
x = [0:0.1:2*%pi];

//Inicia x.

y = sin(x);
z = cos(x);

//Define a varivel y.
//Define a varivel z.

plot(x, y, x ,z);
xset(window, 0);

//Plota os grficos x-y e x-z.


//Atribui o grfico janela 0.

a = gca();
a.x.location = middle;
a.y.location = middle;
xgrid

//Manipula a entidade Axes.


//Centra o eixo x na origem.
//Centra o eixo y na origem.

OBS: A Figura.2 em anexo mostra o grfico que o exerccio 6 gera.

Subplot (m, n, p) Junta dois ou mais grficos em uma nica janela. Os parmetros m
e n indicam o tamanho da matriz onde esto as imagens, enquanto que o p indica
onde deve estar a figura em questo.

Lista de Comandos Bsicos - Scilab

Exemplo 7:
subplot(221);

//Define a posio do grfico plot3d.

plot3d();

//Esboo de um grfico 3d.

subplot(222);

//Define a posio do grfico plot2d.

plot2d();

//Esboo de um grfico 2D.

subplot(223);

//Define a posio do grfico de uma curva parametrizada.

param3d();

//Esboo de um grfico de uma curva parametrizada.

subplot(224);

//Define a posio do grfico de um histograma 3d.

hist3d();

//Esboo de um histograma 3D.

OBS: A Figura.3 em anexo mostra o grfico que o exerccio 7 gera.


sqrt(x) Calcula a raiz quadrada de x;
title(<axes_handle>, texto, <property>) Cria um ttulo para uma janela grfica com
parmetros. Onde property consiste num argumento opcional e representa duas
declaraes {propertyName, propertyValue} e axes_handle obrida o ttulo a aparecer
nos eixos definidos por ele.
Exemplo 8:
x = [0:0.1:2*%pi];
y = sin(x);
z = cos(x);

//Inicia x.

//Define a varivel y.
//Define a varivel z.

title('Grfico','color','blue'); //Cria o ttulo do grfico como "Grfico" na cor azul.


plot(x, y, x ,z);
//Plota os grficos x-y e x-z.

Diagrama de Bode:
bode(<sl>, <freqmin>, <freqmax>): Esta funo gera o Diagrama de Bode. <sl>
determina a equao como linear, <freqmin> determina a frequncia mnima do grfico
e <freqmax> indica a mxima.

Lista de Comandos Bsicos - Scilab

Exemplo 9:
s=poly(0,'s')
//Indica s como uma varivel
h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) //Lineariza a equao h
bode(h,0.01,100);

//Gera o Diagrama de Bode com os parmetros designados

Root Locus (Lugar das razes):


evans(H, max): Esta funo gera o root locus. <H> o sistema linear e <kmax>
determina o ganho mximo.
Exemplo 11:
s = poly(0, 's');
Ft = ((s+8)*(s+45))/((s+3)*(s+6)*(s+10));
y = syslin('c', Ft);
//Lineariza a funo de transferncia em malha aberta
evans(y);
//Root Locus sistema no discretizado

Lista de Comandos Bsicos - Scilab

Anexo de Figuras

Figura.1 Grfico obtido no exemplo 5.

Lista de Comandos Bsicos - Scilab

Figura.2 Grfico obtido no exemplo 6.

Lista de Comandos Bsicos - Scilab

Figura.3 Grfico obtido no exemplo 7.

10

Das könnte Ihnen auch gefallen