A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 13.

Apresentações semelhantes


Apresentação em tema: "Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 13."— Transcrição da apresentação:

1 Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 13

2 Ludwig Krippahl, 2009 2 Na aula de hoje... Excel Usar dados dinâmicos Trocar dados com o Octave Array formulas, formulas com vectores ou matrizes. Gráficos Consulta de tabelas Algumas funções úteis Macros, Histogramas, Referência dinâmica (OFFSET), Formatação condicional, goal seek

3 Ludwig Krippahl, 2009 3 Excel e Octave Exemplo: contar microorganismos no ar (ver aula 7) function cs=colonias(buracos, ufcs, tentativas) function u=contaufcs(buracos,cs,tentativas)

4 Ludwig Krippahl, 2009 4 Contar microorganismos no ar Bomba aspira ar. Orifícios sobre placa. Contar colónias. Estimar UFCs.

5 Ludwig Krippahl, 2009 5 Contar microorganismos no ar Problema: Podem entrar vários esporos ou bactérias pelo mesmo orifício, resultando numa só colónia. Ar

6 Ludwig Krippahl, 2009 6 Excel/Calc e Octave function cs=colonias(buracos, ufcs, tentativas) Devolve o número de colónias estimado (média das tentativas) para o numero de UFCs dado

7 Ludwig Krippahl, 2009 7 Excel/Calc e Octave function u=contaufcs(buracos,cs,tentativas) Estima o numero de UFCs (média das tentativas) a partir no numero de colónias (usa a função anterior para experimentar valores).

8 Ludwig Krippahl, 2009 8 Excel/Calc e Octave Esquema: Temos os dados no Excel Gravamos num ficheiro txt O Octave lê, estima os UFCs, e grava um ficheiro O Excel actualiza a informação

9 Ludwig Krippahl, 2009 9 Excel/Calc e Octave Exportar dados do Excel Forma mais prática: seleccionar, paste no notepad, gravar. Ler com o Octave Ter atenção ao formato do ficheiro...

10 Ludwig Krippahl, 2009 10 Excel/Calc e Octave Exportar dados do Excel Copy (ctrl+c)

11 Ludwig Krippahl, 2009 11 Excel/Calc e Octave Exportar dados do Excel Copy (ctrl+c) Paste (ctrl+v) Atenção aos tabs No wordpad Ficam duas colunas

12 Ludwig Krippahl, 2009 12 Excel/Calc e Octave Exportar dados do Excel Copy (ctrl+c) Paste (ctrl+v) Atenção aos tabs Gravar Dados.txt

13 Ludwig Krippahl, 2009 13 Excel/Calc, ler os dados function [orif,cols]=lerdados(fich) fid=fopen(fich,"r"); orif=fscanf(fid,"Orificios\t%i\n,C); cols=[]; fgetl(fid); while !feof(fid) c=fscanf(fid,"%i,C); cols=[cols,c]; endwhile fclose(fid); endfunction Abre o ficheiro e lê o número de orifícios.

14 Ludwig Krippahl, 2009 14 Excel/Calc, ler os dados function [orif,cols]=lerdados(fich) fid=fopen(fich,"r"); orif=fscanf(fid,"Orificios\t%i\n,C); cols=[]; fgetl(fid); while !feof(fid) c=fscanf(fid,"%i,C); cols=[cols,c]; endwhile fclose(fid); endfunction Salta Colónias:

15 Ludwig Krippahl, 2009 15 Excel/Calc, ler os dados function [orif,cols]=lerdados(fich) fid=fopen(fich,"r"); orif=fscanf(fid,"Orificios\t%i\n,C); cols=[]; fgetl(fid); while !feof(fid) c=fscanf(fid,"%i,C); cols=[cols,c]; endwhile fclose(fid); endfunction Lê os valores

16 Ludwig Krippahl, 2009 16 Excel/Calc e Octave, calcular function calculaegrava(orif,tentat,fich,cols) fid=fopen(fich,"w"); for f=1:length(cols) u=contaufcs(orif,cols(f),tentat); fprintf(fid,"%i\t%i \r\n ",cols(f),u); endfor fclose(fid); endfunction Calcula os UFCs para cada valor no vector de colónias, e grava no ficheiro

