Durante nossa primeira aula no curso "Fractais e Caos na Ciência e na Tecnologia" eu usei o Scilab para calcular a dimensão fractal do papel amassado e para mostrar gráficos. Neste tutorial eu vou entrar nos detalhes de como eu fiz isso e mostrar como vocês podem usar este programa em seus estudos, para fazer contas rapidamente e para conseguir belos gráficos que podem colocar em seus trabalhos. Eu estou escrevendo esta página nesse instante. Já temos atividades na página, mas ao prosseguirem na leitura vocês verão que ainda estou completando. Por isso, retornem com freqüência!
Introdução
Neste tutorial eu suponho que você instalou o Scilab, como indicado aqui. Se você fez isso, o programa aparece no menu iniciar de seu computador. Inicie o Scilab. Você verá uma janela como a seguinte:

Esta é a janela de comandos do Scilab. Por meio dela você pode dar instruções ao programa acerca do que você deseja que ele faça. Assim, se você quiser que ele calcule "2 + 2", você pode digitar exatamente isso e apertar a tecla ENTER.

O bom da história é que você pode perguntar ao Scilab o resultado de cálculos mais complicados. Quer ver? Vamos dizer que temos a matriz
(1)![\mathbf{A} = \left[\begin{array}{ccc} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{array}\right].](/local--math/eqs/fc12828ec9f7ccb871683f69d839c0e3.png)
Primeira tarefa: definir esta matriz no Scilab. Para isso você faz como na figura abaixo:

Percebeu? Depois de digitar
, você escreve os elementos da matriz entre colchetes, com as linhas separadas por ponto e vírgula. Aperta ENTER no final, é claro!
Agora vamos fazer alguma coisa com esta matriz que está na memória do computador, rotulada como
. Vamos fazer dois tipos de multiplicação. Primeiro vamos multiplicar o elemento
por ele mesmo, depois o elemento
por ele mesmo, depois o
, até chegar no
. Para fazer isso, a gente escreve no Scilab
e aperta ENTER. Esta multiplicação é chamada "elemento por elemento" e NÃO é a multiplicação de matrizes que você aprendeu no nível médio. Para fazer a multiplicação comum de matrizes, aquela que você multiplica os elementos de uma linha pelos elementos de uma coluna, você escreve no Scilab
e aperta ENTER. Os resultados destas duas formas de multiplicar estão na figura abaixo:

Note que na multiplicação elemento por elemento nós colocamos um ponto antes do asterisco. Isto indica ao Scilab para NÃO fazer a multiplicação normal de matrizes.
Você pode fazer as outras operações algébricas normais: soma (subtração) e multiplicação por um número. Veja abaixo:

Para a soma digitamos
, para a subtração
e para a multiplicação por um número
. O Scilab faz tudo certinho para você.
Agora vamos exercitar um pouco estes fundamentos.
Exercício
1) Defina as seguintes matrizes no Scilab:
(2)![\mathbf{A} = \left[\begin{array}{cc} 21 & 33 \ 75 & 66 \ 0 & 62 \end{array}\right],\ \mathbf{B} = \left[\begin{array}{ccc} 84 & 87 & 56\ 68 & 68 & 66 \end{array}\right],\ \mathbf{C} = \left[\begin{array}{ccc} 72 & 54 & 23\ 19 & 23 & 21 \end{array}\right].](/local--math/eqs/5ca9f6304ea5d15b554274ecb55fe27c.png)
2) Calcule os seguintes produtos usando o Scilab:
(3)
3) O Scilab não pôde calcular alguns dos produtos acima. Convença-se do motivo em cada caso.
4) Calcule usando o Scilab:
(4)
5) O Scilab não pôde fazer alguns dos cálculos acima. Entenda por que em cada caso.
Você deve estar pensando: "ei, esse Scilab é uma calculadora de primeira!". Você ainda não viu nadinha de nada.
Determinantes, inversão de matrizes, funções pré-definidas
Quem não se lembra como é "chatinho" achar o determinante de uma matriz 3x3. Difícil mesmo, não é. Porém, aqui é um sinal de mais, alí é um sinal de menos e a gente se confunde e erra. E quando a gente vai para a matriz 4x4, só mesmo pelo desenvolvimento de Laplace ou usando as propriedades. Além de saber fazer, é preciso muita atenção o tempo todo. Bem, no curso superior você vai precisar de sua atenção para coisas mais importantes. Por exemplo, além de saber fazer, você precisa saber por que os métodos que você usa funcionam. Você também precisa saber adaptar estes métodos às novas situações. Que tal se você pudesse usar o computador para calcular determinantes e fazer outras tarefas rotineiras do tipo, mas muito úteis?
Defina a seguinte matriz no Scilab:
(5)![\mathbf{A} = \left[\begin{array}{ccc} 5 & 5 & 9 \ 6 & 3 & 9 \ 8 & 3 & 3 \end{array}\right].](/local--math/eqs/804f9829f9515adfe2282bcc0d2cadcf.png)
Agora, digamos que queremos calcular o determinante desta matriz. Para isso, escrevemos
na linha de comandos do Scilab e apertamos ENTER. Suponhamos que queremos inverter a matriz
. Então escrevemos
^-1 e apertamos ENTER. Os resultados você pode ver na figura abaixo:

A notação mais usada para a inversa da matriz
é
. Por isso que no Scilab a gente digita
"elevado a" -1 (
^-1) para calcular a inversa. Você lembra o que acontece quando multiplicamos uma matriz pela sua inversa? Vamos pedir ao Scilab para calcular o produto de
por
.

O resultado foi
(6)![\mathbf{A}*\mathbf{B} = \left[\begin{array}{ccc} 1 & 0 & -2.220D-16 \ 1.665D-16 & 1 & -2.220D-16 \ 1.665D-16 & -1.110D-16 & 1 \end{array}\right]](/local--math/eqs/6d8ab795ae823d0d8c0b36c0c89a2c44.png)
que pode parecer meio esquisito por causa dos elementos como
. Em primeiro lugar este numeral está escrito na forma como o Scilab representa a notação científica. Na notação matemática usual
. Assim, onde a gente encontra
seguido pelo número inteiro
a gente substitui por
. Em segundo lugar, note que os números em notação científica que aparecem são muito pequenos em comparação com o maior elemento da matriz que vale 1. De fato, são números da ordem de um décimo de milésimo de milionésimo de milionésimo, ou seja,
. Eles aparecem nessa matriz porque os computadores cometem erros de arredondamento por causa da precisão finita de seus cálculos. Contudo, o Scilab tem uma função chamada "clean" que permite zerar estes resultados gerados por erros devidos à precisão finita. Na figura abaixo você vê a diferença de usar a função "clean":

Observe que, para usar a função "clean" nós digitamos o seguinte: clean(
). O Scilab entende isso da seguinte maneira: calcule o produto
e então aplique a função "clean" no resultado. A quantidade que aparece dentro dos parênteses é chamada de argumento da função. Observe que a função é aplicada no que está entre parênteses, após o nome da função. Isto serve não só para a função "clean", mas para qualquer função definida no Scilab. Todas as funções que você viu no nível médio estão definidas. Veja algumas:
| Função | Digita-se |
| Logaritmo na base 10 | log10() |
| Logaritmo na base 2 | log2() |
| Seno | sin() |
| Coseno | cos() |
| Tangente | tan() |
| Modular | abs() |
Lembre que dentro dos parênteses você tem de colocar alguma coisa, um argumento, por exemplo, um número.
Exercício
1) Usando o Scilab, calcule as funções da tabela acima para o argumento igual a 2.
A palavra (to) "clean" no inglês significa "limpar". É isso que a função "clean" faz, ela limpa a sujeira deixada pelos erros de aproximação. O resultado real tem de ser visto sem estes erros. Assim, o resultado sem erros do produto
é:
![\mathbf{A}*\mathbf{B} = \left[\begin{array}{ccc} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & 1 \end{array}\right] = \mathbf{I}.](/local--math/eqs/eea939f294684167fea783221a708b74.png)
Muito melhor, hein? Trata-se da famosa e maravilhosa matriz identidade, normalmente simbolizada por
e assim chamada porque quando multiplicamos qualquer matriz pela identidade o resultado é a própria matriz (desde que o produto seja possível, o que depende do número de linhas e colunas das matrizes que estamos multiplicando). O produto da matriz
por sua inversa
deu como resultado a matriz identidade
de ordem 3, ou seja, com três linhas e três colunas. Isso sempre acontece, isto é, se multiplicarmos uma matriz quadrada de ordem
por sua inversa, obteremos a matriz identidade de ordem
. É importante mencionar que se fazemos
, obtemos o mesmo resultado.
Resolução de sistemas lineares
Vamos fazer algo de útil com o produto de matrizes e o cálculo da inversa? Quem se lembra da regra de Cramer para resolver um sistema linear? A gente calcula a inversa e então multiplica o sistema pela mesma para obter o resultado. Ou seja, suponha que temos o sistema:
(8)
onde
é a matriz dos coeficientes (uma matriz quadrada),
é o vetor das incógnitas (uma coluna de números com a mesma quantidade de linhas de
) e
é o vetor dos termos independentes (outra coluna de números com a mesma quantidade de linhas de
). Pela regra de Cramer multiplicamos este sistema pela inversa da matriz
:

Como
e como
, então

Isto é, o resultado do sistema é obtido multiplicando o vetor dos termos independentes pela inversa da matriz dos coeficientes (quando a inversa existe, o que acontece quando o determinante de
é diferente de zero).
Vamos experimentar na prática? Considere o sistema linear
(11)
Na forma de matrizes este sistema se escreve
(12)![\left[\begin{array}{ccc} 5 & 5 & 9 \ 6 & 3 & 9 \ 8 & 3 & 3 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \end{array}\right].](/local--math/eqs/40abb06a1dce3f9fd7e85b24affe8477.png)
Observe que a matriz que aparece é a mesma que já definimos no Scilab que está rotulada como
. Defina no Scilab a matriz de três linhas e uma coluna, ou seja, o vetor coluna:
![\mathbf{b}=\left[\begin{array}{c} 1 \ 2 \ 3 \end{array}\right].](/local--math/eqs/80ee4aee99dae32fc79d0ff0efd8ae2a.png)
Agora vamos aplicar a regra, vamos fazer no Scilab o produto
^-1*
. Estes passos feitos no Scilab você vê na figura abaixo:

Pelo nosso raciocínio, o resultado desta conta é a solução do sistema. Como podemos verificar o resultado? Bem pela equação (28) se multiplicarmos
por
, sendo
uma solução, devemos encontrar
. Vamos testar? Veja a figura abaixo:

Agora eu espero ter convencido você de que é mesmo uma grande idéia aprender a usar o Scilab. Já pensou quantas horas de trabalho você poupa, quantas contas erradas você evita e sobretudo, quanta coisa além das possibilidades do ser humano desprovido deste instrumento você pode fazer? Com o Scilab você poderá fazer cálculos que Gauss nunca sonhou!
Exercícios
Usando o Scilab, resolva os seguintes sistemas pela regra de Cramer. Lembre de verificar a solução encontrada.
Sistema 1)
(14)![\left[\begin{array}{ccccc} 5 & 7 & 8 & 1 & 9 \\ 5 & 0 & 5 & 2 & 6 \ 1 & 6 & 4 & 8 & 9 \ 2 & 2 & 2 & 8 & 0 \ 6 & 3 & 8 & 5 & 7 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \ x_4 \ x_5 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \ 4 \ 5 \end{array}\right].](/local--math/eqs/7a367512facf6d9db22fa1bccdd62e85.png)
Sistema 2)
(15)![\left[\begin{array}{cccc} 7 & 0 & 2 & 12 \\ 5 & 4 & 4 & 6 \ 2 & 7 & 9 & -5 \ 6 & 8 & 5 & 7 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \ x_4 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \ 4 \end{array}\right].](/local--math/eqs/7bd6feae6282001ae54f8351c7d917e6.png)
Houve algo esquisito no sistema 2, não? Parece que este negócio de fazer contas com o computador não é só apertar botões mecanicamente… O que pode ter acontecido?
Fazendo gráficos
Uma possibilidade muito interessante com Scilab é fazer gráficos bem rapidamente. Vou aqui apresentar os aspectos elementares da preparação de gráficos.
Primeiro vamos produzir alguns dados para mostrar na forma de gráfico. Vamos definir dois vetores, um vetor
e um vetor
, que será uma função de
. Depois vamos mostrar esta função em uma janela gráfica na forma
.

