Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Este material um auxlio de consulta rpida, o conhecimento aqui apresentado deve ser fundamentado pelas atividades de aula e principalmente pelas bibliografias fornecidas. Cada disciplina demanda parte do conhecimento aqui resumido, devendo o aluno estar apto a distingu-la
1) Introduo
1.1) Movimentar entre as pastas do sistema, dentro ou fora do octave "cd caminho" vai ao diretrio especificado pelo caminho "ls" lista um caminho especificado ou a pasta atual "pwd" lista o caminho atual 1.2) Para acessar o octave via terminal linux digite: $ octave 1.3) Verifique se os pacotes: odepkg, statistics, symbolic. Esto instalados: > pkg list Caso negativo acesse http://octave.sourceforge.net/ e proceda a instalao. 1.4) Ativando o dirio de atividades. Recarregue suas variveis, se houver. > diary Diario01.txt > diary on > load Variaveis01.txt 1.5) DESENVOLVA SUA TAREFA. Pode acessar ajuda de qualquer funo. > help sum Ou listar as variveis usadas no momento > whos Apague as variveis desnecessrias > clear ea vb mc 1.6) Salve as varievis ao finalizar uma tarefa. > save Variaveis01.txt 1.7) Desative o dirio e feche o programa. > diary off > quit
2) Nomes de variveis
2.1) Adotamos uma letra minscula como prefixo do nome da varivel para indicar seu tipo. ttexto = 'Texto Livre' # para texto. enumero = 1.123 # um escalar inteiro ou decimal. vvetor = [1;2;3;4;5;6] ou [1,2,3,4,5,6] # para vetor linha ou coluna, padro (Nx1). mmatriz = [1.1,2.2;3.3,4.4;5.5,6.6] # para matriz. sestrutura = struct(tnome,joao,epeso,20.5) # para dados tipo struct. ff = 1+2*x # para funcao em anlise simbolica. Em que x varivel simblica do modelo matemtico e deve vir sem prefixo.
4) Operadores de comparao
< # menor que. Ex: 1 < 2 > # maior que <= # menor ou igual a
>= // maior ou igual a == // operador lgico igual ~= // operador log. diferente
~ // negao do teste
& // operador lgico e | //operador lgico ou
Teste 1 Teste 2
&
==
Pgina 1 de 3
x = randn(2,3) exemplo de matriz xind = (x >= 1)|(x < -0.2) Cria indice na condio. xc = x(xind) Seleciona valores bons. > finite([-1,0,1,inf,NaN,NA]) ans = [1 1 1 0 0 0] # retorna ind. de valores validos
elseif condicao02 #caso verdadeiro02 else #caso falso endif 7.5) Estrutura de controle Switch. switch (inteiro) case 1 # codigo case {2,3} # codigo otherwise # codigo endswitch ou switch (texto) case 'bananeira' # codigo case {'palmeira','figueira'} # codigo otherwise # codigo endswitch 7.6) Estrutura de repetio for # for i=inicio:fim for i=1:10 # executa codigo i vezes endfor 7.7) Estrutura de repetio while while condicao # executa codigo enquanto condicao for verdadeira endwhile 7.8) Estrutura de repetio do-until do # executa codigo at que condicao seja verdadeira until condicao 7.9) Mensagem de alerta e erro. Encerra o programa neste ponto. usage("texto da mensagem"); error("texto da mensagem");
6) Matemtica Simblica
6.1) Iniciar pacote de anlise matemtica simblica > symbols; 6.2) Declarar varivel simblica > x=sym('x'); > y=sym('y'); 6.3) Declarar modelo matemtico. Pode ser lido direto com input. > sf = 1+2*x; > sg = x+y; 6.4) Substituir valor de varivel num modelo matemtico, transformando-o para decimal. > ey = subs(sf,x,1) eY = 3.0 > ez = subs(sg,{x,y},{2,2}) ez = 4.0 6.5) Operaes matemticas para construo de modelo matemtico em ambiente simblico. Cos(x); Cosh(x); Exp(x); Log(x); Sin(x); Sinh(x); Tan(x); Tanh(x); aCos(x); Acosh(x); aSin(x); aSinh(x); aTan(x); aTanh(x); Sqrt(x); 6.6) Calculo de derivada de uma funo. > sd1f = differentiate(sf,x,1) sd1f = 2.0 6.7) Plotar modelo simblico. As demais configuraes seguem o exemplo do grfico de pontos. > splot(sf,x,0:10) 6.8) Transformando tipo simblicos em decimais. > ey = to_double(subs(sf,x,1) ey = 3 6.9) Avaliando modelo informado como texto > tf='1+Log(x)' > ey = to_double(subs(eval(tf),x,2)) ey = 1.6931
/ie_catalunha_basico/entrada.txt
#Autor: Prof. Dr. Catalunha #Tarefa: Basico enumero 1.1 vvetor 1.1 2.2 fim mmatriz 1.1 2.2 3.3 4.4 fim
Pgina 2 de 3
GravaArqSaida(tarquivo,ttexto,einteiro,edecimal,vvetor, mmatriz) aarq=fopen(tarquivo,"w"); fprintf(aarq,"tTexto\n"); fprintf(aarq,"%s\n",tTexto); fprintf(aarq,"einteiro\n"); fprintf(aarq,"%d\n",einteiro); fprintf(aarq,"edecimal\n"); fprintf(aarq,"%5.2f\n",edecimal); fprintf(aarq,"vVetor\n"); fprintf(aarq,"%.4f\n",vVetor); fprintf(aarq,"fim\n"); fprintf(aarq,"mmatriz\n"); for i=1:size(mmatriz,1) fprintf(aarq,"%.4f ",mmatriz(i,:)); fprintf(aarq,"\n"); endfor fclose(aarq); endfunction 7.16) Le dados em um arquivo de texto. function [ttexto,enumero,vvetor,mmatriz,mtTexto]=LeArqEntrada(ta rquivo) aarq = fopen (tarquivo, "r"); while(!feof(aarq)) linha=fgetl(aarq); switch (linha) case "ttexto" ttexto=fgetl(aarq); case "enumero" linha=fgetl(aarq); enumero=str2num(linha); case "vvetor" # Para vetor coluna (1xN) pos=1; while(!strcmp(linha=fgetl(aarq),"fim")) vTemp(pos++)=str2num(linha); endwhile vvetor=vTemp; case "mmatriz" # Para vetor linha (Nx1) ou matriz lin=1; while(!strcmp(linha=fgetl(aarq),"fim")) mTemp(lin++,:)=str2num(linha); endwhile mmatriz=mTemp; case "mtTexto" mtTemp=''; while(!strcmp(linha=fgetl(aarq),"fim")) mtTemp=[mtTemp;linha] end mtTexto=mtTemp; endswitch endwhile fclose(aarq); endfunction 7.17) Gerar grfico. Inicialmente precisamos esconder a janela do plot, para isto use a linha a seguir: janelaPlot=figure('Visible','off'); posteriormente incluia as informaes necessrias conforme item 8
8.4) Grafico de superfcie. As demais configuraes seguem o exemplo do grfico de pontos. use tambm zlabel > vx=[0,0.5,1] > vY=[0,1,2] > [mx,my]=meshgrid(vx,vY) > mz=mx.**2+2*my > mesh(mx,my,mz) > surf(mx,my,mz) > contour(mx,my,m Z) > contour3(mx,my,mz) > plot3(mx,my,mz)
9) Integrao
9.1) Integral simples. > f=@(x) 1/x; > quad(f,3.0,3.6) ans = 0.18232 9.2) Integral dupla > g=@(x,y) x.**2+2*y; > dblquad(g,0,1,0,2) ans = 4.6667
[] [
] []
8) Gerar Graficos
8.1) De Pontos. Considere os dados vX, vY, vXt, vYt. plot(x,y,formato). Em que formato='<estiloDoPonto><corDoPonto>;<legenda>;' . Sendo: estiloDoPonto=-, +,*,o,x,^. corDoPonto=k(preto), w(branco), r(vermelho), g(verde), b(azul), m(magenta), c(ciano). legenda=texto. > plot(vx,f(vx),'r;orig;',vxt,vyt,'b;transf;') > grid on > title('Titulo do Grafico') > xlabel('Nome do EixoX') > ylabel('Nome do EixoY') > axis([0,10,0,50]) > print('nomeArquivo.png','-dpng') 8.2) De funo em linha. Plotando uma funcao. fplot(<funcao>, [xmin,xmax,ymin,ymax]). As demais configuraes seguem o exemplo do grfico de pontos. fplot(f,[-2,2,0,4]) 8.3) Grafico em linha 3D. As demais configuraes seguem o exemplo do grfico de pontos. use tambm zlabel > z=[0:pi/100:20*pi]; > x=cos(z); > y=sin(z); > plot3(x,y,z)
Pgina 3 de 3