Introduçao ao Scilab
1. Variáveis
a. Inteiras e Reais
Digite no console:
x = 1, y = 2.5
x+y
z=x+y
w = z*x + y^2;
w
t
u = %pi
variavel = %e^4
//cria duas variaveis (a vírgula separa dois comandos)
//apresenta o resultado na tela (variavel ans)
//guarda o resultado na variável z
//ponto e vírgula para suprimir a resposta
//verificar o valor de w
//variável inexistente
//constante ߨ
//constante: número de Neper eu Euler
b. Vetores e Matrizes
Digite no console
clear
//limpar todas as variaveis já existentes
x = [1 2 3]
//cria um vetor linha
y = [4; 5; 6]
//cria um vetor coluna
z=x+y
//tenta adicionar vetores de tamanhos diferentes: erro
z = x + y’
//adicina x com y transposto (y’ significa y transposto)
w = x.*y’
//operador . (operação ponto a ponto)
A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3
B = eye(3,3)
//matriz identidade 3x3
C = A*B
v = x*A
//podemos multiplicar vetor por matriz
x = 1:10
//cria vetor que inicia em 1 e vai até 10 de 1 em 1
x = 0:0.1:1
//cria vetor que inicia em 0 e vai até 1 de 0.1 em 0.1
x(1)+x(5)
//acessando elementos do vetor
A(2,3) + B(1,1)
//acessando elementos da matriz
x = [‘a’ ‘b’ ‘2’]
//vetor de strings
y= [‘c’ ‘d’ ‘3’]
x+y
//a soma de strings na verdade é uma concatenação
c. Precisão e Erros de arredondamento
Digite no console
Format(25)
x=1/10
//imprimir as respostas com x casas decimais
2. Scripts
Abra o editor de texto do scilab (clicando no icone correspondente ou executando o
comando “editor” no console) e digite:
x=0.1:0.1:2.1415;
y=sin(x)+2;
plot(x,y);
z=exp(x);
plot(x,z,’r’);
//cria o vetor x
//cria o vetor y de acordo com a função seno
//plota x por y (gera gráfico)
//cria o vetor z de acordo com a função exponencial
//plota x por z em vermelho( r- red)
Para executar o scrip, após salvar-lo com o nome de teste.sci pressionar F5 (ou Ctrl + e)
dentro do editor, ou então, digitar no console:
exec(‘<caminho para o aquivo>\teste.sci’)
Também podemos modificar o diretório corrente do scilab para ser o mesmo no qual
salvamos o scrip, com o botão ‘alterar diretório atual’, ou com o comando:
cd ‘<caminho para o aquivo>’
Em seguida para executar o script podemos digitar apenas:
exec(‘teste.sci’)
Note que após executar o script, a variável x, que tínhamos definido como [‘a’ ‘b’ ‘2’] no final
do item 1.b agora vale o valor definido no script. O script sobreescreve as variáveis do ambiente,
assim como pode utilizar variáveis já definidas neste.
3. Funções
Abra um novo arquivo no editor de texto do scilab e digite:
function y = func(x)
y = x^2 – 4;
endfunction
// função com um argumento e um retorno
//a variavel y eh a variavel de retorno
Em seguida, após salvar a função com o nome func.sci, carregar a função na memória do
scilab pressione F5 dentro do editor (ou Ctrl + l) ou digite no console:
exec('func.sci')
Para chamar a função, digite no console:
w = 1;
z = func(w)
func(1)
//chama a funcao e guarda a saida em z
//apresenta o resultado na tela e guarda em ans
Perceba que, apesar da variável de retorno da função ser “y”, temos que chamar a função
pelo seu nome, ou seja,” func”, e podemos guardar o retorno desta em qualquer variável. No
console, a variável “y” não tem qualquer relação com a funcao em questão.
Abra um novo arquivo no editor de texto do scilab e digite:
function [a,b,c] = func3args(x,y,z)
a = func(x);
b= func(y);
c = func(func(z));
endfunction
//funcao com 3 args. e 3 ret.
Em seguida, após salvar a função e carregá-la na memória do scilab (F5), podemos
executá-la:
[j,k,l] = func3args(1,2,3)
//chama a funcao e guarda a saida nas variaveis
//j, k e l
Funções não podem utilizar variávies definidas no ambiente, apenas as variáveis que
foram fonecidas como entrada para a função, e não modificam as variáveis do ambiente a não ser
através do retorno.
Também devemos nos lembrar de, após realizar qualquer modificação em uma função,
carrega-la novamente no embiente (Ctrl + l). Se não carregarmos a nova versão da função, as
modificações feitas não terão efeito. Ao recarregar uma função, o console irá apresentar a
seguinte mensagem:
Aviso: redefinindo a função: <nome da funcao>
É possível declarar uma função e um scrip em um único arquivo de texto. Muito alunos
gostam de realizar este procedimento de forma que chamada da função fique salva no arquivo.
Neste caso, ao se pressionar Ctrl + l a função será carregada e o scrip executado, como mostrado
no exemplo abaixo.
//definição da função
function y = func(x)
// função com um argumento e um retorno
y = x^2 – 4;
//a variavel y eh a variavel de retorno
endfunction
//script que chama a funcao
z = func(w)
//chama a funcao e guarda a saida em z
4. Estruturas de Controle
Digite os seguintes códigos em scripts, execute-os e observe a saída:
a. //Comando If
y = 1, x = 2;
if x == y then
disp(‘o valor de x é igual ao valor de y’);
//imprime mensagem na tela
else
disp(‘o valor de x é diferente do valor de y’);
end
b. //Comando while
cont = 0;
while cont ~= 5
//enquanto cont diferente de 5
disp(‘iteracao numero ’ + string(cont)); //converte a variável cont para
// string e concatena com o resto
// antes de imprimir
cont = cont + 1;
end
c. //Comando for
for i = 1:10
if modulo(i,2) == 0
disp(‘o numero ’ + string(i) + ‘ eh par’);
else
disp(‘o numero ’ + string(i) + ‘ eh impar’);
end
end
x = [2 -4 -19 3 -3 34]
for i=x
y = abs(i);
disp(‘o valor absoluto do numero ‘ + string(i) + ‘ vale ‘ + string(y))
end
5. Ajuda
Para abrir a tela de ajuda, pressione a tecla F1 e digite o topico desejado na busca ou digite
diretamente no console:
help <nome da funcao>
6. Tarefas
1) Escreva uma função que calcule o seno de um angulo utilizando a expansão em série
de Taylor. O usuário deve passar como argumento o ângulo e o número de termos da
série de Taylor a serem utilizados. A função deve retornar o valor do seno calculado, o
valor do seno dado pela função sin(x) que já existe no scilab, e o erro relativo
cometido no seu calculo quando comparado com o valor dado pela função do scilab.
‫݊݁ݏ‬ሺ‫ݔ‬ሻ = ‫ ݔ‬−
‫ݔ‬ଷ ‫ݔ‬ହ ‫଻ݔ‬
+ − +⋯
3! 5! 7!
2) Crie uma função que chama a sua função seno escrita no exercício anterior, para um
determinado ângulo mas para vários números de termos da série de Taylor diferentes
(isto é, variando apenas o segundo argumento). Armazene o valor calculado e o erro
relativo em um vetor, e em seguida plote dois gráficos: um que mostra o valor real do
seno e o valor do seno calculado para cada números de termos da série de Taylor;
outro que mostra a evolução do erro relativo vs números de termos da série de Taylor.
Download

Introduçao ao Scilab