Beruflich Dokumente
Kultur Dokumente
Redao
Rodrigo Bicalho
Matheus Oliveira Barbosa
Leonardo Figueiredo Machado
2
Sumrio
1. Histrico ..................................................................................................................... 5
2. Funcionalidades do Scilab ........................................................................................ 5
3. Referncias Industriais ............................................................................................. 6
3.1 Indstria Aeroespacial - Defesa ............................................................................. 7
3.2 Indstria Metalrgica e Mineradora ....................................................................... 8
3.3 Indstria Automotiva ............................................................................................. 9
3.4 Indstria Energtica e Meteorolgica .................................................................. 10
3.5 Pesquisa e Educao ............................................................................................ 11
3.6 Indstria Farmacutica - Mdica .......................................................................... 12
4. Scilab Web ................................................................................................................ 13
5. Objetivos ................................................................................................................... 13
6. Avaliaes ................................................................................................................. 13
7. Curso ......................................................................................................................... 13
8. Executando o Scilab ................................................................................................ 15
8.1 Console ................................................................................................................. 15
8.2 Navegador de Variveis ....................................................................................... 15
8.3 Histrico de Comandos ........................................................................................ 15
8.4 Definindo Variveis ............................................................................................. 16
8.5 Matemtica Bsica ............................................................................................... 17
8.5.1 Operaes Trigonomtricas .............................................................................. 18
9. SciNotes..................................................................................................................... 19
10. Function .................................................................................................................. 20
11. Vetores .................................................................................................................... 22
11.1 Declarando um Vetor ......................................................................................... 22
11.2 Funo find......................................................................................................... 27
11.3 Vetores - Strings ................................................................................................. 28
12. Matrizes .................................................................................................................. 29
12.1 Construes Algbricas de Matrizes .................................................................. 29
12.2 Manipulao de Matrizes ................................................................................... 32
12.3 Propriedade das Matrizes ................................................................................... 39
12.3.1 Matriz Transposta............................................................................................ 39
3
12.3.2 Determinante da Matriz................................................................................... 39
12.3.3 Matriz Inversa ................................................................................................. 40
12.3.4 Tamanho da Matriz ......................................................................................... 40
12.3.5 Matriz Escalonada ........................................................................................... 41
12.4 Resoluo de Sistemas de Equaes Lineares ................................................... 41
13. Grficos................................................................................................................... 43
13.1 Passos para criar um grfico .............................................................................. 43
13.2 Grades, Eixos, Legendas e Ttulos ..................................................................... 45
13.3 Estilo de Linha, Marcadores e Cores ................................................................. 46
13.4 Grficos 3D ....................................................................................................... 52
13.4.1 Funo meshgrid ............................................................................................. 52
13.4.2 Funo plot3d .................................................................................................. 53
13.4.3 Funo mesh .................................................................................................... 55
13.4.4 Funo surf ...................................................................................................... 56
13.5 Campo Vetorial .................................................................................................. 57
13.6 Outras formas de plotar grficos ........................................................................ 58
14. Programao .......................................................................................................... 60
14.1 Comando input ................................................................................................... 60
14.2 Comando disp ..................................................................................................... 61
14.3 Comando sprintf ................................................................................................. 62
14.4 Estrutura de Repetio if-elseif-else-end ........................................................... 65
14.5 Estrutura de Repetio for-end........................................................................... 69
14.6 Estrutura de Repetio while-end ...................................................................... 70
14.7 Comando Break .................................................................................................. 72
14.8 Estrutura de Seleo Switch ............................................................................... 73
15. Xcos ......................................................................................................................... 75
15.1 Exemplos de Projetos ......................................................................................... 76
15.1.1 Motor DC ........................................................................................................ 76
15.1.2 Projeto de um Pndulo .................................................................................... 82
16. Referncias Bibliogrficas .................................................................................... 91
4
1. Histrico
O Scilab um software francs desenvolvido pelas instituies
INRIA (Institut National de Recherche en Informatique et en
Automatique) e ENPC (cole Nationale des Ponts et Chausses). um
programa de computao numrica muito utilizado para resolver
problemas de processamento de sinais (uso da FFT), controle de sistemas
mecnicos, plotagem de grficos, modelagem, simulao e anlise de
sistemas dinmicos (Circuitos Eltricos, Sistemas de Amortecedor,
Sistemas de Freios, Sistemas Termodinmicos). Como a sua licena
gratuita, diversas indstrias multinacionais, universidades e reas de
pesquisa vem utilizando o software.
2. Funcionalidades do Scilab
Grficos 2D e 3D, animao
lgebra linear, matrizes esparsas
Interpolao, aproximao
Simulao: Sistemas de equaes diferenciais
Anlise estatstica
Otimizao diferencial e no diferencial
Processamento de sinais
Interface com o Computer Algebra Maple
Interface com Fortran, C, C++, Java
5
3. Referncias Industriais
6
3.1 Indstria Aeroespacial - Defesa
7
3.2 Indstria Metalrgica e Mineradora
8
3.3 Indstria Automotiva
9
3.4 Indstria de Energia e Meteorologia
10
3.5 Pesquisa e Educao
11
3.6 Indstria Farmacutica - Mdica
12
4. Scilab Web
Programa de licena gratuita disponvel no site http://www.scilab.org
http://cloud.scilab.in/# (Possui resolues gratuitas de literaturas do meio
acadmico)
http://scilab.io/ (Site oficial que possui tutoriais, empresas que utilizam
desse software na rea administrativa, produo etc, utilizaes do Scilab e
contato com os desenvolvedores do programa)
https://atoms.scilab.org/ (Possui Toolbox, isto , instaladores
desenvolvidos sob a necessidade de cada cliente, complementando e
auxiliando o usurio a problematizar e resolver problemas computacionais
no Scilab para situaes especficas)
5. Objetivos
Complementar a formao dos alunos da graduao, fornecendo as
ferramentas necessrias para o uso do software, tendo em vista sua vasta
aplicao na rea da engenharia e computacional
6. Avaliaes
P1 - Vetores, Matrizes, Grficos, Polinmios, Programao, Limites,
derivadas, Integrais, EDOs
P2 - Projeto envolvendo Xcos, Anlise de sistemas dinmicos,
Processamento de sinais
7. Curso
16 aulas com durao de 2 horas
Nota mnima para aprovao: 6 (Frequncia de 75% nas aulas)
13
Aula 1 - Apresentao do curso. O que Scilab. Matemtica bsica -
fundamental
Aula 2 - Vetores. Endereamento. Operaes. Funes de
manipulao
Aula 3 - Criao e Manipulao de matrizes celulares
Aula 4 - lgebra matricial. Matrizes esparsas. Matrizes vazias.
Sistemas lineares
Aula 5 - Funes de Entrada e Sada. Arquivos de dados. Importao
e exportao de dados
Aula 6 - Grficos bidimensionais. Linhas grade e eixos. Figuras
mltiplas
Aula 7 - Grficos tridimensionais. Grficos de linha. Grficos de
superfcie
Aula 8 - Polinmios. Operaes com polinmios. Formas de
declaraes polinomiais
Aula 9 - Estrutura de repetio e seleo (Programao em geral)
Aula 10 - Limites. Derivadas. Integrais. Equaes diferenciais e
anlise numrica
Aula 11 - Primeira avaliao P1
Aula 12 - Introduo ao Xcos. Modelagem. Simulao. Anlise de
sistemas dinmicos
Aula 13 - Processamento de sinais. Uso da FFT para anlise de sinais
e simulaes
Aula 14,15 e 16 - Segunda avaliao P2: Apresentaes dos projetos
envolvendo o Xcos
14
8. Executando o Scilab
8.1 Console
rea na qual as instrues so digitadas e exibidos os resultados
Sinal de prompt > indica estado de espera de entrada de dados
As teclas (seta para cima)(seta para baixo) repetem os comandos
digitados anteriormente
8.2 Navegador de Variveis
rea na qual so exibidas as variveis definidas na rea de trabalho do
Scilab
Esta janela possui quatro colunas que exibem, respectivamente, o
nome, as dimenses, o nmero de bytes e a classe de cada varivel
8.3 Histrico de Comandos
rea na qual ficam armazenadas todas as instrues executadas do
Scilab
15
8.4 Definindo Variveis
Deve ser alfanumrico comeando por letra
Exemplos: Alpha, notas, A1, B23 e cor_do_objeto
Observao: Caracteres especiais no so aceitos, como #, $, &, %,?,!, @,
<, ~, etc
Exemplo
-->rea=1.23d4
-->rea=5.4 3.0
-->Area=%pi
-->Mecnica_Produo=10/2+5*2+5^2
-->x1=5.4
16
8.5 Matemtica Bsica
SMBOLO SIGNIFICADO
%pi Valor aproximado de pi
%e Constante neperiana
// Escreve um comentrio
d Denota notao cientifica
A presena do ; suprime o
;
resultado
sqrt(x) Calcula a raiz quadrada de x
abs(x) Retorna o valor absoluto
modulo(x,y) Mostra o resto da diviso de x./y
log(x) Logaritmo natural
log10(x) Logaritmo na base 10
%i Notao de nmero complexo
5.851056
4.2846032
17
8.5.1 Operaes Trigonomtricas
SMBOLO - TRIGONOMTRICO SIGNIFICADO
Retorna cosseno, seno,
cos(x), sin(x), tan(x), cotg(x), tangente, cotangente ou
cosh(x) cosseno hiperblico de x (x
deve estar em radianos)
- 0,75
FUNES DE
SIGNIFICADO
ARREDONDAMENTO
round(x) Arredonda o valor de x ao inteiro
mais prximo
floor(x) Arredonda para o menor inteiro
ceil(x) Arredonda para o maior inteiro
6 ou 7
18
9. SciNotes
o editor de texto do Scilab, muito utilizado para
programas grandes que exigem ser armazenados para um
uso posterior. O SciNotes facilita a criao de arquivos de
script. Esse editor pode ser aberto digitando scinotes no
prompt de comando ou atravs da figura abaixo
19
10. Function
Notao:
[ ]
Exemplo 1
function y=f(x) ; //Passo_1
y=36/(8+exp(-x)); //Passo_2
endfunction //Passo_3
function y=g(x);
y=4*x/9+4
endfunction
f(10)
ans=
4.4999745
g(12.5)
ans=
9.555556
20
Exemplo 2
O grfico Tenso x Tempo abaixo ilustra um esquema de
um gerador e turbina de uma Usina Hidreltrica, tendo a
funo:
Soluo
function y=V(t) ; //Passo_1
y=180*sin(37*t); //Passo_2
endfunction //Passo_3
V(0.02)
21
11. Vetores
Em um vetor possvel armazenar vrios itens em uma
nica varivel
22
Para um vetor coluna, a separao entre os componentes
pode ser feita atravs de um ponto e vrgula.
Exemplo
C=[1,2,3;4,5,6;7,8,9] ou C=[1 2 3; 4 5 6; 7 8 9]
23
OPERAES COM VETORES
SOMA v3=v1+v2
SUBTRAO v3=v1-v2
MULTIPLICAO v3=v1.*v2
DIVISO v3=v1./v2
EXPOENTE v3=v1.^v2
24
A tabela abaixo mostra algumas funes que podem ser
feitas com vetores ou matrizes
FUNO SIGNIFICADO
mean(v) Media aritmtica
geomean(v) Media geomtrica
median(v) Mediana de uma amostra
variance(v) Varincia
stdev(v) Desvio padro
covar(e,a, fre) Covarincia- frequncia para frequncia
correl (e,a, fre) Correlao entre a e b
Retorna o valor absoluto de um nmero,
abs(v)
vetor (cada elemento) ou matriz v
Retorna a norma euclidiana ou mdulo de
norm(v)
um vetor v
Ordena um conjunto de nmeros,vetor ou
gsort(v)
matriz v a uma sequncia decrescente
gsort(varivel,"g","i") Retorna o vetor v em ordem crescente
Utilizada para saber qual o valor mximo/
max(v) min(v)
mnimo de um vetor v
Mostra o nmero de linhas e de colunas de
size(v)
um vetor ou matriz v
cumsum(v) Soma cumulativa do vetor v
cumprod(v) Produto cumulativo do vetor v
perms(v) Todas as permutaes do vetor v
Retorna a soma de todos os elementos de
sum(v)
um vetor ou matriz v
Retorna o produto de todos os elementos de
prod(v)
um vetor ou matriz v
Retorna o nmero de coordenadas do vetor
length(v)
v
25
1) Uma empresa aeronutica americana possui 100
funcionrios assalariados no setor de fuselagem. Seus
salrios (em moeda local) tm a distribuio de frequncias
da tabela abaixo. O diretor do setor necessita fazer um
levantamento das despesas. Nessa perspectiva, calcule
(usando vetores):
a) A mdia e o desvio padro do salrio das 100 pessoas
b) A soma total dos salrios desse setor
SALRIO FREQUNCIA CARGO
$5000,00 10 Superior
$1000,00 30 Intermedirio
$1500,00 60 Iniciante
Soluo
x(1:10)=5000; // {30 pessoas com o valor de $50}
x(11:40)=1000; // {60 pessoas com o valor de $100}
x(41:100)=1500; // {10 pessoas com o valor de $150}
mean(x)
stdev(x)
sum(x)
26
11.2 Funo find( )
--> x=-3:3 x = -3 -2 -1 0 1 2 3
--> x(k) -3 -2 2 3
--> x(k)=0 x = 0 0 -1 0 1 0 0
27
11.3 Vetores - Strings
Vetores tambm podem ser construdos com elementos de
strings
Exemplo
mes= [janeiro fevereiro maro abril maio]
O vetor mes foi construdo de tal modo que h uma
correspondncia entre o nmero do ms e o ndice do
elemento. Por exemplo, o ms de nmero 1 (janeiro)
acessado pelo elemento mes(1).
28
12. Matrizes
Para se declarar uma matriz no Scilab, usa-se colchetes [ ],
para separao de elementos de uma mesma linha usa-se
espao simples ou vrgula, para separao de linhas usa-se
ponto e vrgula
Exemplo
array1= [1,2,3;4 ,5,6]
array2= [1 2 3;4 5 6]
29
Exemplo
C(2,3)=8
C(12)
30
Para preencher linha ou coluna inteira ou ainda dizer:
para todas as linhas ou para todas as colunas usa-se :
C(1,:)=3
C(:,2)=7
Exerccio
31
A=[1,2,3;4,5,6;7,8,9];
B=[10,11,12;13,14,15;16,17,18];
C=[A,B(:,1),B(:,3)] // Ou C=[A,B(:,[1,3])]
32
Exemplo
A(2,:)=[ ]
A(2,2)=[ ]
Erro!
Substituir as linhas 3 e 4 de C pelas 2 e 3 de A
C=[1 2 3; 4 5 6; 7 8 9; 10 11 12];
A=[13 14 15; 16 17 18; 19 20 21];
C(3:4,:) =A(2:3,:)
33
Obs: Caso fosse escrito:
Extrair a 2o e 3o coluna de A
34
Matriz identidade de ordem n: eye(n)
Matriz de 1: ones(m,n)
35
Operaes Estruturais e Matriciais Comuns
Forma no
Operao Comentrios
Scilab
Soma de matrizes estrutural
Soma Estrutural A+b
idntica matricial
Subtrao de matrizes estrutural
Subtrao Estrutural A-b
idntica matricial
Multiplicao de elemento a
Multiplicao Estrutural A.*b
elemento de a e b
Multiplicao das matrizes a e b. O
Multiplicao Matricial A*b nmero de colunas em a precisa ser
igual ao de linhas em b
Diviso elemento a elemento de a e
Diviso Direita Estrutural A./b
b: a(i,j)/b(i,j)
Diviso Esquerda Diviso elemento a elemento de a e
A.\b
Estrutural b: b(i,j)/a(i,j)
Diviso matricial definida por
Diviso Matricial Direita A/b a*inv(b), onde inv(b) a inversa de
a
Diviso matricial definida por
Diviso Matricial
A\b b*inv(a), onde inv(a) a inversa de
Esquerda
b
Expoente elemento a elemento de a
Expoente Estrutural A.^b
e b: a(i,j).^b(i,j)
36
Obs: Sempre nas operaes estruturais, as duas matrizes
precisam ter a mesma forma, ou uma delas ser um escalar.
Exerccio
Seja g=[1 2 3;4 5 6; 7 8 9] e h a matriz identidade de ordem
3
a) Subtrair 2 de todos os elementos da matriz g, obtendo a
matriz g2
b) Multiplicar a matriz g por 2, dividir o resultado por 5 e
acrescentar 1 a todos os elementos
c) Multiplicao elemento a elemento da matriz g pela
matriz h
d) Somar as matrizes g e h
e) Obter a matriz h1 somando 1 a todos os elementos da
matriz h
f) Dividir, elemento a elemento, a matriz h1 pela matriz g
g) Elevar a matriz h1 ao quadrado
h) Elevar os elementos da matriz g pela soma de seus
ndices (i+j). Denote essa ltima matriz por b
i) Obter o produto matricial de g por b=[2 1 3;5 6 7;9 8 7]
Soluo
37
a)
c)
d)
e)
f)
38
g)
h)
i)
Exemplo
transposta=array1
39
precisa ser quadrada. Assim, acrescentaremos mais uma
linha na matriz array1, de modo a torna-la 3x3
[ ]
Determinante=det(array1)
Exemplo
40
12.3.5 Matriz Escalonada: Utiliza-se a funo rref(x) para
retornar a matriz x na forma escalonada
41
Exemplo
Exemplo
13,20
Soluo
b=[13.20;21.64;26.62];
x=A\b // ou x=inv(A)*b
42
13 Grficos
Para facilitar o entendimento: todas as notaes que
estiverem com a cor diferente de preto ou negrito, o aluno
pode mudar a seu critrio. Todos os comandos que
estiverem em preto e/ou negrito so fixos!
13.1 Passos para Criar um Grfico
1 Passo: Criar um vetor x com as coordenadas do eixo das
abscissas (Domnio)
43
Exemplo: Plote o grfico da funo y=sen( x)
Soluo
x=linspace(-10,10,100);//Cria um vetor(domnio da
funo) variando de x=-10 at x=10 com 100 pontos
y=sin(%pi*x); // Denota a funo y=f(x)
plot(x,y) // Plota o grfico da funo y=f(x)
44
13.2 Grades, eixos, legendas e ttulos
45
13.3 Estilo de Linha, Marcadores e Cores
Nos exemplos anteriores, o Scilab escolheu o estilo de linha
contnuo e a cor azul e verde para os grficos. Contudo, as
cores e os tipos de linha podem ser especificados
adicionando ao comando plot um terceiro argumento depois
de cada par de vetores de dados. O argumento opcional
adicional uma string contendo um ou mais caracteres, de
acordo com a tabela.
COR MARCADOR TIPO DE LINHA
y (Amarela) . (Ponto) : (Pontilhado)
-. (Ponto-Trao)
m (Margenta) O (Crculo)
46
Exemplo 1
//Exerccio de grficos
scf(38);
x=linspace(-10,10,100);
y=1./(1+x.^2);
plot(x,y,'c*')
xlabel("$-10\le x\le 10$","fontsize",4,"color","red")
ylabel("$y(x)=\frac{1}{1+x^2}$","fontsize",4,"color","red")
title("Ttulo do grfico","color","red","fontsize",4)
xstring(-2,0.5,"AULA TESTADA!")
legend('Funo_1');
47
O comando gca() usado para acessar os campos do
eixo, isto , para limitar ou ampliar o domnio e/ou a
imagem
set(gca(),"data_bounds",matrix([-2,6,-0.2,1.2],2,-1))
,a distino das cores na matrix para diferenciar o
domnio e a imagem respectivamente!
set(gca(),"grid",[1 1]): O primeiro termo indica a cor
da grade no sentido horizontal, e o segundo a cor da grade
na vertical
xset('background',nmero da cor): Muda a cor do
fundo do grfico
xset('window',nmero da janela): Abre varias janelas
e seus grficos
xset('foreground',cor): Muda a cor da moldura do
grfico
xset('auto clear','off'): Permite voc plotar mais de um
grfico na mesma janela. Se mudar o off por on, no mais
possvel a sobreposio de grficos
48
xset("font",fonte da letra,tamanho da letra):
Aumenta ou diminui o tamanho dos nmeros das
coordenadas.
49
Exemplo
x=linspace(1,10,100);
y=sin(2.*x);
xset('window',1);
plot(x,y)
z=x.*x;
xset('window',2);
plot(x,z)
50
Exemplo
y = 1./(1+x.*x);
plot(x,y,'r+')
xtitle('Funo y=x')
xlabel('Eixo x')
ylabel('Eixo y')
51
13.4 Grficos 3D
13.4.1 Funo meshgrid: pode ser usada para avaliar
funes de duas variveis e fazer esboos tridimensionais
de malhas e superfcies. Essa funo transforma o domnio
especificado pelo vetor_x e vetor_y em matriz_X e
matriz_Y
[matriz_X,matriz_Y]=meshgrid(vetor_x,vetor_y)
Exemplo
x=-1:0.5:2;
y=-1:0.5:1;
[X,Y]=meshgrid(x,y) //cria matrizes X e Y
52
13.4.2 Funo plot3d
Plot3d(matriz_X, matriz_Y, matriz_Z, argumentos)
Argumentos: Pode ser alpha, theta, leg, flag e ebox
alpha e theta: So ngulos (em graus), que definem as
coordenadas esfricas do ponto do observador. O
argumento theta descreve o ngulo no plano xy e alpha em
torno do eixo z. Se no forem especificados so assumidos
os valores pr-definidos alpha=35 e theta=45
flag:Essa opo um vetor numrico flag=[modo, tipo,
caixa],
modo: define a cor da superfcie. Se positivo a superfcie e
o contorno so desenhados. Se nulo somente a malha da
superfcie desenhada. Se negativo a superfcie
desenhada e o contorno no desenhado
tipo: define a escala (0,1,2,3,4,5,6)
caixa:define a moldura em torno do grfico (0,1,2,3,4)
ebox:define os limites das coordenadas do grfico com os
valores dados em um vetor de seis elementos (ebox=[Xmin,
Xmax, Ymin, Ymax, Zmin, Z max])
53
Exemplo
Faa o esboo da funo z=sen(x)cos(y) no intervalo -3 x
3 e -2 y 2
//Soluo
x=-3:0.2:3
y=-2:0.2:2
[X,Y]=meshgrid(x,y) //Cria matrizes X e Y a partir de
vetores x e y
Z=sin(X).*cos(Y).^2 //Calcula pontos da funo
plot3d(X,Y,Z) //Desenha grfico 3D , aqui alpha=35 e
theta=45
plot3d(X,Y,Z,alpha=60,theta=30,flag=[0 2 3])
54
13.4.3 Funo mesh
A funo mesh(X,Y,Z) produz o esboo de uma malha na
superfcie especificada pelas matrizes X,Y,Z
x=-3:0.2:3
y=-2:0.2:2
[X,Y]=meshgrid(x,y) //Cria matrizes X e Y a partir de
vetores x e y
Z=sin(X).*cos(Y).^2; //define a matriz Z
mesh(X,Y,Z); //desenha a malha
xgrid(1) //coloca a grade
xtitle('mesh','eixo x','eixoy','eixoz')
55
13.4.4 Funo surf
A funo surf (X,Y,Z) produz uma superfcie sombreada
tridimensional
x=-3:0.2:3
y=-2:0.2:2
[X,Y]=meshgrid(x,y) //Cria matrizes X e Y a partir de
vetores x e y
Z=sin(X).*cos(Y).^2;//define a matriz Z
surf(X,Y,Z)
xgrid(1) //coloca a grade
xtitle('mesh','eixo x','eixoy','eixoz')
56
13.5 Campo Vetorial
; ;
[ ]
57
13.6 Outras formas de plotar grficos
Exemplo
function y=f(x)
y=(x*x+2*x)*exp(-x);
endfunction
function y=g(x)
y=sin(x/2);
endfunction
x=linspace(-2,5,50)
plot(x,f, '.r',x,g, 'g') // Observe que o domnio variou de -2
at 5, como definido no linspace
58
Exemplo
for n=1:50
u(n)=(-0.8)^n;
end
plot(u,'.r')
Exemplo
Plotar grfico por coordenadas plot([1,3],[2,6])
59
14. Programao
Exemplo
Crie um programa que leia as notas dos alunos da tabela e
calcule a mdia
Soluo
//Resolvendo o Exemplo
a=input("Entre com a nota do primeiro aluno: ")
b=input("Entre com a nota do segundo aluno: ")
c=input("Entre com a nota do terceiro aluno: ")
d=input("Entre com a nota do quarto aluno: ")
e=input("Entre com a nota do quinto aluno: ")
media=(a+b+c+d+e)/5;
60
Obs: Deu para perceber que o programa no mostrou o
resultado, porm o Scilab armazenou o valor da media. A
seguir sero mostradas algumas formas para imprimir uma
resposta ao executar o programa
Exemplo
a=2;
disp(a) // obs: voc vai perceber que essa funo no
mostra a varivel
Exemplo
Crie um programa que leia o nome de um time e tenha
como sada (imprime) uma frase seguida do nome do eu
time
Soluo
disp(Time)
61
Exemplo
A funo disp frequentemente usada em conjunto com a
funo string
nome="Unifei";
62
Exemplo
Um engenheiro da Unifei necessita calcular o custo mdio
de um conjunto de alimentos: bolacha, arroz e feijo.
Construa um programa que leia o valor, a quantidade de
cada alimento e que faa o clculo do custo mdio com 4
casas decimais
Soluo
Valor_bolacha=input("Entre com a o preo da bolcha: ")
Qde_bolacha=input("Entre com a o qde de bolacha: ")
Valor_arroz=input("Entre com a o preo do arroz: ")
Qde_arroz=input("Entre com a qde de arroz: ")
Valor_feijao=input("Entre com a o preo do feijo: ")
Qde_feijao=input("Entre com a qde de feijo: ")
Custo_medio= ((Valor_bolacha* Qde_bolacha)+
(Valor_arroz* Qde_arroz)+ (Valor_feijao* Qde_feijao))/(
Qde_bolacha+ Qde_arroz+ Qde_feijao);
Sprintf("O custo mdio :%.5g",Custo_medio)
63
OPERADORES DE COMPARAO
< Menor
<= Menor ou igual
> Maior
>= Maior ou igual
== Igual
~= Diferente
& E
| Ou
~ No
%t verdadeiro
%f falso
Exemplo
Comparando os vetores
x=[1,2,3]; y=[1,1,3];
x==y
Ans=
TFT
64
14.4 Estrutura if elseif else end
utilizada para criar condies (se seno se seno). A
rotina de comandos s compilada se a condio apontada
for verdadeira
if <condio1>
<comando1>
<comando n>
else
<comando final>
End
Exemplo
Um professor da Unifei deseja elaborar um programa que
leia duas notas e calcula a mdia delas. Se a media delas for
maior que 6 o programa dever contar aprovado para o
aluno, caso contrrio reprovado. Crie esse programa
65
Soluo
//Criando o programa no Scinotes
nota1 = input(digite a primeira nota);
media = (nota1+nota2)/2;
if media > 7
printf("aprovado!");
else
printf("reprovado!");
end
Exemplo
Elabore um programa que calcula o valor da funo:
66
Soluo
x = input("Entre com o valor de x");
if x >= 0
f = x^2+16;
else
f = 0;
end;
printf("O valor da funo %g\n",f);
Exemplo
Leia trs medidas (nmeros) a, b e c. Depois verifique se
elas podem ser as medidas dos lados de um tringulo. Se
forem, verifique se o tringulo equiltero, issceles ou
escaleno
Soluo
// Leitura das medidas
67
// formam um tringulo.
if a == b & b == c
else
if a == b | a == c | b == c
else
end
end
else
// desigualdade triangular.
End
68
14.5 Estrutura de Repetio for end
Essa estrutura permite que uma sequncia de comandos seja
executada um nmero especfico de vezes
for <variavel>=<inicio>:<fim>
<comandos>
end
Exemplo
Elabore um programa para escrever todos os nmeros pares
inteiros entre 1 e 50
Soluo
for i=2:2:50
printf("%g ",i);
end
Exemplo
Calcule o valor de S usando alguma estrutura de repetio
Dica: numerador=2*denominador-1
69
Soluo
s= 0;
for d=1:50
s = s + (2*d-1)/d;
end
printf("Valor de S = %g\n",s);
70
end
disp(soma)
Exemplo
Elabore um programa que calcule a mdia das notas de
cinco alunos
Soluo
i= 1;
while i <= 5
nota1 = input("Digite a 1a. nota bimestral");
nota2 = input("Digite a 2a. nota bimestral");
nota3 = input("Digite a 3a. nota bimestral");
nota4 = input("Digite a 4a. nota bimestral");
media = (nota1 + nota2 + nota3 + nota4)/4;
printf("Media = %g\n",media);
i = i + 1;
end
printf("Fim do programa");
71
14.7 Comando Break
utilizado dentro de uma estrutura for ou while com o
objetivo de parar a execuo de uma cadeia de comandos e
pular para o end
Continue:
Exemplo
for i=1:5
if i==3
break;
end
printf('i=%d\n',i);
end
disp('Fim do looping');
72
14.8 Estrutura de Seleo Switch:
switch <variavel>
case <caso1>
<expresso1>
case <caso2>
<expresso2>
<expresso n>
otherwise
<expresso final>
end
73
Exemplo
Leia um nmero inteiro que representa um cdigo de DDD
para discagem interurbana. Em seguida, informe qual
cidade o DDD pertence, considerando a tabela abaixo:
DDD CIDADE
61 Braslia
71 Salvador
11 So Paulo
21 Rio de Janeiro
74
15. Xcos
Executando: Para acessar o Xcos, basta escrever xcos no
ambiente inicial (Figura 1.0), ou clicar no cone no
cabealho do programa (Figura 1.1).
Figura 1.0
Figura 1.1
75
15.1 Exemplos de Projetos
15.1.1 Motor DC
O programa elaborado abaixo tem como objetivo
analisar o funcionamento de um motor de corrente contnua
(DC). Por meio desse programa possvel saber qual o
ngulo de sada e da velocidade angular. conveniente
ressaltar que o programa foi idealizado para ser utilizado no
controle de motores, permitindo um uso mais eficiente para
as mais variadas situaes. Suas aplicaes so inmeras,
mas especificamente, foi pensado para ser usado no sistema
de controle dos motores de robs de batalha da equipe
Uai!rrior da Universidade Federal de Itajub (UNIFEI).
Considere um motor DC, cujo circuito eltrico se
mostra na figura abaixo:
CONTROLE DE UM MOTOR DC
76
Valores para os parmetros fsicos do motor
Momento de inrcia do motor J=0.01kg.m2
Frico do sistema mecnico b=0.1Nms
Constante da fora K=0.01Nm/A
eletromotriz
Resistencia eltrica R=1W
Indutncia L=0.5H
77
Fazendo a transformada de Laplace nas equaes,
temos:
Manipulando as equaes:
[ ]
78
do programa (Motor DR no caso)
79
Resultado final do seu Xcos
STEP_FUNCTION
80
Este bloco simula a tenso de entrada do motor, para
podermos executar o programa.
BIGSOM_f
GAINBLK_f
INTEGRAL_f
CLOCK_c
81
CSCOPE
82
Na Figura 1, observa-se que as foras que atuam sobre o
movimento de um pndulo simples so a fora de trao T
no fio e o peso do corpo de massa m.
Figura 1
83
proporcional velocidade do pndulo. A Equao (2)
modela o movimento, considerando essa fora.
Modelo no Xcos
84
Figura 2: Diagrama de blocos no Scilab Xcos
Blocos utilizados
Para a construo desse diagrama foram utilizados os
seguintes blocos disponveis na biblioteca do Scilab:
CONST: Simboliza uma constante de entrada.
No modelo de pndulo descrito anteriormente, a partir da
equao diferencial do movimento do pndulo, tem-se que
as constantes utilizadas para a resoluo do problema so:
g: gravidade local
L: comprimento do fio
b: constante de amortecimento
85
Figura 3: Constantes aplicadas ao modelo e seus respectivos valores.
86
No modelo em questo so somados os valores resultantes
das operaes i) e ii) especificadas anteriormente. Como na
equao do movimento temos que
87
valor de , o qual tambm tem um valor inicial (para o
exemplo: e utilizado para o produto i).
TrigFun: Calcula uma funo trigonomtrica a partir do
sinal de entrada.
No caso do diagrama apresentado, foi utilizada para o
problema a funo , para a qual o valor de foi
obtido no prprio processo.
Figura 4: TrigFun.
88
Fornece o grfico da velocidade do movimento do pndulo
em funo da posio do mesmo durante o movimento
amortecido.
Anlise da Resposta
89
O segundo grfico obtido representa o retrato de fase do
movimento. Em oposio ao pndulo simples sem
amortecimento, em que o retrato de fase mostraria rbitas
90
16. Referncias Bibliograficas
http://sites.poli.usp.br/d/pme2600/2011/Trabalhos%20fi
nais/TCC_024_2011.pdf (Acesso em 17/01/2017)
http://cloud.scilab.in/ (acesso em 12/01/2017)
http://scilab.io/ (Acesso em 14/01/2017)
http://www.ime.unicamp.br/~encpos/VIII_EnCPos/Apo
stila_Scilab.pdf
(Acesso em 21/01/2017)
91