of 55 /55
Universidade do Estado do Rio de Janeiro Faculdade de Engenharia Laboratório de Engenharia Elétrica Introdução ao Scilab Introdução ao Scilab (Aula 1) (Aula 1) Apoio: Programa de Estágio Interno Complementar do CETREINA/SR-1/UERJ Elaine de Mattos Silva Orientador: Prof. José Paulo Vilela Soares da Cunha Abril de 2007

Introdu o ao Scilab - UERJelaine/aula1_2007.pdf · /home/aluno Introdução ao Scilab (aula 1) – UERJ/FEN/LEE 2 – O ambiente Scilab. 2.4 Manipulação de arquivos e diretórios

Embed Size (px)

Text of Introdu o ao Scilab - UERJelaine/aula1_2007.pdf · /home/aluno Introdução ao Scilab (aula 1) –...

  • UniversidadedoEstadodoRiodeJaneiroFaculdadedeEngenhariaLaboratriodeEngenhariaEltrica

    IntroduoaoScilabIntroduoaoScilab(Aula1)(Aula1)

    Apoio:ProgramadeEstgioInternoComplementardoCETREINA/SR1/UERJ

    ElainedeMattosSilvaOrientador:Prof.JosPauloVilelaSoaresdaCunha

    Abrilde2007

  • ContatosEmail:

    [email protected]

    Pginadocurso:http://www.lee.eng.uerj.br/~elaine/scilab.html

    ApostilaIntroduoaoScilabverso3.0:Prof.PauloSrgiodaMottaPires(UFRN)http://www.dca.ufrn.br/~pmotta

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

  • PrRequisitosNecessrios:

    IntroduoaoProcessamentodeDados(IPD)lgebraLinearGeometriaAnalticaClculoNumrico

    Desejveis:FsicaTericaeExperimentalIIIEletricidadeBsica

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    PrRequisitos

  • Objetivos

    IntroduoaosoftwaredeclculonumricoScilab

    UsodoScilabpararesoluodeproblemasdeEngenharia

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Objetivos

  • Aula1OqueoScilabOAmbienteScilabOperaescomnmerosreaisecomplexos

    Aula2Polinmios,VetoreseMatrizesListas

    Aula3ProgramaocomScilab

    Aula4GrficoscomScilabIntroduoaoScicos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    ContedoGeral

  • 1OqueoScilab1.1Quemmantm1.2Plataformas

    1.3Comoobter2OAmbienteScilab

    2.1Ambientegrfico2.2Variveisespeciais

    2.3Regrasparaatribuiodevariveis2.4Manipulaodearquivosediretrios2.5Hierarquiadeprompts

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Aula1

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3Operaescomnmerosreaisecomplexos3.1CalculadoraxAmbientedeprogramao3.2Operaesbsicascomnmerosreais

    3.3Operaesbsicascomnmeroscomplexos3.4Algumasfuneselementares

    Aula1(cont.)

  • Softwarelivreparaclculonumricoesimulaodesistemasfsicos.Usadonasreas:

    ControleeprocessamentodesinaisAutomaoindustrialControledeprocessosComputaogrficaMatemticaFsicaetc.

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    1OqueoScilab

  • Criadoem1989porumgrupodepesquisadoresdaINRIAedaENPC.Disponvelcomosoftwarelivredesde1994pelosite

    http://www.scilab.org

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    1OqueoScilab(cont.)

  • OqueoScilab1.1QuemMantm

    ConsrcioScilabdesde2003mantidopordiversasempresas

    Objetivosdoconsrcio:organizarcooperaoentreosdesenvolvedoresobterrecursosparamanutenodaequipegarantirsuporteaosusurios

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    1OqueoScilab

  • OqueoScilab1.2Plataformas

    SistemasOperacionais:LinuxWindowsSolarisUnix

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    1OqueoScilab

  • 1.3ComoObter

    NapginadoScilabnainternet(http://www.scilab.org)podeseobter:

    arquivosdeinstalaomanuaistoolboxes

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    1OqueoScilab

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    promptnvelzero

    cursor

    MenuPrincipal

  • 2.1AmbienteGrfico

    MenuFile:FileOperations

    CarregaarquivosefunesKill

    InterrompeexecuoesaidoambienteQuit

    SaidoScilab

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • 2.1AmbienteGrfico(cont.)

    MenuControl:Resume

    VoltaaopromptanteriorAbort

    TerminaaexecuovoltandoaopromptzeroStop

    Entranomodopause

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • 2.1AmbienteGrfico(cont.)MenuDemos:

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • 2.1AmbienteGrfico(cont.)

    MenuGraphicWindowN:Set(Create)Window

    CriaumajanelagrficaRaise(Create)WindowDeleteGraphicWindow

    Apagajanelagrfica

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • 2.1AmbienteGrfico(cont.)

    MenuHelp:HelpBrowser

    AtivanavegadorpadrodoScilabApropos

    ProcuraporpalavrachaveConfigure

    Configuraonavegadorparaohelp

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • MenuHorizontalMenuHelp:

    HelpBrowser

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    ajudasobrefunes

    elementares

    2OambienteScilab

  • MenuHorizontal

    MenuHelp:Configure

    OBS.:Ohelptambmpodeseracessadoviatextoatravsdocomandohelpnome_da_funo

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    configuraodonavegador

    2OambienteScilab

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • MenuHorizontal

    MenuEditor:Editor(Scipad)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    editordecomandose

    funes

    2OambienteScilab

  • 2.2Variveisespeciais

    variveisquenopodemsermodificadas%svarivelcomplexadepolinmios(TransformadadeLaplace)

    %zvarivelcomplexadepolinmios(Transformadaz)%TvarivelbooleanaTrue(verdadeiro)%FvarivelbooleanaFalse(falso)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab2.2Variveisespeciais(cont.)

    variveisquenopodemsermodificadas%pivalorde (3,1415926...)%enmerodeEuler(2,7182818...)%epsprecisodamquina(%eps+1=1)%infinfinito

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab2.2Variveisespeciais(cont.)

    SCIMostraodiretrioondeoScilabestinstaladoPWDouhome

    Diretriodeondeoscilabfoilanado(fixo)Ocomandowhomostraasvariveislocaiseglobais

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab2.2Variveisespeciais(cont.)-->whoyour variables are... scicos_pal %scicos_menu %scicos_short %scicos_help %scicos_display_mode modelica_libs scicos_pal_libs addmenu delmenu %helps home SCIHOME PWD TMPDIR MSDOS SCI guilib sparselib xdesslib percentlib polylib intlib elemlib utillib statslib alglib siglib optlib autolib roblib soundlib metalib armalib tkscilib tdcslib s2flib mtlblib %F %T %z %s %nan %inf COMPILER %gtk %pvm %tk $ %t %f %eps %io %i %e using 14939 elements out of 5000000. and 55 variables out of 9231 your global variables are... LANGUAGE %helps demolist %browsehelp LCC %toolboxes %toolboxes_dir using 1174 elements out of 11000. and 7 variables out of 767

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab2.3Declaraodevariveis

    SensvelamaisculaseminsculasPalavranicaAt24caracteresNopodeiniciarcomnmero Ex1.:avarivelquearmazenaovalordocustodeproduodeumprodutopodesercusto_total

  • 2.4Manipulaodearquivosediretrios

    pwdFunoquemostraodiretrioatualEx.:-->pwd

    ans =

    /home/aluno

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

  • 2.4Manipulaodearquivosediretrios

    cdouchdirFunoquemudaodiretrioEx1.:

    Ex2.:

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    -->cd uerj ans =

    /home/aluno/uerj -->chdir ('uerj') ans =

    0.

  • 2.4Manipulaodearquivosediretrios(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    saveSalvavariveisespecficasemumarquivobinrio

    Ex.:save('dados.dat',a,b)clear(ATENO)

    Apagaasvariveisnoprotegidasdoambienteload

    RecuperaosvaloressalvosemarquivoEx.:load('dados.dat','a','b')

  • 2.4Manipulaodearquivosediretrios(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    Ex.:-->a=2;b=3; -->save('dados.dat',a,b) -->clear -->a,b !--error 4 undefined variable : a -->load('dados.dat') -->a,b a = 2. b = 3.

  • 2.4Manipulaodearquivosediretrios(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    unix_wPermiteacomunicaocomoshellEx.:

    -->unix_w('ls')binbootdevetchomelibmntprocrootsbinusr

  • 2.4Manipulaodearquivosediretrios(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    diaryArmazenaoscomandosemumarquivotexto

    Ex.:-->diary('meu_arquivo.txt')-->a=3;b=5; -->a+b ans = 8.

    -->diary(0)

  • 2.4Manipulaodearquivosediretrios(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    Oarquivomeu_arquivo.txtumarquivotextopuroepodeservisualizadoemqualquereditordetextooucomocomandocat:[[email protected] aluno]$ cat meu_arquivo.txt-->a=3;b=5;-->a+b ans = 8.-->diary(0)[[email protected] aluno]$

  • 2.5Hierarquiadeprompts

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    Comandosusadosemsubrotinas:

    pauseParamudardeambienteusaseocomandopauseouctrl+c

    resumeParavoltaraoambienteacimausaseocomandoresume

  • 2.5Hierarquiadeprompts(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab

    Acadapromptumnovoambiente

    VariveisdeclaradasnoambienteNsovlidasparaosambientesabaixodele(N+1,N+2,N+3,etc)

    VariveisdeclaradasnoambienteNsoinvlidasnosambientesacimadele(N1,N2,N3,etc)

  • 2.5Hierarquiadeprompts(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    2OambienteScilab >a=5;b=10;//declarandovariaveisaebparaambiente0>pause//saindoparaambiente11>a,ba=5.b=10.1>c=15;//criandovariavelcnoambiente11>resume//saindodoambiente1paraoambiente0>a,b,ca=5.b=10.!error4undefinedvariable:c

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.1CalculadoraxAmbientedeprogramao

    CalculadoraOscomandossodigitadosdiretamentedoprompt

    AmbientedeprogramaoOscomandossodigitadosemumarquivotexto

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.2Operaesbsicascomnmerosreais

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Atribuiodevaloreseoperaesbsicas:a=2;b=5;a+bab

    a*ba/bExponenciao:a^b

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.2Operaesbsicascomnmerosreais(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    -->a=2;b=3; //declarando as variaveis-->a+b //soma ans = 5. -->a-b //subtracao ans = - 1. -->a*b //multiplicacao ans = 6. -->a/b /divisao ans = 0.6666667 -->a^b /exponenciacao ans = 8.

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Atribuiodevaloreseoperaesbsicas:a=2+3*%ib=87*%ia+baba*ba/bRaizquadrada:sqrt(2)

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    >a=3+2*%i;b=96*%i;//declarandoasvariaveis>a+b//somadecomplexosans=12.4.i>ab//subtracaodecomplexosans=6.+8.i>a*b//multiplicacaodecomplexosans=39.>a/b//divisaodecomplexosans=0.1282051+0.3076923i>sqrt(16)//raizquadradadenumeronegativoans=4.i

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Conversoderetangularparapolar(x,y)>(,)Ex.:Seonmeroz=4+3i;

    mdulo= =(4+3)ngulo==arctan(3/4)

    Afunoabs(x)calculaomdulodonmerocomplexo;

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Exemplodeconverso:

    >z=4+3*%i;//declarandoavariavelcomplexa>abs(z)//usandoafuncaoabsparacalcular//omoduloans=5.

    >angulo_rad=atan(3,4)//funcaoarcotangenteretornaangulo_rad=//anguloemradianos0.6435011

    >angulo_gr=angulo_rad*180/%pi//convertendorad/grausangulo_gr=36.869898

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Conversodepolarpararetangular(,)>(x,y)Aformapolardeumnmerocomplexo:

    z= (cos + isen)Porm,pelaidentidadedeEuler:

    ei=(cos isen)entoumnmerocomplexonaformapolarpodeser

    representadodestaforma:z=ei

  • Operaescomnmerosreaisecomplexos

    Ex.:z=5e0.6435011(formapolar)z=4+3i(formaretangular)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.3Operaesbsicascomnmeroscomplexos(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    >z=5*%e^(0.6435011*%i)z=4.+3.i

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    abs(x)Retornaovalorabsoluto(sexreal)eomdulo(se

    xcomplexo)cos(x),sin(x),tan(x),cotg(x)

    Retornacosseno,seno,tangenteoucotangentedex(xdeveestaremradianos)

    acos(x),asin(x),atan(x)*Retornaongulo(emradianos)

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Funoatan(x),atan(x,y)

    atan(x):CalculaoarcotangenteparaosquadrantesIeIV[/2,/2]

    atan(x,y):Calculaoarcotangenteparatodososquadrantes

    [, ]

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Funoatan(x)Ex.:

    funoatan(x)parangulode45nosquadrantes:

    Iatan(2/2)IVatan(2/2)IIatan(2/2)(nofunciona)IIIatan(2/2)(nofunciona)

    I

    IV

    II

    III

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Funoatan(x,y)Ex.:

    funoatan(x,y)parangulode45nosquadrantes:

    Iatan(2,2)IVatan(2,2)IIatan(2,2)IIIatan(2,2)

    III

    IVIII

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    imag(x)Mostraaparteimaginriadeumcomplexo

    real(x)Mostraaparterealdeumcomplexo

    log(x),log10(x),log2(x)Logaritmosnatural,base10ebase2

    modulo(x,y)Mostraorestodadivisodexpory

  • Operaescomnmerosreaisecomplexos

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    3.4Algumasfuneselementares(cont.)

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    round(x)Arredondaovalordexparaointeiromaisprximo

    floor(x)Arredondaparaomenorinteiro

    ceil(x)Arredondaparaomaiorinteiro

    sqrt(x)Calculaaraizquadradadex

  • Exerccios

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Usarocomandodiary('meu_arquivo.txt')parasalvarcomandosCalcularasrazesdafunox24x+13Calcularomdulodosnmeros:

    z=(2)+iw=(3i)(2+i)

    Usarocomandodiary(0)parafecharoarquivoUsarocomandocatnoshelldoLinuxparavisualizaroarquivocriado

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

  • Exerccios(respostas)

    IntroduoaoScilab(aula1)UERJ/FEN/LEEIntroduoaoScilab(aula1)UERJ/FEN/LEE

    >unix_w('catmeu_arquivo.txt')>a=1;b=4;c=13;>x1=(b+sqrt(b^24*a*c))/2x1=2.+3.i>x2=(bsqrt(b^24*a*c))/2x2=2.3.i>z=sqrt(2)+%i;>abs(z)ans=1.7320508>w=(3%i)*(2+%i)w=7.+i>abs(w)ans=7.0710678>diary(0)

  • IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Pires,P.S.M.,IntroduoaoScilab,RioGrandedoNorte,Julhode2004

    TheMathWorks,MATLABVersodoEstudante,MakronBooks,1998

    IntroduoaoScilab(aula1)UERJ/FEN/LEE

    Referncias