Veja que para definir
usei a função "linspace". Esta função cria um vetor com elementos igualmente espaçados. O primeiro argumento da função é o primeiro elemento, o segundo argumento é o último elemento e terceiro é o número total de elementos que queremos que o vetor tenha. Assim, o vetor
começa em 0, termina em 1 e tem 100 elementos igualmente espaçados.
Para definir
como função de
eu usei a função "sin" que calcula o seno. Observe que antes de definir o vetor eu defini uma variável
. A definição usada para
no Scilab é equivalente a usar a seguinte fórmula:

onde
é a freqüência da variação senoidal, ou seja, o número de ciclos contidos no intervalo
. Para fazer o gráfico usamos a função "plot" com dois argumentos: o vetor contendo a variável independente, no caso
, e o vetor contendo a variável dependente, no caso
. A figura abaixo mostra isso digitado no Scilab.
[[==]]
Durante nossa primeira aula no curso "Fractais e Caos na Ciência e na Tecnologia" eu usei o Scilab para calcular a dimensão fractal do papel amassado e para mostrar gráficos. Neste tutorial eu vou entrar nos detalhes de como eu fiz isso e mostrar como vocês podem usar este programa em seus estudos, para fazer contas rapidamente e para conseguir belos gráficos que podem colocar em seus trabalhos. Eu estou escrevendo esta página nesse instante. Já temos atividades na página, mas ao prosseguirem na leitura vocês verão que ainda estou completando. Por isso, retornem com freqüência!
Introdução
Neste tutorial eu suponho que você instalou o Scilab, como indicado aqui. Se você fez isso, o programa aparece no menu iniciar de seu computador. Inicie o Scilab. Você verá uma janela como a seguinte:

Esta é a janela de comandos do Scilab. Por meio dela você pode dar instruções ao programa acerca do que você deseja que ele faça. Assim, se você quiser que ele calcule "2 + 2", você pode digitar exatamente isso e apertar a tecla ENTER.

O bom da história é que você pode perguntar ao Scilab o resultado de cálculos mais complicados. Quer ver? Vamos dizer que temos a matriz
(17)![\mathbf{A} = \left[\begin{array}{ccc} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{array}\right].](/local--math/eqs/fc12828ec9f7ccb871683f69d839c0e3.png)
Primeira tarefa: definir esta matriz no Scilab. Para isso você faz como na figura abaixo:

Percebeu? Depois de digitar
, você escreve os elementos da matriz entre colchetes, com as linhas separadas por ponto e vírgula. Aperta ENTER no final, é claro!
Agora vamos fazer alguma coisa com esta matriz que está na memória do computador, rotulada como
. Vamos fazer dois tipos de multiplicação. Primeiro vamos multiplicar o elemento
por ele mesmo, depois o elemento
por ele mesmo, depois o
, até chegar no
. Para fazer isso, a gente escreve no Scilab
e aperta ENTER. Esta multiplicação é chamada "elemento por elemento" e NÃO é a multiplicação de matrizes que você aprendeu no nível médio. Para fazer a multiplicação comum de matrizes, aquela que você multiplica os elementos de uma linha pelos elementos de uma coluna, você escreve no Scilab
e aperta ENTER. Os resultados destas duas formas de multiplicar estão na figura abaixo:

Note que na multiplicação elemento por elemento nós colocamos um ponto antes do asterisco. Isto indica ao Scilab para NÃO fazer a multiplicação normal de matrizes.
Você pode fazer as outras operações algébricas normais: soma (subtração) e multiplicação por um número. Veja abaixo:

