Download pdf - Introdução Ao Scilab

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


Recommended