Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Scilab
Pgina na internet: http://www.scilab.org Consiste tambm de um interpretador A linguagem e o sistema possuem o mesmo
nome: Scilab
Scilab
O ambiente e a linguagem Scilab
O ambiente Scilab: Interpreta comandos; Oferece um editor para construo de programas; Emite mensagens de erros relativos obedincia da
Como qualquer linguagem natural, a linguagem Scilab: Une riqueza de expresso a detalhes sintticos; Exige uma postura paciente em seu aprendizado, pois
envolve uma taxa inicial de memorizao. A fluncia vem com a prtica.
Scilab
O ambiente Scilab
Barra de menus
Barra de ferramentas
Prompt de comandos
Scilab
O ambiente Scilab
Alguns comandos:
PWD (ou pwd): diretrio onde o Scilab foi lanado. Onde seu script est rodando. -->pwd ans = C:\Scilab
Scilab
O ambiente Scilab
Scilab
O ambiente Scilab
OUTROS: clc: limpa a tela; clear: apaga as variveis Como salvar um Ambiente de trabalho: Na barra de menus acionar: Arquivo Salvar ambiente... Como abrir um Ambiente salvo anteriormente: Arquivo Carregar ambiente...
Scilab
Variveis e comandos de atribuio
Variveis correspondem a nomes para espaos de
memria que so gerenciados pelo Scilab;
como tal gerncia realizada.
ou qualquer caractere dentre: ' % ', '_', '#', '!', '$' e '?'; Os outros caracteres podem ser letras ou dgitos ou qualquer caractere dentre '_', '#', '!', '$' e '?.
Scilab
Variveis e comandos de atribuio
Nomes vlidos: A, a, jose, total_de_alunos, #funcionrio
Nomes invlidos: 1aluno (primeiro caractere um algarismo); Total de alunos (tem espaos); Jos ( acentuado).
Observao: o scilab case sensitive: distingue letras maisculas de minsculas. Ou seja, por exemplo, x e X seriam variveis diferentes.
Scilab
Variveis e comandos de atribuio
Exemplos:
Prompt de comandos a uma varivel que passa a existir; no caso, atribudo o valor de 10 mesma
-->a=10 a =
10.
O scilab mostra o valor recebido pela varivel
Exponenciao O valor atribudo pode ser uma expresso aritmtica com variveis j conhecidas
Scilab
Comando de atribuio
Sintaxe:
<varivel> = <expresso> A <varivel>, se no existia, passa a existir. Se existia, o valor armazenado anteriormente perdido.
Scilab
Comando de atribuio
-->d=a+x !--error 4 Varivel indefinida: x
Todas as variveis em uma expresso devem ser definidas anteriormente.
-->b=2*b b = 2048.
* denota multiplicao
Scilab
Comando de atribuio
-->a= %pi a =
3.1415927 -->b=2*%pi ;
Constante aritmtica: valor pr definido de p ; suprime a apresentao automtica do valor
-->c=cos(a)+sqrt(b) c =
1.5066283
O Scilab oferece vrias funes pr-definidas.
Scilab
Comando de atribuio
Algumas funes pr definidas do Scilab: abs(x) valor absoluto de x. sin(x) seno de x. cos(x) cosseno de x. exp(x) exponencial ex. log(x) logaritmo de x na base e (logaritmo natural ou neperiano). sqrt(x) raiz quadrada de x. sum(x) soma algbrica dos elementos de x. max(x) maior elemento de x. min(x) menor elemento de x.
Scilab
Expresses aritmticas
Expresses podem ser arbitrariamente complicadas. Por
exemplo: Qual o valor de x a partir do comando x = 2^3*4 ? 23 x 4 = 32 ou 23x4 = 4096 ?
Prioridade 1a 2a 3a
Associatividade Da direita para a Potenciao esquerda Multiplicao, Da esquerda para a diviso. direita adio, subtrao da esquerda para a direita
Operao
Scilab
Expresses aritmticas
-->2^3*4 ans = 32. -->2^(3*4) ans = 4096. -->2^(3^4) ans = 2.418D+24 Notao Scilab (com Fortran,C, Java,...) para 2.418x1024
Scilab
Vetores/Matrizes
Matrizes so variveis que contm uma quantidade
potencialmente grande de valores.
-->A=[1 2 3;4 5 6] A = 1. 4. 2. 5. 3. 6.
Este comando cria uma matriz 2 x 3, com os valores de cada linha separados por ;
Scilab
Vetores/Matrizes
Todas as variveis Scilab so, a princpio, matrizes. -->x = 7 x = 7. -->[l,c]=size(x) c = 1. l = 1.
Scilab
Vetores/Matrizes
OU:
--> x = [1 2 3;4 5 6] x = 1. 2. 3. 4. 5. 6.
Scilab
Vetores/Matrizes
Obtendo o valor de um elemento da matriz: -->A=[1 2 3;4 5 6] A = 1. 4. 2. 5. 3. 6.
-->e=A(2,3) e = 6.
Scilab
Vetores/Matrizes
Vetores so matrizes de uma nica linha ou de uma
nica coluna.
Para acessar o valor 20, usa-se v(1,2) ou simplesmente v(2)
-->v=[10 20 30] v = 10. 20. 30. -->u=[10; 20; 30] u = 10. 20. 30.
Scilab
Vetores/Matrizes
Obtendo valores de uma linha de uma matriz:
x = 18. 19. 7. 8. 15. 5. 10. 5. 11. 11. 2. 5. 13. 15. 1. 13. 4. 8. 17. 12. 10. 4. 17. 2. 6. 17. 17. 11. 20. 13.
4.
4.
17.
Scilab
Vetores/Matrizes
Obtendo valores de colunas de uma matriz:
x = 18. 19. 7. 8. 15. 5. 10. 5. 11. 11. 2. 5. 13. 15. 1. 13. 4. 8. 17. 12. 10. 4. 17. 2. 6. 17. 17. 11. 20. 13.
10. 4. 17. 2. 6.
Scilab
Vetores/Matrizes
-->x=[1 2 3 4;5 6 7 8] x = 1. 2. 3. 4. 5. 6. 7. 8.
-->x(2,:) ans =
5.
-->x(2,2:3) ans = 6. 7.
Linha 2 e colunas 2 e 3
-->M=[x(:,1) x(:,4)] M = 1. 5. 4. 8.
Scilab
Operaes com matrizes
Como todas as variveis scilab so matrizes, as
operaes aritmticas usuais (+, -, *, /, ^) so entendidas pelo Scilab como operaes matriciais.
Scilab
Operaes com matrizes
Matrizes de mesmas dimenses podem ser somadas ou
subtradas -->x=[1 2 3;4 5 6]; y=[10 20 30;40 50 60]; -->x+y ans = 11. 44. -->x-y ans = 22. 55. 33. 66.
- 9. - 36.
- 18. - 45.
- 27. - 54.
Scilab
Operaes com matrizes
Produto entre matrizes
-->x=[1 2 3;4 5 6] x = 1. 2. 3. 4. 5. 6. -->y=[10 y = 10. 30. 50. -->x*y ans =
280 = 1x20 + 2x40 +3x60 O nmero de colunas da primeira matriz deve ser igual ao nmero de linha da segunda.
220. 490.
280. 640.
Scilab
Operaes com matrizes
Produto elemento a elemento de matrizes
-->x=[1 2;4 5];y=[10 20; 30 40];
-->x * y ans =
70. 150. -->x .* y ans = 10. 120. 40. 200. 100. 220.
Produto matricial
Scilab
Operaes com matrizes
-->x=[1 2;3 4];
Multiplicao por escalar -->y=2*x y = 2. 6. 4. 8.
-->x=[1 2 3;4 5 6] x = 1. 2. 3. 4. 5. 6.
-->y=x' y = 1. 2. 3.
Matriz transposta
4. 5. 6.
Scilab
Operaes com matrizes
Exponenciao de matrizes
-->x=[1 2;3 4];
10. 22.
Exponenciao elemento a elemento
4. 16.
Scilab
Operaes com matrizes
Exponenciao de matrizes
-->x=[1 2]; -->x^2 ans = 1.
4.
Scilab
Operaes com matrizes
Outras:
Matriz de zeros
-->M=zeros(2,3) M =
0. 0.
-->N=ones(3,2) N = 1. 1. 1. 1. 1. 1.
0. 0.
0. 0.
-->I=eye(3,3) I =
1. 0. 0. 0. 1. 0. 0. 0. 1.
Scilab
Exemplos gerais
1) Equao do segundo grau:
Razes da equao
ax 2 bx c 0
b x 2a b 2 4ac
Scilab
Exemplos gerais
1.1) Equao exemplo:
x2 2x 3 0
Atribuio de valores aos coeficientes e clculo do discriminante
Scilab
Exemplos gerais
1.2) Equao exemplo:
x2 4x 4 0
x2 x 3 0
0.5 + 1.6583124i
0.5 - 1.6583124i
Scilab
Exemplos gerais
2) Sequncia de nmeros igualmentes espaados: -->x=1:2 x = 1. 2. Espaamento de 0.5. Espaamento padro.
-->x=1:0.5:2 x =
1.
1.5
2. Sequncia decrescente
-->y=3:-0.5:1 y = 3. 2.5 2.
1.5
1.
Scilab
Exemplos gerais
2) Sequncia de nmeros igualmentes espaados: -->x=1:0.5:2,y=x^2 x = 1. = 1. 1.5 2. Atribuio a uma funo.
2.25
4.