Para a soma digitamos
, para a subtração
e para a multiplicação por um número
. O Scilab faz tudo certinho para você.
Agora vamos exercitar um pouco estes fundamentos.
Exercício
1) Defina as seguintes matrizes no Scilab:
(18)![\mathbf{A} = \left[\begin{array}{cc} 21 & 33 \ 75 & 66 \ 0 & 62 \end{array}\right],\ \mathbf{B} = \left[\begin{array}{ccc} 84 & 87 & 56\ 68 & 68 & 66 \end{array}\right],\ \mathbf{C} = \left[\begin{array}{ccc} 72 & 54 & 23\ 19 & 23 & 21 \end{array}\right].](/local--math/eqs/5ca9f6304ea5d15b554274ecb55fe27c.png)
2) Calcule os seguintes produtos usando o Scilab:
(19)
3) O Scilab não pôde calcular alguns dos produtos acima. Convença-se do motivo em cada caso.
4) Calcule usando o Scilab:
(20)
5) O Scilab não pôde fazer alguns dos cálculos acima. Entenda por que em cada caso.
Você deve estar pensando: "ei, esse Scilab é uma calculadora de primeira!". Você ainda não viu nadinha de nada.
Determinantes, inversão de matrizes, funções pré-definidas
Quem não se lembra como é "chatinho" achar o determinante de uma matriz 3x3. Difícil mesmo, não é. Porém, aqui é um sinal de mais, alí é um sinal de menos e a gente se confunde e erra. E quando a gente vai para a matriz 4x4, só mesmo pelo desenvolvimento de Laplace ou usando as propriedades. Além de saber fazer, é preciso muita atenção o tempo todo. Bem, no curso superior você vai precisar de sua atenção para coisas mais importantes. Por exemplo, além de saber fazer, você precisa saber por que os métodos que você usa funcionam. Você também precisa saber adaptar estes métodos às novas situações. Que tal se você pudesse usar o computador para calcular determinantes e fazer outras tarefas rotineiras do tipo, mas muito úteis?
Defina a seguinte matriz no Scilab:
(21)![\mathbf{A} = \left[\begin{array}{ccc} 5 & 5 & 9 \ 6 & 3 & 9 \ 8 & 3 & 3 \end{array}\right].](/local--math/eqs/804f9829f9515adfe2282bcc0d2cadcf.png)
Agora, digamos que queremos calcular o determinante desta matriz. Para isso, escrevemos
na linha de comandos do Scilab e apertamos ENTER. Suponhamos que queremos inverter a matriz
. Então escrevemos
^-1 e apertamos ENTER. Os resultados você pode ver na figura abaixo:

A notação mais usada para a inversa da matriz
é
. Por isso que no Scilab a gente digita
"elevado a" -1 (
^-1) para calcular a inversa. Você lembra o que acontece quando multiplicamos uma matriz pela sua inversa? Vamos pedir ao Scilab para calcular o produto de
por
.

O resultado foi
(22)![\mathbf{A}*\mathbf{B} = \left[\begin{array}{ccc} 1 & 0 & -2.220D-16 \ 1.665D-16 & 1 & -2.220D-16 \ 1.665D-16 & -1.110D-16 & 1 \end{array}\right]](/local--math/eqs/6d8ab795ae823d0d8c0b36c0c89a2c44.png)
que pode parecer meio esquisito por causa dos elementos como
. Em primeiro lugar este numeral está escrito na forma como o Scilab representa a notação científica. Na notação matemática usual
. Assim, onde a gente encontra
seguido pelo número inteiro
a gente substitui por
. Em segundo lugar, note que os números em notação científica que aparecem são muito pequenos em comparação com o maior elemento da matriz que vale 1. De fato, são números da ordem de um décimo de milésimo de milionésimo de milionésimo, ou seja,
. Eles aparecem nessa matriz porque os computadores cometem erros de arredondamento por causa da precisão finita de seus cálculos. Contudo, o Scilab tem uma função chamada "clean" que permite zerar estes resultados gerados por erros devidos à precisão finita. Na figura abaixo você vê a diferença de usar a função "clean":

