Aula-21-CIV0494- Introdução Ao Scilab 5.5.2

  • Upload
    carlos

  • View
    240

  • Download
    0

Embed Size (px)

Citation preview

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    1/52

    A21-01CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    O Scilab um software cientfico (livre)paracomputao numrica com uma rica biblioteca de

    funes e uma linguagem de programao associada.

    Introduo ao Scilab 5.5.2

    UNIDADE 03MTODOS COMPUTACIONAIS

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    2/52

    g g g

    Para baixar o programa acessar: www.scilab.org

    Click para fazero download.

    OBS.:O downloadpode demorar!

    A21-02CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    3/52

    Aps o download, com um duplo click eminstala-se o Scilab 5.5.2

    A21-03CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    4/52

    O ambiente Scilab

    A21-04CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    5/52

    O ambiente Scilab (cont.)

    Editar/Preferncias/General(expandir)/Desktop Layout/Select a Layout/Integrated

    A21-05CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    6/52

    O Console

    A21-06CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    7/52

    O console (cont.)

    A21-07CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    8/52

    O histrico de Comandos

    (sobre o comando na janela histrico de comandos)

    A21-08CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    9/52

    O histrico de comandos (cont.)

    duplo clickcom botoesquerdofaz o comandoser repetido

    click com o

    boto direito

    A21-09CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    10/52

    O ambiente de Trabalho

    A21-10CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    11/52

    O ambiente de Trabalho (cont.)

    A21-11CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    12/52

    O ambiente de Trabalho (cont.)

    A21-12CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    13/52

    O ambiente de Trabalho (cont.)

    A21-13CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    14/52

    O Navegador de Ajuda

    A21-14CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    C 0494 A C f i A i A j

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    15/52

    O Navegador de Ajuda (cont.)

    A21-15CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    CIV0494 M d A l C P f D F i Ad i d A j

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    16/52

    Usando o Scilab como uma calculadora

    A21-16CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    CIV0494 Mt d A lt C P f D F i Ad i d A j

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    17/52

    Usando o Scilab como uma calculadora (cont)

    A21-17CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    CIV0494 Mt d A lt C P f D F i Ad i d A j

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    18/52

    Formatao Para a Exibio de Nmeros

    A21-18CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    OBS.: O Scilab arredonda e trunca apenas a exibiodo nmero, internamente o nmero permanece

    inalterado.

    CIV0494 Mt d A lt C P f D F i Ad i d A j

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    19/52

    Formatao Para a Exibio de Nmeros (cont.)

    A21-19CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    OBS.: O Scilab arredonda e trunca apenas a exibiodo nmero, internamente o nmero permanece

    inalterado.

    CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    20/52

    Formatao Para a Exibio de Nmeros (cont.)

    A21-20CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    21/52

    PROGRAMAO no Scilab

    O Scilab um interpretador de comandos e por isso

    o cdigo gerado no precisa ser compilado. Ou seja,

    o Scilab no cria um programa.exe, portanto um

    programa em linguagem do Scilab s pode ser

    executado dentro do Scilab.

    no SciNotesonde os programas em Scilab soescritos e modificados;

    A21-21CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 22CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    22/52

    Para se escrever um programa segue-se os passos:1. Clica-se no cone do SciNotes

    PROGRAMAO no Scilab (cont.)

    A21-22CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 23CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    23/52

    2.Digita-se o programa no SciNotesExemplo: programa para ler dois nmeros A e B,calcular a soma S e exibir este resultado

    PROGRAMAO no Scilab (cont.)

    A21-23CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 24CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    24/52

    3.Salva-se o arquivo do programa com extenso .sceespecificando-se um diretrio onde ele ser salvo

    PROGRAMAO no Scilab (cont.)

    A21-24CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 25CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    25/52

    4.Clica-se no cone executar

    5.Retorna-se ao console para ver a execuo do

    programa, na barra de ferramenta do Windowsclica-se no cone do console;

    PROGRAMAO no Scilab (cont.)

    A21-25CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 26CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    26/52

    6.Digita-se os dados solicitados e se obtm o resultado

    PROGRAMAO no Scilab (cont.)

    A21-26CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 27CIV0494 Mtodos Analt e Comp : Prof Dr Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    27/52

    PROGRAMAO no Scilab (cont.)

    Variveis no Scilab:

    Todas as variveis so matrizes reais;No necessrio declarar as variveis, pois uma vari-vel criada a partir da primeira atribuio de valoresfeita a ela;Entrada de Dados no Scilab:

    =input(mensagem, s)

    s opcional, e informa que uma string.

    A21-27CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 28CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    28/52

    Sada de Dados no Scilab:

    Exemplo de entrada e sada de dados:

    PROGRAMAO no Scilab (cont.)

    Um dos comandos para sada de dados o disp, cujasintaxe :disp(varivel, mensagem)

    Obs.: mensagem opcional

    A21-28CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 29CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    29/52

    Sada de Dados no Scilab:

    Um comando mais elegante para sada de dados omprintfcuja sintaxe :mprintf(mensagem format\n,varivel)

    \n usado para comear uma nova linha.

    A21-29CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 30CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    30/52

    A21-30CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

    A21 31CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    31/52

    Comandos de Deciso no Scilab:

    if.().then

    else

    end

    if.().then

    elseif.().thenelseif.().then

    else

    end

    OBS.1: o ponto entre if e() significa espao;OBS.2: se o comando for

    aceito ele fica roxo.

    PROGRAMAO no Scilab (cont.)

    A21-31C V0 9 odos . e Co p.: o . . c sco d o de jo

    A21 32CIV0494 Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    32/52

    Expresses Lgicas no Scilab:

    *

    * Se |A|

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    33/52

    PROGRAMAO no Scilab (cont.)

    A21-33 p j

    A21 34CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    34/52

    Exemplo de comando de deciso:PROGRAMAO no Scilab (cont.)

    A21-34p j

    A21 35CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    35/52

    Comandos de Repetio no Scilab:PROGRAMAO no Scilab (cont.)

    Quando o nmero de repeties fixo se costumausar o comando forcuja sintaxe :for=::

    end

    Se o incremento for omitido seu valor de default +1O incremento tambm pode ser negativo

    A21-35p j

    A21 36CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    36/52

    Exemplo do comando for:

    PROGRAMAO no Scilab (cont.)

    Comandos de Repetio no Scilab:

    A21-36p j

    A21 37CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    37/52

    Quando o nmero de repeties no previamenteconhecido se costuma usar o comando whilecujasintaxe :

    =while(==)

    end

    PROGRAMAO no Scilab (cont.)

    Comandos de Repetio no Scilab:

    A21-37

    A21 38CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    38/52

    PROGRAMAO no Scilab (cont.)

    Comandos de Repetio no Scilab:

    Exemplo do comando while:

    A21-38

    A21 39CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    39/52

    Criando Funes no Scilab:PROGRAMAO no Scilab (cont.)

    function=()

    endfunction

    Funo que retorna uma s varivel

    function[]=()

    endfunction

    Funo que retorna vrias variveis

    A forma mais fcil de utilizar as funes escrev-las

    no mesmo arquivo do programa principal, no incio.

    A21-39

    A21 40CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    40/52

    PROGRAMAO no Scilab (cont.)

    A21-40

    A21-41CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    41/52

    PROGRAMAO no Scilab (cont.)

    A21-41

    A21-42CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    42/52

    Resoluo de Sistemas Lineares:PROGRAMAO no Scilab (cont.)

    O mtodo de Gauss para a resoluo de sistemaslineares est implementado no Scilab atravs docomando \. Ex: [A]{x}={b} => x = A\b

    Exemplo:

    A21-42

    A21-43CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    43/52

    Entrada de dados via arquivo:PROGRAMAO no Scilab (cont.)

    Um arquivo de estrada pode ser gerado no SciNotes.Ele deve ser salvo com extenso .txtExemplo de arquivo de entrada para sistema linear:

    OBS: Cada textode instruo deveser uma nicacadeia de caracteresou seja, no secoloca espao, e si

    underline

    A21-43

    A21-44CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    44/52

    A funo mopenabre um arquivo, sendo sua sintax:=mopen(,)

    A funo mclosefecha um arquivo, sendo sua sintax:

    mclose()

    PROGRAMAO no Scilab (cont.)

    Sendo:=varivel que associa uma unidade ao arquivo=varivel nome do arquivo=r ou wr abre arquivo para leitura;w cria ou abre arquivo para escrita,

    A21-44

    A21-45CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    45/52

    A funo mfscanfler dados formatados de um arquivo,

    sendo sua sintaxe: =mfscanf(,)Sendo:=varivel que recebe o dado;

    =unidade associada ao arquivo de entrada; = %s para string;%i para inteiro;

    %f para real;%e para notao cientfica;

    PROGRAMAO no Scilab (cont.)

    A21-45

    A21-46CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    46/52

    A funo mfprintfgrava dados formatados em umarquivo de sada, sua sintaxe :mfprintf(,,)

    Sendo:=unidade associada ao arquivo de sada;=mensagem opcional

    = %i ou %f ou %e ou %s=varivel a ser escrita no arquivo de sada

    Sada de dados via arquivo:PROGRAMAO no Scilab (cont.)

    A21-46

    A21-47CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    47/52

    PROGRAMAO no Scilab (cont.)

    A21 47

    A21-48CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    48/52

    PROGRAMAO no Scilab (cont.)

    A21 48

    A21-49CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    49/52

    PROGRAMAO no Scilab (cont.)

    A21 49

    A21-50CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    50/52

    OBS.: Para se trabalhar com arquivos de entrada e sad

    de dados, o diretrio atual do Scilab deve ser o diretrique contem o programa.sce e as pastas com os arquivos.txt. No menu Editar/Preferncias pode-se configuraro Scilab para sempre abrir no diretrio de trabalho.

    A21 50

    A21-51CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    51/52

    Fazendo grficos no Scilab:

    Ver:CAMPOS Filho,F.F.(2010). Fundamentos de Scilab.UFMG. DCC ICEx.Captulo 05 pg.91 a 104

    A21 51

    A21-52CIV0494Mtodos Analt. e Comp.: Prof. Dr. Francisco Adriano de Arajo

  • 7/26/2019 Aula-21-CIV0494- Introduo Ao Scilab 5.5.2

    52/52

    BIBLIOGRAFIA:MALAQUIAS,J.R.(2013.2). Programao de Compu tadores 01- Captulo 01- Introduo ao Scilab. UFOP.www.dcc.ufmg.br/~hfmatos/CN/cna04

    introducaoSciLab.pdfSOUZA,R.P. Scilab. Aula 1-Introduo. UFRN.RODRIGUES,F.A.Modelagem Matemtica Compu-tacional. Introduo ao Scilab. IFSC.

    CAMPOS Filho,F.F.(2010). Fundamentos de Scilab.UFMG. DCC ICEx.

    A21 52