17 Ludwig Krippahl, 2009 17 Excel/Calc e Octave, calcular function calculaegrava(orif,tentat,fich,cols) fid=fopen(fich,"w"); for f=1:length(cols) u=contaufcs(orif,cols(f),tentat); fprintf(fid,"%i\t%i \r\n ",cols(f),u); endfor fclose(fid); endfunction Mudar de linha em DOS e Windows (em Linux só é preciso \n)

18 Ludwig Krippahl, 2009 18 Excel/Calc e Octave, calcular

19 Ludwig Krippahl, 2009 19 Excel/Calc e Octave, actualizar Basta agora um script para actualizar (actualiza.m), que lê os dados de dados.txt, calcula com 20 tentativas cada e grava em ufcs.txt: [orif,d]=lerdados("dados.txt") calculaegrava(orif,20,"ufcs.txt",d)

20 Ludwig Krippahl, 2009 20 Excel/Calc e Octave, actualizar Agora temos que importar os resultados na folha de cálculo.

21 Ludwig Krippahl, 2009 21 Excel/Calc e Octave, actualizar Importar os resultados

22 Ludwig Krippahl, 2009 22 Excel/Calc e Octave, actualizar Importar os resultados

23 Ludwig Krippahl, 2009 23 Excel/Calc e Octave, actualizar Importar os resultados

24 Ludwig Krippahl, 2009 24 Excel/Calc e Octave, actualizar Advanced para conversão do formato. Por exemplo. em vez de, nos números.

25 Ludwig Krippahl, 2009 25 Excel/Calc e Octave, actualizar Advanced para conversão do formato. Por exemplo. em vez de, nos números.

26 Ludwig Krippahl, 2009 26 Array formulas Dois tipos: Fórmulas que operam sobre um vector ou matriz de elementos Fórmulas que devolvem uma matriz de elementos

27 Ludwig Krippahl, 2009 27 Array formulas Fórmulas que operam sobre um vector ou matriz de elementos Exemplo: Quantos alunos melhoraram do primeiro para o segundo teste. Teste 1 em A3:A13, teste 2 em B3:B13 =SUM(IF(B3:B13>A3:A13;1;0)) ctrl+shift+enter para indicar que é uma fórmula para vectores

28 Ludwig Krippahl, 2009 28 Array formulas Teste 1 em A3:A13, teste 2 em B3:B13 =SUM(IF(B3:B13>A3:A13;1;0)) ctrl+shift+enter para indicar que é uma fórmula para vectores Percorre todas as células, comparar elemento a elemento, somar 1 cada vez que a condição é verdadeira e devolve a soma.

29 Ludwig Krippahl, 2009 29 Array formulas Fórmulas que devolvem uma matriz de elementos Exemplo: a inversa de uma matriz: MINVERSE

30 Ludwig Krippahl, 2009 30 Array formulas Exemplo: a inversa de uma matriz em A1:B3 Seleccionar as células onde aparecerá o resultado =MINVERSE(A1:B3) ctrl+shift+enter

31 Ludwig Krippahl, 2009 31 Gráficos Para fazer um gráfico basta seleccionar as células e carregar no botão Alguns detalhes: Com valores de X e Y tem que ser sempre o XY(Scatter) Se temos valores em colunas com formatos diferentes, ou vários conjuntos X e Y o mais prático é fazer o gráfico para a primeira série e depois acrescentar outras com copy e paste special

32 Ludwig Krippahl, 2009 32 Gráficos Exemplo: comparar x 2 com x 3 Calcular pontos x, y Seleccionar os do x 2, traçar gráfico Seleccionar os do x 3, copy Seleccionar gráfico, Edit, Paste Special (no Excel) Ou adicionar série

33 Ludwig Krippahl, 2009 33 Gráficos Exemplo: comparar x 2 com x 3 Seleccionar gráfico, Edit, Paste Special Especificar nova série com valores de x na primeira coluna:

34 Ludwig Krippahl, 2009 34 Consultar tabelas (VLOOKUP) VLOOKUP(Valor a encontrar; Tabela; Índice da coluna a devolver; Procura por intervalo (True/False)) Exemplo: encontrar a nota de um aluno

35 Ludwig Krippahl, 2009 35 Consultar tabelas (VLOOKUP) Exemplo: encontrar a nota de um aluno =VLOOKUP(C9;A1:B6;2;FALSE) Não queremos que devolva um valor dentro do intervalo, mas apenas o valor exacto

