Sie sind auf Seite 1von 91

1

O Grupo PET Engenharia Mecnica da Unifei


iniciou suas atividades em outubro de 2009, tendo o
docente Sebastio Simes como tutor. A partir de 2010
atividades importantes comearam a ser desenvolvidas,
dentre elas: cursos de extenso, projetos de pesquisa
(iniciao cientfica), desenvolvimento na modalidade de
ensino a distncia-presencial e monitorias em disciplinas.
O projeto tem como foco principal o desenvolvimento de
um grupo de estudos voltado para a aeronutica, atuando
nas diferentes subreas da engenharia mecnica de forma a
se ter uma melhor complementao do projeto pedaggico
do curso. Os alunos petianos desenvolvem trabalhos tendo
como base as vertentes: Ensino/Pesquisa/Extenso.

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

Indstria Aeroespacial Defesa


CNES, Airbus, Airbus DS, DLR, Safran, Dassault
Aviation, DGA, Thales
Indstria Automotiva
PSA, Renault, Leoni, Valeo, Continental, Faurecia,
TMD Friction
Indstria Metalrgica
ArcelorMittal, Aperam, Alcan, Eramet
Indstria de Energia
CEA, EDF, RTE, ABB, Total, IFP, Alstom
Indstria Qumica
Solvay/Rhodia
Farmacutica
Sanofi
Indstria Eletrnica
Stmicroelectronics, Microship, Xilinx
Indstria de Sistema de Medio
Dantec Dynamics

6
3.1 Indstria Aeroespacial - Defesa

Projeto baseado em modelo de um sistema de alerta


de proximidade de solo melhorado: http://scilab.io/use-
cases/model-based-design-of-an-enhanced-ground-
proximity-warning-system/
Concepo de experincias e otimizao de projeto
de aeronaves: http://scilab.io/use-cases/design-of-
experiments-and-optimization-of-aircraft-design/
Pr-dimensionamento mecnico de Ariane:
http://scilab.io/use-cases/mechanical-pre-sizing-of-
ariane/
Estudos paramtricos em conjunto com
solucionadores de elementos finitos: http://scilab.io/use-
cases/parametric-studies-in-conjunction-with-finite-
element-solvers/
Anlise de dados de voo de lanadores Ariane:
http://scilab.io/use-cases/flight-data-analysis/
Misso Rosetta: http://scilab.io/use-cases/rosetta-
mission/

7
3.2 Indstria Metalrgica e Mineradora

Integrao de modelos de simulao heterogneos:


http://scilab.io/usecases/heterogeneous-simulation-
models-integration/
Modelo de um reator metalrgico:
http://scilab.io/use-cases/model-of-a-metallurgical-
reactor/

8
3.3 Indstria Automotiva

Controle de Vlvula de Amostragem de um Motor


Diesel: http://scilab.io/use-cases/sampling-valve-
control-of-a-diesel-engine/
Pr-dimensionamento trmico de componentes
eletrnicos: http://scilab.io/use-cases/thermal-pre-
dimensioning-of-electronics/
Modelagem e design de ventiladores axiais
automotivos: http://scilab.io/use-cases/automotive-axial-
flow-fans-modeling-and-design/
Dimensionamento do Sistema de Distribuio
Eltrica: http://scilab.io/use-cases/dimensioning-
electrical-distribution-system/
Ps-tratamento aero-acstico:http://scilab.io/use-
cases/aero-acoustic-post-treatment/

9
3.4 Indstria de Energia e Meteorologia

Reduo de modelo para otimizao de energia


elica: http://scilab.io/use-cases/model-reduction-for-
wind-energy-optimization/
Simulao de instalaes de petrleo offshore no
nvel do sistema: http://scilab.io/use-cases/simulation-
of-offshore-oil-facilities-at-the-system-level/
Previso do tempo com Scilab: http://scilab.io/use-
cases/weather-forecasting-with-scilab/
Modelo Brash de crescimento de gelo em operao
GNL: http://scilab.io/use-cases/brash-ice-growth-model-
in-lng-operation/

