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

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

Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10.

Apresentações semelhantes


Apresentação em tema: "Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10."— Transcrição da apresentação:

1 Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10

2 Ludwig Krippahl, Na aula de hoje... Conceitos básicos de Excel Usar dados dinâmicos Trocar dados com o Octave Leitura formatada com Octave (fscanf) Array formulas, formulas com vectores ou matrizes. Gráficos Consulta de tabelas Algumas funções úteis

3 Ludwig Krippahl, Conceitos básicos de Excel Célula: A5 Grupo de células: A5:B12 Referência relativa ou absoluta: O cifrão marca uma referência absoluta. A$5, $B$5 Nestes casos o 5 e o B estão fixos. Sem cifrão a referência é relativa, e muda com copy/paste ou fill down/right

4 Ludwig Krippahl, Conceitos básicos de Excel Referência relativa: Nota: fórmulas começam sempre por =

5 Ludwig Krippahl, Conceitos básicos de Excel Referência relativa: O B passou a C e o C a D copiando para a direita

6 Ludwig Krippahl, Conceitos básicos de Excel Referência relativa: O 2 passou a 3 copiando para baixo

7 Ludwig Krippahl, Conceitos básicos de Excel Referência absoluta

8 Ludwig Krippahl, Conceitos básicos de Excel Referência absoluta Fill down (seleccionar, ctrl+d)

9 Ludwig Krippahl, Conceitos básicos de Excel Referência absoluta Multiplicar pelo C1, mas sem mudar o 1...

10 Ludwig Krippahl, Conceitos básicos de Excel Referência absoluta Marcar o 1 como ref. absoluta

11 Ludwig Krippahl, Conceitos básicos de Excel Referência absoluta Marcar o 1 como ref. absoluta

12 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

13 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

14 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

15 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

16 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

17 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

18 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

19 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Parâmetros Constante DeltaT

20 Ludwig Krippahl, Conceitos básicos de Excel Dar nomes às células. Exemplo: 2A B Fill down... Mas falta o tempo.

21 Ludwig Krippahl, Conceitos básicos de Excel Seleccionar a primeira coluna (click no topo da coluna, no A).

22 Ludwig Krippahl, Conceitos básicos de Excel Insert, Columns

23 Ludwig Krippahl, Conceitos básicos de Excel Insert, Columns

24 Ludwig Krippahl, Conceitos básicos de Excel Definir a fórmula, e fill down.

25 Ludwig Krippahl, Conceitos básicos de Excel IF(condição; valor se verdade; valor se falso) Ex:

26 Ludwig Krippahl, Conceitos básicos de Excel IF(condição; valor se verdade; valor se falso) Ex:

27 Ludwig Krippahl, Conceitos básicos de Excel Exemplo: raiz do polinómio x 3 +2

28 Ludwig Krippahl, Conceitos básicos de Excel Exemplo: raiz do polinómio x 3 +2

29 Ludwig Krippahl, Conceitos básicos de Excel Exemplo: raiz do polinómio x 3 +2 Fill right, fill down

30 Ludwig Krippahl, Conceitos básicos de Excel Exemplo: raiz do polinómio x 3 +2

31 Ludwig Krippahl, Conceitos básicos de Excel Exemplo: raiz do polinómio x 3 +2 Fill down

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

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

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

35 Ludwig Krippahl, Excel 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

36 Ludwig Krippahl, Excel 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).

37 Ludwig Krippahl, Excel 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

38 Ludwig Krippahl, Excel 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...

39 Ludwig Krippahl, Excel e Octave Exportar dados do Excel Copy (ctrl+c)

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

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

42 Ludwig Krippahl, Excel e Octave, ler os dados [v1,v2,v3...]=fscanf(id,formato) Por exemplo, um texto com x=12;y=13 x=14;y=28 Lê-se [x,y]=fscanf(fid,x=%i;y=%i/n)

43 Ludwig Krippahl, Excel e Octave, ler os dados [v1,v2,v3...]=fscanf(id,formato) [x,y]=fscanf(fid,x=%i;y=%i/n) Devolve 2 valores

44 Ludwig Krippahl, Excel e Octave, ler os dados [v1,v2,v3...]=fscanf(id,formato) [x,y]=fscanf(fid,x=%i;y=%i/n) Devolve 2 valores, inteiros

45 Ludwig Krippahl, Excel e Octave, ler os dados [v1,v2,v3...]=fscanf(id,formato) [x,y]=fscanf(fid,x=%i;y=%i/n) Devolve 2 valores, inteiros, numa string que começa por x=, seguida do primeiro valor, depois ;y=, o segundo valor, e finalmente muda de linha.

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

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

48 Ludwig Krippahl, Excel e Octave, ler os dados function [orif,cols]=lerdados(fich) fid=fopen(fich,"r"); orif=fscanf(fid,"Orificios\t%i\n"); cols=[]; fgetl(fid); while !feof(fid) c=fscanf(fid,"%i\t\n"); cols=[cols,c]; endwhile fclose(fid); endfunction Lê os valores, saltando os tabs que o Excel deixou na segunda coluna

49 Ludwig Krippahl, Excel 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\n",cols(f),u); endfor fclose(fid); endfunction Calcula os UFCs para cada valor no vector de colónias, e grava no ficheiro

50 Ludwig Krippahl, Excel e Octave, calcular

51 Ludwig Krippahl, Excel 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)

52 Ludwig Krippahl, Excel e Octave, actualizar Agora temos que importar os resultados no Excel

53 Ludwig Krippahl, Excel e Octave, actualizar Importar os resultados

54 Ludwig Krippahl, Excel e Octave, actualizar Importar os resultados

55 Ludwig Krippahl, Excel e Octave, actualizar Importar os resultados

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

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

58 Ludwig Krippahl, Excel e Octave, actualizar Advanced para conversão do formato. Por exemplo. em vez de, nos números. Especificar a conversão pode ser muito importante. No Octave os números fraccionários têm um ponto, mas em Português tipicamente usa-se a vírgula.

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

60 Ludwig Krippahl, 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

61 Ludwig Krippahl, 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 O Excel vai percorrer todas as células, comparar elemento a elemento, somar 1 cada vez que a condição é verdadeira e devolve a soma.

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

63 Ludwig Krippahl, 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

64 Ludwig Krippahl, 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

65 Ludwig Krippahl, 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

66 Ludwig Krippahl, 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:

67 Ludwig Krippahl, 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

68 Ludwig Krippahl, 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

69 Ludwig Krippahl, 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. (Ver folha excel-t10.xls, página Lookup) 80

70 Ludwig Krippahl, Outras funções úteis SUM, AVERAGE, SUMIF, COUNT, COUNTIF AND, OR (para usar no IF, por exemplo) LINEST para regressão linear (vão ver na aula prática, usem o help). 80

71 Ludwig Krippahl, 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.

72 Ludwig Krippahl, Dúvidas


Carregar ppt "Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 10."

Apresentações semelhantes


Anúncios Google