36 Ludwig Krippahl, 2009 36 Consultar tabelas (VLOOKUP) Exemplo: Altura versus peso =VLOOKUP(H10;I3:J7;2;TRUE) Se não for esse o valor exacto para a altura, queremos o peso aproximado Neste caso dá o último que encontrou antes de passar o valor pedido. 80

37 Ludwig Krippahl, 2009 37 Outras funções úteis SUM, AVERAGE, SUMIF, COUNT, COUNTIF AND, OR (para usar no IF, por exemplo) LINEST para regressão linear Receita: Seleccionar 2x3 Linest(Ys, Xs, True, True), ctrl+shift+enter

38 Ludwig Krippahl, 2009 38 Outras funções úteis LINEST para regressão linear Seleccionar 2x3 Linest(Ys, Xs, True, True), ctrl+shift+enter Ver no help 80 mb erro merro b r^2erro y

39 Ludwig Krippahl, 2009 39 Outras funções úteis Como usar funções que não conhecem: Ver no help. Usar Insert, Function, e seguir as instruções. Procurar no Google.

40 Ludwig Krippahl, 2009 40 Macros «Macro-instrução» Conjunto de instruções que é executado como uma só (significado inicial, 1970s). Hoje em dia tem um significado mais geral, refere-se a qualquer programa escrito numa linguagem usada para controlar uma aplicação. No caso do Excel, Visual Basic.

41 Ludwig Krippahl, 2009 41 Macros Gravar macro:

42 Ludwig Krippahl, 2009 42 Macros Gravar macro: Tools->Macro->Record new Macro Dar nome (e.g. Ordenar).

43 Ludwig Krippahl, 2009 43 Macros Gravar macro: Tools->Macro->Record new Macro Dar nome (e.g. Ordenar). No final, carregar no stop

44 Ludwig Krippahl, 2009 44 Macros Alternativas para correr a macro: Tools->Macro->Macros->Run Usar a combinação de teclas definida quando gravámos (ou definir uma em Tools->Macro- >Macros->Options Atribuir a macro a um objecto na folha (um botão, um desenho). Para um desenho, click botão da direita e Assign Macro.

45 Ludwig Krippahl, 2009 45 Macros Bom para tarefas repetitivas de formatação, ordenação, reposicionar dados, etc.

46 Ludwig Krippahl, 2009 46 Macros Para ver o código: Tools->Macro->Visual Basic Editor Modules

47 Ludwig Krippahl, 2009 47 Macros Sub Ordena() Columns("A:B").Select Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub

48 Ludwig Krippahl, 2009 48 Histogramas Função FREQUENCY( Dados; Separadores) É uma função que devolve um vector de dimensão igual a um mais o número de separadores, com as contagens dos elementos entre os separadores (ou maiores que o último)

49 Ludwig Krippahl, 2009 49 Histogramas DadosSeparadores FREQUENCY

50 Ludwig Krippahl, 2009 50 Referências dinâmicas OFFSET( Célula de referência, a partir da qual contamos as linhas e colunas; Linhas; Colunas; Altura; Largura) Tem de ser usada como argumento de outra função (e.g. SUM, AVERAGE...)

51 Ludwig Krippahl, 2009 51 Referências dinâmicas Exemplo: OFFSET(A1,3,5,2,4) Grupo de 2x4 (altura x largura) células a começar da 3ª linha e 5ª coluna a contar da A1.

52 Ludwig Krippahl, 2009 52 Referências dinâmicas Exemplo:

53 Ludwig Krippahl, 2009 53 Referências dinâmicas É útil para fazer depender a referência de um valor calculado. Por exemplo, com COUNTA, que conta o número de células não vazias. Exemplo =SUM(OFFSET(A1;1;1;COUNTA(B:B)-1;1)) Soma a coluna dos gastos, qualquer que seja o numero de entradas (o -1 desconta o cabeçalho Gastos).

54 Ludwig Krippahl, 2009 54 Formatação Condicional Seleccionar células Format->Conditional Formatting Especificar condições e formatação se as condições forem preenchidas (Exemplo: a vermelho e bold se o gasto for maior que 100).

55 Ludwig Krippahl, 2009 55 Dúvidas Trabalho 2 Octave


Carregar ppt "Ludwig Krippahl, 2009 Programação para as Ciências Experimentais 2008/9 Teórica 13."

Apresentações semelhantes


Anúncios Google