10
3.5 Pesquisa e Educao

Reduo de modelo para otimizao de energia


elica: http://scilab.io/use-cases/model-reduction-for-
wind-energy-optimization/
Os sistemas embarcados em tempo real exigem
maior desempenho: http://scilab.io/use-cases/real-time-
embedded-systems-require-higher-performance/
Radiao Termomtrica: http://scilab.io/use-
cases/radiation-thermometry-2/
Abordagem baseada em modelos em bancos de
ensaio: http://scilab.io/use-cases/model-based-approach-
on-test-benches/
Ferramenta diagnstica na agricultura:
http://scilab.io/use-cases/diagnostic-tool-in-agriculture/

11
3.6 Indstria Farmacutica - Mdica

Otimizao do consumo de energia:


http://scilab.io/use-cases/energy-consumption-
optimization/
Mdulo de anlise de ondas cardiovasculares:
http://scilab.io/use-cases/cardiovascular-wave-analysis-
module/

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

O Scilab case sensitive, isto , a varivel a diferente da A


Caracteres acentuados no so permitidos (Verses anteriores a 6.0.0)
Variveis aceitas: PET, W, D1, B2, b1, matricula e MEDIA
Variveis invlidas: 3T, 1b, nota[1], A/B e X@Z

Exemplo

-->rea=1.23d4

-->rea=5.4 3.0

-->Area=%pi

-->Mecnica_Produo=10/2+5*2+5^2

-->x1=5.4

Observao: Note nos exemplos acima que d denota


notao cientfica, . Para representar nmeros decimais, e
+ - ^ / * operaes matemticas

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

Exerccio: Calcule o valor das funes abaixo e escreva um


comentrio no final

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)

Retorna o ngulo (em


acos(x), asin(x), atan(x)
radianos) das funes arcos

Exerccio: Calcule o valor da funo abaixo

- 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

Exerccio: Calcule o valor inteiro da expresso abaixo

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:

Diante disso, utilizando a funo function, calcule o valor


de

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

11.1 Declarando um Vetor

Para se definir um vetor no Scilab, utilizado [ ]


Para um vetor linha, a separao entre os componentes
pode ser feito por vrgula ou espao simples
Exemplo
A=[1,2,3] ou A=[1 2 3]
Os itens contidos em um vetor so chamados de
elementos do vetor. Seus elementos podem ser acessados
individualmente, atravs da notao: varivel (Posio do
elemento)
Exemplo
b=[5,6,7,8,9];
a=b(4) significa que voc quer acessar (encontrar o valor)
do quarto elemento do vetor b

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]

Outra notao para se definir um vetor mostrada a


seguir:
a=[1:2:10] {Quero um vetor que vai de 1 at 10 com
passo 2}
b=[10:-2:1] {Quero um vetor que vai de 10 at 1 com
passo -2}
c=linspace(1,9,5) {Quero um vetor que vai de 1 at 9 com
5 nmeros}
obs: vetor=1:10 equivalente ao vetor=1:1:10. Quando o
termo central esta omitido, isso significa que ele equivale
ao algarismo 1

23
OPERAES COM VETORES
SOMA v3=v1+v2
SUBTRAO v3=v1-v2
MULTIPLICAO v3=v1.*v2
DIVISO v3=v1./v2
EXPOENTE v3=v1.^v2

Obs1: Considere os vetores v1 e v2 de mesmas


dimenses.

Obs2: Repare no ponto antes do sinal da


multiplicao, diviso e do expoente em vetores, matrizes!

Transposio: possvel transformar um vetor linha


em um vetor coluna e vice-versa. Para isso usa-se o
apstrofo ( ) aps o vetor o qual se deseja transpor
Exerccio
Faa o vetor transposto de um vetor com limite inferior 1 e
limite superior 10. Sabe-se ainda que cada elemento do
vetor tem uma diferena de 2.

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( )

1. Encontra ndices para uma determinada condio

--> x=-3:3 x = -3 -2 -1 0 1 2 3

2. Se quisermos encontrar que elementos da matriz


satisfazem esta condio:

--> k=find(abs(x)>1) { Encontra os ndices dos valores que


satisfazem a condio

k = 1 2 6 7 mdulo maior que 1}

{O primeiro, segundo, sexto e stimo elementos de x


satisfazem a condio}

3. Para saber os valores dos elementos que satisfazem a


condio, usa-se x(k):

--> x(k) -3 -2 2 3

4. Atribuio de zero a todos os valores que satisfazem esta


condio:

--> 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).

Exerccio: (Obs: Esse exerccio utiliza recursos de


programao que sero abordados nas prximas aulas, o
intuito de passar vetores-Strings abranger a utilizao do
mesmo nas mais variadas situaes do cotidiano)

Elabore um programa que leia o dia, o nmero do ms e


o ano. Em seguida escreva a data no formato D de MMM
de AAAA(ou D de MMM de AA)

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]

12.1 Construes Algbricas de Matrizes


array3= [ array1(3) 7+1] {Usa o terceiro elemento
da matriz chamada array1}

array4= [ array1 array2]

Se somente um elemento de uma matriz for definido, os


demais sero preenchidos com zero.

29
Exemplo
C(2,3)=8

Se a matriz j estiver definida e atribuirmos um


elemento fora de seu tamanho estipulado, todos os
elementos no definidos tambm sero inicializados como
0.
C(3,4)= 3

// Ganhou a 3 linha e a 4 coluna


Obs: Quando uma matriz j est definida, podemos alterar
um elemento por meio de um nmero, conforme mostra o
exemplo.
C(8)= 11

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

//Para os elementos da primeira linha e todas as colunas


atribuiu-se o valor de 3

C(:,2)=7

//Para os elementos da coluna 2 e todas as linhas atribuiu-se


o valor 7

Exerccio

Construa uma matriz C, constituda pela matriz A e pela 1


e 3 coluna da matriz B

Dados: A=[1 2 3; 4 5 6; 7 8 9] e B=[10 11 12; 13 14 15;


16 17 18]

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])]

Pergunta: O que aconteceria se fizssemos:


C=[A,B(:,[1,3])] ?

12.2 Manipulao de Matrizes


Montar um vetor b armazenando as colunas de A:
A=[1,2,3;4,5,6;7,8,9];
b=A(:);

Eliminar a 2 linha de A: Quando se trata de uma


linha/coluna (que pode ser considerada um vetor), deve-se
atribuir [ ] e no 0 quando se deseja-se elimin-la

32
Exemplo
A(2,:)=[ ]

Substituir um elemento por zero/ Eliminar um elemento


de uma matriz: No possvel eliminar um elemento de
uma matriz. A notao [ ] s vlida para vetores.
A(2,2)=0

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

//Extrair todas as linhas da segunda terceira


coluna da matriz A.

Substituir em G (vetor de 6 posies) as 2 e 3 colunas


de A

Atribuir zero a todos os elementos da 2o linha de A

34
Matriz identidade de ordem n: eye(n)

Matrizes de zeros: zeros (m,n)

//Matriz quadrada 3x3

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)

b) 2*g/5+1 //ou (2.g./5)+1

c)

d)

e)

f)

38
g)

h)

i)

12.3 Propriedade das Matrizes

12.3.1 Matriz Transposta: Utilizar o apstrofo ( )

Exemplo

array1=[1 2 3;4 5 6];

transposta=array1

12.3.2 Determinante da Matriz: Utiliza-se a funo


det(x). Lembrando que para ter determinante, a matriz

39
precisa ser quadrada. Assim, acrescentaremos mais uma
linha na matriz array1, de modo a torna-la 3x3

[ ]

Determinante=det(array1)

12.3.3 Matriz Inversa: Utiliza-se a funo inv(x)

Exemplo

x=[1 2;2 2];

12.3.4 Tamanho da Matriz: Utiliza-se a funo size (x)


para retornar o tamanho de uma matriz (nmero de linhas,
nmero de colunas)

40
12.3.5 Matriz Escalonada: Utiliza-se a funo rref(x) para
retornar a matriz x na forma escalonada

