O que é o Scilab?
É um ambiente utilizado no desenvolvimento de software para resolução de problemas
numéricos.
É gratuito, free software e distribuído com código fonte
A última versão está sempre disponível, geralmente via Internet
Iniciando no Scilab:
Clique em Iniciar->Programas->Scilab 2.7
A janela abaixo será apresentada.
Na Figura acima observamos que o prompt do Scilab _e representado por uma seta, -->. Ainda
nesta figura podemos observar a existência de um menu horizontal com cinco vários opções:
File , Control , Demos , Graphic Window.
Operações básicas realizadas no Scilab:
Adição, Subtração, Multiplicação, Divisão, Potenciação
-- > 3+2; 3-2; 3/2; 3*2; 3^2 [enter]
-- > ans: resposta do cáculo
Funções:
Funções elementares: sum, prod, sqrt, diag, cos, max, round, sign,
Funções de algebra linear : det, inv, qr, svd, bdiag, spec, schur;
Polinômios : poly, roots, coeff, horner, clean, freq;
Também pode-se armazenar valores em variáveis:
-- > A=2
-- > A+5
-- > ans: 7
Atenção! No Scilab A = a
Ponto-e-vírgula no final de um comando inibe a apresentação do resultado.
-- > A=1; // Atribuindo a A o valor 1
-- > b=2; // Atribuindo a b o valor 2
-- > A + b; // soma de A e b
Algumas variáveis são precedidas pelo caracter %: %pi, %i, %e
Pode trabalhar com números complexos também no Scilab:
Para atribuir a A o valor complexo 5+2i e a B o valor complexo –2 + i:
-- > A= 5 + 2* %i
-- > B= -2 + %i
-- > Função raiz quadrada: sqrt( )
--> sqrt(-2)
Trabalhando com polinômios:
Dado o polinômio: x2 + 4x + 13 = 0
Como encontrar as raízes de um polinômio?
1º: atribuir valores a=1; b=4; c=13;
2º = construir a expressão que me permita encontrar as raízes: (fórmula de báscara)
-- > x1 = (-b + sqrt (b^2 – 4 * a * c)) / (2 * a)
-- > x2 = (-b - sqrt (b^2 – 4 * a * c)) / (2 * a)
O Scilab apresenta como solução:
x1 = -2.00 + 3.000i
x2 = -2.000 – 3.000i
outro exemplos:
a) encontrar as raízes do polinômio: 2 – 3x + x2
-- > a=1; b=-3; c=2;
-- > x1 (eu não preciso digitar novamente a fórmula, pois já foi feita anteriormente!)
-- > x2
b) encontrar as raízes do polinômio: x2 – 4
-- > a=1; b=0; c=-4;
-- > x1 = 2
-- > x2 = -2
Construir o polinômio a partir das raízes: poly (função usada pela ferramenta)
você deve digitar:
-->p=poly([1 2],’x’) [cria o polinômio cuja as raízes são 1 e 2 ]
-- > 2 – 3x + x2
ou -->p=poly([1 2],’x’)
outro exemplo:
-->p=poly( [3 4] ,’x’ )
Polinômio definido a partir dos coeficientes:
Um polinômio também pode ser criado a partir da especificação de seus coeficientes. Por
exemplo, o polinômio q = 2s + 1 _e criado através do comando,
--> // Polinomio definido pelos seus coeficientes
-->p = poly([1 2], 'x', 'coeff') // onde b=1 e a =2
--> p =
1 + 2s
Tendo o polinômio podemos obter as raízes dele através do comando roots
-->roots(q) // Obtendo as raizes do polinomio q
ans =
- 0.5
-->
Outro exemplo:
--> q=poly([-4 0 1], 'x', 'coeff ') //onde c=-4 b=0 c=1
q =
- 4 + x2
-->roots(q)
--> 2 e -2
Multiplicando, somando, divindo os polinômios:
1º determine os polinômios a serem somados:
--> p = poly([1 2], 'x', 'coeff')
--> q = poly([2 -3 1], 'x', 'coeff')
--> p* q //multiplicando
2 + x - 5x2 + 2x3
--> p+q //somando
3 - x + x2
--> p/q //dividindo
1 + 2x
----------
2 - 3x + x2
--> p-q //subtraindo
- 1 + 5x – x
Trabalhando em diferentes ambientes:
No Scilab existe o conceito de ambientes. Muda-se de ambiente através do comando pause
O retorno ao ambiente anterior se dá através dos comandos resume ou return
A utilização de ambientes é importante para a realização de testes.
Experimente:
-- > a= 1
-- > a+5
-- > 6
-- > pause (selecione pause no menu, ou digite)
agora atribua um novo valor:
-- > a= 3
-- > a+5
-- > 8
para voltar ao ambiente anterior
-- > resume
Trabalhando com Matrizes
Construindo uma matriz:
Matriz a é um matriz (2x3), 2 linhas e três colunas
-- > a = [1 2 3 ; 5 -8 9] //Elementos das linhas separados por virgulas
! 1. 2. 3. !
! 5. - 8. 9. !
outro exemplo:
-->// Matriz b (2 x 3)
-->b = [1 2 3; 4 5 6] ou com vírgula [1, 2, 3 ; 4 5 6]
b=
! 1. 2. 3. !
! 4. 5. 6. !
-->
Usamos a função ones para criar a matriz C(2x3), com todos os elementos iguais a 1.
-->c = ones( 2, 3)
c=
! 1. 1. 1. !
! 1. 1. 1. !
Transposta de uma matriz c= [1 2 3] = c’ (1
2
3]
Soma de matrizes e subtração: somente quando são do mesmo tipo (mesmo nº linhas e col)
--> a + b
Multiplicação de matrizes: nº colunas da “a” = nº linhas de “b” (3x2)(2x1)
A= [0 6; 7 3; 4 5] //3x2
! 0. 6. !
! 7. 3. !
! 4. 5. !
B = [1 2] // 2x1
! 1. !
! 2. !
-->A*B
! 12. !
! 13. !
! 14. !
Podemos criar matrizes a partir de elementos de outras matrizes
-->// Definido as matrizes A, B e C
-->A = [1 2; 3 4];
-->B = [5 6; 7 8];
-->C = [9 10; 11 12];
-->// Definindo a matriz D
-->D = [A B C]
D=
! 1. 2. 5. 6. 9. 10. !
! 3. 4. 7. 8. 11. 12. !
M=[ m mv]