introdução ao scilab
Post on 01-Oct-2015
83 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
Computao Numrica
Aula de Laboratrio 1: Introduo ao Scilab
Professor Filipe Taveiros
-
Variveis
Scilab 5.5.1 Console
-
Variveis
-->x=1
Scilab 5.5.1 Console
-
Variveis
-->x=1
x =
1.
Scilab 5.5.1 Console
-
Variveis
-->x=1
x =
1.
-->y=2
Scilab 5.5.1 Console
-
Variveis
-->x=1
x =
1.
-->y=2
y =
2.
Scilab 5.5.1 Console
-
Variveis
-->x=1
x =
1.
-->y=2
y =
2.
-->x=1,y=2.5 //cria duas variaveis (a vrgula separa dois comandos)
Scilab 5.5.1 Console
-
Variveis
-->x=1
x =
1.
-->y=2
y =
2.
-->x=1,y=2.5 //cria duas variaveis (a vrgula separa dois comandos)
x =
1.
y =
2.5
Scilab 5.5.1 Console
-
Variveis
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
ans =
3.5
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
ans =
3.5
-->z=x+y
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
ans =
3.5
-->z=x+y
z =
3.5
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
ans =
3.5
-->z=x+y
z =
3.5
-->w=z*x+y^2;
Scilab 5.5.1 Console
-
Variveis
-->clc //Comando para limpar a tela
-->x+y
ans =
3.5
-->z=x+y
z =
3.5
-->w=z*x+y^2;
Scilab 5.5.1 Console
-
Variveis
Scilab 5.5.1 Console
-
Variveis
-->w
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
-->t
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi
u =
3.1415927
Scilab 5.5.1 Console
-
Variveis
-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi
u =
3.1415927
-->clc
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->clear //Limpa todas as variveis j existentes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->clear //Limpa todas as variveis j existentes
-->x = [1 2 3] //cria um vetor linha
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->clear //Limpa todas as variveis j existentes
-->x = [1 2 3] //cria um vetor linha
x =
1. 2. 3.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->clear //Limpa todas as variveis j existentes
-->x = [1 2 3] //cria um vetor linha
x =
1. 2. 3.
-->y = [4; 5; 6] //cria um vetor coluna
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->clear //Limpa todas as variveis j existentes
-->x = [1 2 3] //cria um vetor linha
x =
1. 2. 3.
-->y = [4; 5; 6] //cria um vetor coluna
y =
4.
5.
6.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
!--error 8
Adio incoerente.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
ans =
1. 3.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
ans =
1. 3.
-->size(y) //tamanho do vetor y
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
ans =
1. 3.
-->size(y) //tamanho do vetor y
ans =
3. 1.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
z =
5. 7. 9.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
z =
5. 7. 9.
-->z=x'+y
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
z =
5. 7. 9.
-->z=x'+y
z =
5.
7.
9.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
z =
5. 7. 9.
-->z=x'+y
z =
5.
7.
9.
-->w=x*y
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->z=x+y'
z =
5. 7. 9.
-->z=x'+y
z =
5.
7.
9.
-->w=x*y
w =
32.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
!--error 10
Multiplicao incoerente.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
!--error 10
Multiplicao incoerente.
-->y
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.
-->z
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.
-->z
z =
5.
7.
9.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y.*z //multiplicao ponto a ponto
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y.*z //multiplicao ponto a ponto
ans =
20.
35.
54.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->y.*z //multiplicao ponto a ponto
ans =
20.
35.
54.
-->clc
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3
A =
1. 2. 3.
4. 5. 6.
7. 8. 9.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3
A =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->B = eye(3,3) //matriz identidade 3x3
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3
A =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->B = eye(3,3) //matriz identidade 3x3
B =
1. 0. 0.
0. 1. 0.
0. 0. 1.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
C =
1. 2. 3.
4. 5. 6.
7. 8. 9.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
C =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->x
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
C =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->x
x =
1. 2. 3.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
C =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->x
x =
1. 2. 3.
-->v=x*A //multiplicao de um vetor por uma matriz
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->C=A*B //multiplicao de matrizes
C =
1. 2. 3.
4. 5. 6.
7. 8. 9.
-->x
x =
1. 2. 3.
-->v=x*A //multiplicao de um vetor por uma matriz
v =
30. 36. 42.
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x(1)+x(3) //acessando elementos do vetor
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x(1)+x(3) //acessando elementos do vetor
ans =
4.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x(1)+x(3) //acessando elementos do vetor
ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x(1)+x(3) //acessando elementos do vetor
ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz
ans =
7.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x(1)+x(3) //acessando elementos do vetor
ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz
ans =
7.
-->clc
Scilab 5.5.1 Console
-
Vetores e Matrizes
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x = 1:10 //cria vetor que inicia em 1 e vai at 10 de 1 em 1
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x = 1:10 //cria vetor que inicia em 1 e vai at 10 de 1 em 1
x =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x = 1:10 //cria vetor que inicia em 1 e vai at 10 de 1 em 1
x =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
-->x = 0:0.1:0.7 //De 0 at 0.7 de 0.1 em 0.1
Scilab 5.5.1 Console
-
Vetores e Matrizes
-->x = 1:10 //cria vetor que inicia em 1 e vai at 10 de 1 em 1
x =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
-->x = 0:0.1:0.7 //De 0 at 0.7 de 0.1 em 0.1
x =
0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Scilab 5.5.1 Console
-
Funes e Procedimentos
Scilab 5.5.1 Console
-
Funes e Procedimentos
-->edit //Abre o Scinotes
Scilab 5.5.1 Console
-
Funes e Procedimentos
x=0.1:0.1:2.1415; //cria o vetor x
y=sin(x)+2; //cria o vetor y de acordo com a funo seno
plot(x,y); //plota x por y (gera grfico)
z=exp(x); //cria o vetor z de acordo com a funo exponencial
plot(x,z,'r'); //plota x por z em vermelho( r- red)
Voc tem duas opes:
1. Salvar o arquivo e depois executar pressionando F5.
2. Caso no queira salvar o cdigo, pode apenas selecionar o bloco que deseja executar, e ento clicar com o boto direito e selecionar Avaliar seleo com ECO (CTRL + E).
Procedimentos no tm variveis de entrada e sada definidas. So simplesmente um conjunto de comandos a serem executados.
Scinotes
-
Funes e Procedimentos
Por outro lado, funes tm variveis de entrada e sada definidas previamente.
Existem dois mtodos para definir funes, um pelo Console e outro pelo Scinotes.
Exemplo:
No Console:
-->deff('y=f(x)','y=x^2-4')
-->f(2)
ans =
0.
1. Este um mtodo prtico para definir funes simples.
2. Funciona para vrias entradas e vrias sadas.
Scinotes e Console
-
Funes e Procedimentos
Por outro lado, funes tm variveis de entrada e sada definidas previamente.
Existem dois mtodos para definir funes, um pelo Console e outro pelo Scinotes.
Exemplo:
No Scinotes:
function [y] = f(x)
y=x^2-4
endfunction
1. Tem a vantagem da sintaxe destacada e linhas numeradas, portanto, maior organizao. Permite armazenar mais de uma funo no mesmo arquivo e, tambm permite salvar o cdigo para posterior alterao.
2. necessrio executar o arquivo antes de poder chamar a funo no Scilab.
Scinotes e Console
-
Estruturas de controle
Scinotes
-
Estruturas de controle
//Comando If
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end
//Comando for
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end
//Comando for
for i = 1:10
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end
//Comando for
for i = 1:10
//Cdigo
Scinotes
-
Estruturas de controle
//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end
//Comando for
for i = 1:10
//Cdigo
end
Scinotes
-
Exerccios
1. Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
2. Escreva uma funo que receba 2 pontos 2D (cada um com suas cordenadas x e
y) e retorne a distancia euclididana entre eles.
3. Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
4. Crie uma funo que chama a sua funo seno escrita no exerccio anterior, para um determinado ngulo mas para vrios nmeros de termos da srie de Taylor diferentes (isto , variando apenas o segundo argumento). Armazene o valor calculado e o erro.
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b)
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
plot(x,y) //Gera o grfico cartesiano y por x
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
plot(x,y) //Gera o grfico cartesiano y por x
endfunction
Scinotes
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
plot(x,y) //Gera o grfico cartesiano y por x
endfunction
Scinotes
-->[x y] = plotagrafico(0 , 2*%pi)
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
plot(x,y) //Gera o grfico cartesiano y por x
endfunction
Scinotes
-->[x y] = plotagrafico(0 , 2*%pi)
1. Lembrar que so duas variveis de sada.
Console
-
Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
function [x,y] = plotagrafico(a,b) x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);
plot(x,y) //Gera o grfico cartesiano y por x
endfunction
Scinotes
-->[x y] = plotagrafico(0 , 2*%pi)
1. Lembrar que so duas variveis de sada.
2. Como fazer para que o vetor de sada no seja impresso na tela?
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
Scinotes
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
Scinotes
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
function [d] = dist(a,b)
Scinotes
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
function [d] = dist(a,b)
d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
Scinotes
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
function [d] = dist(a,b)
d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction
Scinotes
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
function [d] = dist(a,b)
d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction
Scinotes
-->dist([0 0],[1 1])
Console
-
Exerccios
Escreva uma funo que receba 2 pontos 2D (cada um com suas coordenadas x e y) e retorne a distancia euclidiana entre eles.
function [d] = dist(a,b)
d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction
Scinotes
-->dist([0 0],[1 1])
ans =
1.4142136
Console
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
end
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
end
aprox = sum(termos);
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
end
aprox = sum(termos);
exato = sin(ang);
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
end
aprox = sum(termos);
exato = sin(ang);
err = 100*abs(aprox-exato)/exato;
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
function [exato,aprox,err] = seno_taylor(ang,n)
for i=1:n
k = (2)*i-1;
termos(i) = (-1)^(i-1)*ang^(k)/(factorial(k));
end
aprox = sum(termos);
exato = sin(ang);
err = 100*abs(aprox-exato)/exato;
endfunction
Scinotes
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
Console
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
-->[exato,aprox,err]=seno_taylor(30*%pi/180,2)
Console
-
Exerccios Escreva uma funo que calcule o seno de um angulo utilizando a expanso em srie de Taylor. O usurio deve passar como argumento o ngulo e o nmero de termos da srie de Taylor a serem utilizados. A funo deve retornar o valor do seno calculado, o valor do seno dado pela funo sin(x) que j existe no scilab, e o erro relativo cometido no seu calculo quando comparado com o valor dado pela funo do scilab.
-->[exato,aprox,err]=seno_taylor(30*%pi/180,2)
err =
0.0651641
aprox =
0.4996742
exato =
0.5
Console
top related