x=[1 2 3;4 5 6; 7 8 9];

12.4 Resolues de Sistemas de Equaes Lineares


Tendo um sistema, pode-se encontrar a sua soluo
aplicando-se matriz inversa, como demonstrada abaixo:

Onde I a matriz identidade

41
Exemplo

Considere o seguinte sistema de equaes:

Ax=b sendo A=[1 2 1; 4 1 2;6 3 1] e b=[1;0;2]

Para resolvermos esse sistema de equaes podemos dizer


que x=inv(A)*b ou pode-se usar a barra invertida x=A\b

Exemplo

Resolva o sistema abaixo:

13,20

Soluo

A=[2 1,5 1;1 6 -2;0 2 4];

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)

2 Passo: Criar um vetor y, em funo de x, como eixo das


ordenadas (Imagem)

3 Passo: Comando plot(x,y)


LEMBRANDO!

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

Obs: Os comandos abaixo podem ser atribudos com a


notao do programa LaTeX

xlabel("Nome do eixo x ") //Outra opo abaixo


xlabel("$-10\le x\le 10$","fontsize",4,"color","red")

ylabel("Nome do eixo y") //Outra opo abaixo


ylabel("$y(x)=\frac{1}{1+x^2}$","fontsize",4,"color","
red")
xtitle("Nome do grfico")
title("Ttulo do grfico","color","red","fontsize",4)
xgrid: Coloca grade no grfico
legend (["Texto1"]);
xstring(Valor de x, Valor de y,"Texto"): Escreve
dentro do grfico
scf (n): Abre uma janela de figura n
clf: Limpa o grfico

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)

c (Azul-clara) x (Cruz) -- (Tracejada)


r (Vermelha) + (Positivo) - (Contnua)
g (Verde) * (Estrela)
b (Azul) s (Quadrado)
w (Branca) d (Losango)
k (Preta) v (Tringulo para cima)
< (Tringulo para a
esquerda)
> (Tringulo para a direita)
p (Pentagrama)

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.

Tamanho Fonte da letra


0 Courier
1 Symbol
2 Times
3 Times Italic
4 Times Bold
5 Times Bold Italic

0 Black 1 Black 2 Dark blue


3 Bright green 4 Sky blue 5 Bright red
6 Purple 7 Bright red 8 white
9 Light blue 10 Blue 11 Dark blue
12 Sky blue 13 Dark green 14 Dark green
Dark greenish
15 Bright green 16 Dark green 17
blue
18 Greenish blue 19 Dark red 20 Dark red
21 red 22 Dark purple 23 Bright purple
Dark reddish Dark reddish
24 25 26 Reddish brown
brown brown
27 Dark orange 28 Pink 29 Pink
30 Pink 31 Pink 32 Dark yellow

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

x =linspace (-10, 10, 100)

y = 1./(1+x.*x);

plot(x,y,'r+')
xtitle('Funo y=x')

xlabel('Eixo x')

ylabel('Eixo y')

xstring(-1,0.5, 'Boa Noite')

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

Funo champ: mostra campos vetoriais

Exemplo: Velocidade da gua em movimento circular

; ;

[ ]

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

14.1 Comando input


y=input("Entre com o valor de y") - Armazena na varivel
y um valor digitado pelo usurio
z=input("Entre com o valor de z ", 's') Armazena na
varivel z um dado de entrada string, digitado pelo usurio

Exemplo
Crie um programa que leia as notas dos alunos da tabela e
calcule a mdia

Aluno Otvio Evandro Matheus Carol Piranguinho


Nota 6 7,5 9 10 4

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

14.2 Comando disp: imprime uma frase

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

Time=input("Entre com o nome de um time: ",'s');

disp("O meu Time : ")

disp(Time)

61
Exemplo
A funo disp frequentemente usada em conjunto com a
funo string

a=input('entre com o nome de uma cidade','s')

disp("A cidade : "+string(a))

nome="Unifei";

disp ("A universidade :" +nome)

14.3 Comando sprintf

sprintf () - Imprime uma frase seguida de um determinado


