Você está na página 1de 130

Computao Numrica

Aula de Laboratrio 1: Introduo ao Scilab


Professor Filipe Taveiros

Variveis
Scilab 5.5.1 Console

Variveis
Scilab 5.5.1 Console

-->x=1

Variveis
Scilab 5.5.1 Console

-->x=1
x =
1.

Variveis
Scilab 5.5.1 Console

-->x=1
x =
1.
-->y=2

Variveis
Scilab 5.5.1 Console

-->x=1
x =
1.
-->y=2
y =

2.

Variveis
Scilab 5.5.1 Console

-->x=1
x =
1.
-->y=2
y =

2.
-->x=1,y=2.5 //cria duas variaveis (a vrgula separa dois comandos)

Variveis
Scilab 5.5.1 Console

-->x=1
x =
1.
-->y=2
y =

2.
-->x=1,y=2.5 //cria duas variaveis (a vrgula separa dois comandos)
x =

1.
=
2.5

Variveis
Scilab 5.5.1 Console

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y
ans =
3.5

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y
ans =
3.5
-->z=x+y

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y
ans =
3.5
-->z=x+y
z =
3.5

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y
ans =
3.5
-->z=x+y
z =
3.5
-->w=z*x+y^2;

Variveis
Scilab 5.5.1 Console

-->clc //Comando para limpar a tela


-->x+y
ans =
3.5
-->z=x+y
z =
3.5
-->w=z*x+y^2;

Variveis
Scilab 5.5.1 Console

Variveis
Scilab 5.5.1 Console

-->w

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75
-->t

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi
u =
3.1415927

Variveis
Scilab 5.5.1 Console

-->w
w =
9.75
-->t
!--error 4
Varivel indefinida: t
-->u=%pi //constante pi
u =
3.1415927
-->clc

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->clear //Limpa todas as variveis j existentes

Vetores e Matrizes
Scilab 5.5.1 Console

-->clear //Limpa todas as variveis j existentes


-->x = [1 2 3] //cria um vetor linha

Vetores e Matrizes
Scilab 5.5.1 Console

-->clear //Limpa todas as variveis j existentes


-->x = [1 2 3] //cria um vetor linha
x =
1.

2.

3.

Vetores e Matrizes
Scilab 5.5.1 Console

-->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

Vetores e Matrizes
Scilab 5.5.1 Console

-->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.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y
!--error 8
Adio incoerente.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
ans =
1.

3.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y
!--error 8
Adio incoerente.
-->size(x) //tamanho do vetor x
ans =
1.

3.

-->size(y) //tamanho do vetor y

Vetores e Matrizes
Scilab 5.5.1 Console

-->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.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'
z =
5.

7.

9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'
z =
5.
-->z=x'+y

7.

9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'
z =
5.
-->z=x'+y
z =

5.
7.
9.

7.

9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'
z =
5.
-->z=x'+y
z =

5.
7.
9.
-->w=x*y

7.

9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->z=x+y'
z =
5.
-->z=x'+y
z =

5.
7.
9.
-->w=x*y
w =
32.

7.

9.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z
!--error 10
Multiplicao incoerente.

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z
!--error 10
Multiplicao incoerente.
-->y

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.
-->z

Vetores e Matrizes
Scilab 5.5.1 Console

-->y*z
!--error 10
Multiplicao incoerente.
-->y
y =
4.
5.
6.
-->z
z =
5.
7.
9.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->y.*z //multiplicao ponto a ponto

Vetores e Matrizes
Scilab 5.5.1 Console

-->y.*z //multiplicao ponto a ponto


ans =
20.
35.
54.

Vetores e Matrizes
Scilab 5.5.1 Console

-->y.*z //multiplicao ponto a ponto


ans =
20.
35.
54.
-->clc

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3

Vetores e Matrizes
Scilab 5.5.1 Console

-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3


A =
1.
4.
7.

2.
5.
8.

3.
6.
9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3


A =
1.
4.
7.

2.
5.
8.

3.
6.
9.

-->B = eye(3,3) //matriz identidade 3x3

Vetores e Matrizes
Scilab 5.5.1 Console

-->A = [1 2 3; 4 5 6; 7 8 9] //matriz 3 por 3


A =
1.
4.
7.

2.
5.
8.

3.
6.
9.

-->B = eye(3,3) //matriz identidade 3x3


B =
1.
0.
0.

0.
1.
0.

0.
0.
1.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes


C =
1.
4.
7.

2.
5.
8.

3.
6.
9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes


C =
1.
4.
7.
-->x

2.
5.
8.

3.
6.
9.

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes


C =
1.
4.
7.