Observe que, para usar a função "clean" nós digitamos o seguinte: clean(
). O Scilab entende isso da seguinte maneira: calcule o produto
e então aplique a função "clean" no resultado. A quantidade que aparece dentro dos parênteses é chamada de argumento da função. Observe que a função é aplicada no que está entre parênteses, após o nome da função. Isto serve não só para a função "clean", mas para qualquer função definida no Scilab. Todas as funções que você viu no nível médio estão definidas. Veja algumas:
| Função | Digita-se |
| Logaritmo na base 10 | log10() |
| Logaritmo na base 2 | log2() |
| Seno | sin() |
| Coseno | cos() |
| Tangente | tan() |
| Modular | abs() |
Lembre que dentro dos parênteses você tem de colocar alguma coisa, um argumento, por exemplo, um número.
Exercício
1) Usando o Scilab, calcule as funções da tabela acima para o argumento igual a 2.
A palavra (to) "clean" no inglês significa "limpar". É isso que a função "clean" faz, ela limpa a sujeira deixada pelos erros de aproximação. O resultado real tem de ser visto sem estes erros. Assim, o resultado sem erros do produto
é:
![\mathbf{A}*\mathbf{B} = \left[\begin{array}{ccc} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & 1 \end{array}\right] = \mathbf{I}.](/local--math/eqs/eea939f294684167fea783221a708b74.png)
Muito melhor, hein? Trata-se da famosa e maravilhosa matriz identidade, normalmente simbolizada por
e assim chamada porque quando multiplicamos qualquer matriz pela identidade o resultado é a própria matriz (desde que o produto seja possível, o que depende do número de linhas e colunas das matrizes que estamos multiplicando). O produto da matriz
por sua inversa
deu como resultado a matriz identidade
de ordem 3, ou seja, com três linhas e três colunas. Isso sempre acontece, isto é, se multiplicarmos uma matriz quadrada de ordem
por sua inversa, obteremos a matriz identidade de ordem
. É importante mencionar que se fazemos
, obtemos o mesmo resultado.
Resolução de sistemas lineares
Vamos fazer algo de útil com o produto de matrizes e o cálculo da inversa? Quem se lembra da regra de Cramer para resolver um sistema linear? A gente calcula a inversa e então multiplica o sistema pela mesma para obter o resultado. Ou seja, suponha que temos o sistema:
(24)
onde
é a matriz dos coeficientes (uma matriz quadrada),
é o vetor das incógnitas (uma coluna de números com a mesma quantidade de linhas de
) e
é o vetor dos termos independentes (outra coluna de números com a mesma quantidade de linhas de
). Pela regra de Cramer multiplicamos este sistema pela inversa da matriz
:

Como
e como
, então

Isto é, o resultado do sistema é obtido multiplicando o vetor dos termos independentes pela inversa da matriz dos coeficientes (quando a inversa existe, o que acontece quando o determinante de
é diferente de zero).
Vamos experimentar na prática? Considere o sistema linear
(27)
Na forma de matrizes este sistema se escreve
(28)![\left[\begin{array}{ccc} 5 & 5 & 9 \ 6 & 3 & 9 \ 8 & 3 & 3 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \end{array}\right].](/local--math/eqs/40abb06a1dce3f9fd7e85b24affe8477.png)
Observe que a matriz que aparece é a mesma que já definimos no Scilab que está rotulada como
. Defina no Scilab a matriz de três linhas e uma coluna, ou seja, o vetor coluna:
![\mathbf{b}=\left[\begin{array}{c} 1 \ 2 \ 3 \end{array}\right].](/local--math/eqs/80ee4aee99dae32fc79d0ff0efd8ae2a.png)
Agora vamos aplicar a regra, vamos fazer no Scilab o produto
^-1*
. Estes passos feitos no Scilab você vê na figura abaixo:

Pelo nosso raciocínio, o resultado desta conta é a solução do sistema. Como podemos verificar o resultado? Bem pela equação (28) se multiplicarmos
por
, sendo
uma solução, devemos encontrar
. Vamos testar? Veja a figura abaixo:

Agora eu espero ter convencido você de que é mesmo uma grande idéia aprender a usar o Scilab. Já pensou quantas horas de trabalho você poupa, quantas contas erradas você evita e sobretudo, quanta coisa além das possibilidades do ser humano desprovido deste instrumento você pode fazer? Com o Scilab você poderá fazer cálculos que Gauss nunca sonhou!
Exercícios
Usando o Scilab, resolva os seguintes sistemas pela regra de Cramer. Lembre de verificar a solução encontrada.
Sistema 1)
(30)![\left[\begin{array}{ccccc} 5 & 7 & 8 & 1 & 9 \\ 5 & 0 & 5 & 2 & 6 \ 1 & 6 & 4 & 8 & 9 \ 2 & 2 & 2 & 8 & 0 \ 6 & 3 & 8 & 5 & 7 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \ x_4 \ x_5 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \ 4 \ 5 \end{array}\right].](/local--math/eqs/7a367512facf6d9db22fa1bccdd62e85.png)
Sistema 2)
(31)![\left[\begin{array}{cccc} 7 & 0 & 2 & 12 \\ 5 & 4 & 4 & 6 \ 2 & 7 & 9 & -5 \ 6 & 8 & 5 & 7 \end{array}\right] \left[\begin{array}{c} x_1 \ x_2 \ x_3 \ x_4 \end{array}\right]= \left[\begin{array}{c} 1 \ 2 \ 3 \ 4 \end{array}\right].](/local--math/eqs/7bd6feae6282001ae54f8351c7d917e6.png)
Houve algo esquisito no sistema 2, não? Parece que este negócio de fazer contas com o computador não é só apertar botões mecanicamente… O que pode ter acontecido?
Fazendo gráficos
Uma possibilidade muito interessante com Scilab é fazer gráficos bem rapidamente. Vou aqui apresentar os aspectos elementares da preparação de gráficos.
Primeiro vamos produzir alguns dados para mostrar na forma de gráfico. Vamos definir dois vetores, um vetor
e um vetor
, que será uma função de
. Depois vamos mostrar esta função em uma janela gráfica na forma
. No que segue, vamos pensar em
como medindo tempo em segundos e em
como medindo um deslocamento em metros.

Veja que para definir
usei a função "linspace". Esta função cria um vetor com elementos igualmente espaçados. O primeiro argumento da função é o primeiro elemento, o segundo argumento é o último elemento e terceiro é o número total de elementos que queremos que o vetor tenha. Assim, o vetor
começa em 0, termina em 1 e tem 100 elementos igualmente espaçados.
Para definir
como função de
eu usei a função "sin" que calcula o seno. Observe que antes de definir o vetor eu defini uma variável
. A definição usada para
no Scilab é equivalente a usar a seguinte fórmula:

onde
é a freqüência da variação senoidal, ou seja, o número de ciclos contidos no intervalo
. Para fazer o gráfico usamos a função "plot" com dois argumentos: o vetor contendo a variável independente, no caso
, e o vetor contendo a variável dependente, no caso
. A figura abaixo mostra isso digitado no Scilab.

Eis o que aparece quando você aperta ENTER:

Agora suponha que você quer traçar uma outra função em uma janela diferente da primeira. Então antes de "plot" você pode chamar a função "figure" que abre uma nova janela gráfica. Você pode ainda escrever todos os comandos necessários em uma mesma linha, separando-os por ponto e vírgula ";" ou por vígula ",". A diferença é que ";" desabilita a apresentação do resultado do comando anterior, enquanto que a vírgula permite esta apresentação. É por isso que quando definimos os vetores
e
logo antes, os elementos destes não foram listados. É claro que eu fiz isso para a tela não se encher com os 200 elementos destes dois vetores. Veja como eu digitei uma seqüência de comandos para traçar a função. Observe que eu mudei a freqüência para 2 ciclos por segundo.

O resultado é o seguinte. Veja o número de ciclos em um segundo.