valor. Deve-se especificar se deseja imprimir em notao de
ponto fixo , %.f, exponencial, %e, ou o que seja mais
curto, %.ng, (n representa a quantidade de casas que
sero mostradas).

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>

elseif <condio n>

<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);

nota2 = input(digite a segunda nota);

media = (nota1+nota2)/2;

printf("Sua mdia %g\n",media)

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

a = input("Digite a primeira medida");

b = input("Digite a segunda medida");

c = input("Digite a terceira medida");

if a < b + c & b < a + c & c < a + b // Verifica se as medidas

67
// formam um tringulo.

if a == b & b == c

printf("Tringulo equiltero"); // Trs lados iguais.

else

if a == b | a == c | b == c

printf("Tringulo issceles"); // Dois lados iguais.

else

printf("Tringulo escaleno"); // Todos os lados so


diferentes.

end

end

else

printf("No um tringulo\n"); // No satisfez a


propriedade da

// 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);

14.6 Estrutura de Repetio while end


utilizado para repetir uma sequncia de comandos um
nmero indefinido de vezes.
Inicializar a condio
while <condio atendida>
<comandos>
end
Exemplo
a=1;
soma=0;
while a==1
soma=soma+input('Digite um nmero: ');
a=input('Deseja somar mais nmeros? (1-Sim, 2-No)');

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:

- utilizado dentro de uma estrutura for ou while com o


objetivo de parar a execuo de uma cadeia de comandos e
voltar para o incio dela

Exemplo

for i=1:5

if i==3

break;

end

printf('i=%d\n',i);

end

disp('Fim do looping');

// Tente agora substituir o break pelo continue

72
14.8 Estrutura de Seleo Switch:

utilizado para selecionar qual caso utilizar. altamente


utilizado para fazer menus para auxiliar o usurio utilizar o
programa

switch <variavel>

case <caso1>

<expresso1>

case <caso2>

<expresso2>

case <caso n>

<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

Obs: Se a entrada for qualquer outro DDD que no esteja


presente na tabela acima, o programa dever informar:
DDD no cadastrado

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

Paletas dos blocos: ambiente no qual se tem todas as


bibliotecas para a execuo e simulao.

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

Obs: Suponha que tanto o motor quanto o eixo sejam


rgidos
O torque do motor T est relacionado com a corrente i
atravs de uma constante K:

A fora eletromotriz (fem) Vb est relacionada com a


velocidade angular pela equao:
Vb=K=K.d/dt (A velocidade angular de uma partcula
ou de um corpo rgido descreve a taxa com que a
sua orientao muda)
Baseando-se na lei de Newton e na lei de Kirchhoff
obtemos a equao:

77
Fazendo a transformada de Laplace nas equaes,
temos:

Manipulando as equaes:

A funo de transferncia para uma entrada de voltagem


V(s) e um ngulo de sada dado por:

[ ]

Abra a rea do Xcos no Scilab e em seguida clique em


simulaodefinir contexto; Aps isso, defina os valores

78
do programa (Motor DR no caso)

Com o auxilio da funo de transferncia obtida


teoricamente, a simulao poderia ser feita atravs da
representao desse diagrama acima.
Para trabalhar de uma forma mais sensata, voc cria um
super bloco (seleciona o que quer e faz isso)

79
Resultado final do seu Xcos

Blocos utilizados no programa

STEP_FUNCTION

80
Este bloco simula a tenso de entrada do motor, para
podermos executar o programa.

BIGSOM_f

Este bloco soma os sinais de entrada mais a fora


eletromotriz gerada pelo processo nos passos anteriores.

GAINBLK_f

Este bloco multiplica a constante eletromotriz velocidade.

INTEGRAL_f

Integra o sinal da velocidade angular obtendo assim o


ngulo de sada

CLOCK_c

Controla o tempo de simulao

81
CSCOPE

Gerar os grficos dos dados solicitados, no nosso caso,