2.
5.
8.

3.
6.
9.

2.

3.

-->x
x =
1.

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes


C =
1.
4.
7.

2.
5.
8.

3.
6.
9.

2.

3.

-->x
x =
1.

-->v=x*A //multiplicao de um vetor por uma matriz

Vetores e Matrizes
Scilab 5.5.1 Console

-->C=A*B //multiplicao de matrizes


C =
1.
4.
7.

2.
5.
8.

3.
6.
9.

2.

3.

-->x
x =
1.

-->v=x*A //multiplicao de um vetor por uma matriz


v =
30.

36.

42.

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->x(1)+x(3) //acessando elementos do vetor

Vetores e Matrizes
Scilab 5.5.1 Console

-->x(1)+x(3) //acessando elementos do vetor


ans =
4.

Vetores e Matrizes
Scilab 5.5.1 Console

-->x(1)+x(3) //acessando elementos do vetor


ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz

Vetores e Matrizes
Scilab 5.5.1 Console

-->x(1)+x(3) //acessando elementos do vetor


ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz
ans =

7.

Vetores e Matrizes
Scilab 5.5.1 Console

-->x(1)+x(3) //acessando elementos do vetor


ans =
4.
-->A(2,3) + B(1,1) //acessando elementos da matriz
ans =

7.
-->clc

Vetores e Matrizes
Scilab 5.5.1 Console

Vetores e Matrizes
Scilab 5.5.1 Console

-->x = 1:10 //cria vetor que inicia em 1 e vai at 10 de 1 em 1

Vetores e Matrizes
Scilab 5.5.1 Console

-->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.

Vetores e Matrizes
Scilab 5.5.1 Console

-->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.

-->x = 0:0.1:0.7 //De 0 at 0.7 de 0.1 em 0.1

8.

9.

10.

Vetores e Matrizes
Scilab 5.5.1 Console

-->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.

-->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

10.

Funes e Procedimentos
Scilab 5.5.1 Console

Funes e Procedimentos
Scilab 5.5.1 Console

-->edit //Abre o Scinotes

Funes e Procedimentos
Scinotes

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.

Funes e Procedimentos
Scinotes e Console

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.

Funes e Procedimentos
Scinotes e Console

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.

Estruturas de controle
Scinotes

Estruturas de controle
Scinotes

//Comando If

Estruturas de controle
Scinotes

//Comando If
if x == y then

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo

Estruturas de controle
Scinotes

//Comando If
if x == y then
//Se verdadeiro
else
//Se falso
end
//Comando while
while cont ~= 5 //enquanto cont diferente de 5 /
/Cdigo
end

Estruturas de controle
Scinotes

//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

Estruturas de controle
Scinotes

//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

Estruturas de controle
Scinotes

//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

Estruturas de controle
Scinotes

//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

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.
Scinotes

function [x,y] = plotagrafico(a,b)

Console

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

function [x,y] = plotagrafico(a,b)


x=a:0.01:b; //Vetor de a at b com passo 0.01

Console

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

function [x,y] = plotagrafico(a,b)


x=a:0.01:b; //Vetor de a at b com passo 0.01
y=sin(x);

Console

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

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

Console

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

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

Console

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

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

Console

-->[x y] = plotagrafico(0 , 2*%pi)

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

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

Console

-->[x y] = plotagrafico(0 , 2*%pi)


1. Lembrar que so duas variveis de sada.

Exerccios
Escreva uma funo que plote o grfico da funo cos(x) no intervalo de a at b.
Scinotes

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

Console

-->[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?

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.
Scinotes

function [d] = dist(a,b)

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

function [d] = dist(a,b)


d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );

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

function [d] = dist(a,b)


d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction

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

function [d] = dist(a,b)


d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction

Console

-->dist([0 0],[1 1])

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

function [d] = dist(a,b)


d = sqrt( (a(1)-b(1))^2 + (a(2)-b(2))^2 );
endfunction

Console

-->dist([0 0],[1 1])


ans =

1.4142136

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.

Scinotes

function [exato,aprox,err] = seno_taylor(ang,n)

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

function [exato,aprox,err] = seno_taylor(ang,n)


for i=1:n

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

function [exato,aprox,err] = seno_taylor(ang,n)


for i=1:n
k = (2)*i-1;

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

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));

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

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

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

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);

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

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);

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

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;

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

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

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.
Console

-->[exato,aprox,err]=seno_taylor(30*%pi/180,2)

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

-->[exato,aprox,err]=seno_taylor(30*%pi/180,2)
err =
0.0651641
aprox =
0.4996742
exato =
0.5

Você também pode gostar