ngulo de sada e velocidade angular.
15.1.2 Projeto de um Pndulo
O pndulo simples consiste em um sistema formado por um
corpo de massa m suspenso por um fio flexvel e
inextensvel. Quando este corpo afastado dessa posio de
equilbrio e solto, ele realiza um movimento oscilatrio em
torno dessa posio, provocado pela ao restauradora da
acelerao da gravidade. Embora seja um sistema bastante
simples, o pndulo apresenta algumas importantes
aplicaes. No sculo XIX, seu princpio de funcionamento
foi utilizado por Foucault para a comprovao do
movimento de rotao da Terra. Alm disso, pode ser
empregado na determinao da gravidade de um local na
superfcie da Terra baseando-se em seu perodo de
oscilao.

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

Fazendo-se um equilbrio de foras na direo radial do


movimento, obtm-se a equao diferencial (1), que modela
o movimento do pndulo simples

A resistncia do ar provoca um amortecimento no


movimento oscilatrio do pndulo. A fora de
amortecimento causada pela resistncia do ar

83
proporcional velocidade do pndulo. A Equao (2)
modela o movimento, considerando essa fora.

Dividindo termo a termo a equao (2) pelo termo mL


pode-se obter a equao (3), a qual ser utilizada para o
modelo matemtico do problema.

Modelo no Xcos

A construo do diagrama de blocos no Scilab Xcos foi


baseada na equao diferencial ordinria no linear (3),
utilizando como condies iniciais para o problema em
questo:

Obtendo-se o seguinte diagrama de blocos apresentado na


Figura (2).

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.

PRODUCT: Multiplica ou divide os sinais ou constantes


presentes na entrada calculando a sada.
No modelo do pndulo foram usados dois blocos deste tipo:
i) O primeiro bloco PRODUCT fez a operao

ii) J o segundo bloco realizou a operao , utilizando

o valor de encontrado durante o processo

SUMMATION: Soma ou subtrai os sinais ou constantes


que entram no bloco de acordo com o smbolo do sinal que
configurado (+ ou -).

86
No modelo em questo so somados os valores resultantes
das operaes i) e ii) especificadas anteriormente. Como na
equao do movimento temos que

INTEGRAL_f: Representa o integrador (1/s) no domnio


de Laplace, ou seja, integra o sinal de entrada.
A primeira integral utilizada no modelo integra o valor

resultante da soma anterior, ou seja, integra o valor de .

Sabe-se que, integrando a acelerao chega-se na


velocidade. Da mesma forma, integrando-se a velocidade,
chega-se na posio.
Com isso, aplicando-se o primeiro bloco de integral,

chegamos na expresso de que, adotando-se um valor

inicial (para o exemplo: m/s), fornece o valor da

velocidade, o qual utilizado para o produto ii).


Analogamente, aps a segunda integrao, chega-se no

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.

CSCOPE: Permite visualizar o sinal de sada no domnio.


Fornece o grfico da posio do pndulo pelo tempo de
oscilao.

CLOCK_c: Necessrio ao utilizar o bloco CSCOPE para


fazer a simulao no tempo.

CSCOPXY: Traa o grfico de Y em funo de X, para o


presente diagrama, representa o retrato de fase do sistema
para as condies iniciais estabelecidas.

88
Fornece o grfico da velocidade do movimento do pndulo
em funo da posio do mesmo durante o movimento
amortecido.

Anlise da Resposta

A partir do modelo e dos parmetros utilizados para a


simulao, foram obtidos os grficos 1 e 2 apresentados.
O grfico 1 representa a amplitude do movimento pendular
no decorrer do tempo. Pela anlise desse grfico, possvel
perceber que o efeito do amortecimento no movimento do
pndulo o de reduzir sua amplitude de oscilao, fazendo
com que ela tenda a zero.

Grfico 1: Amplitude do movimento do pndulo com o decorrer do tempo.

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

fechadas (peridicas), o termo de amortecimento faz

com que qualquer rbita tenda para o ponto de equilbrio


(0,0), onde o pndulo tende ao repouso.

Grfico 2: Grfico da velocidade do pndulo em funo da amplitude do


movimento

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

Das könnte Ihnen auch gefallen