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 1.

Apresentações semelhantes


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

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

2 Ludwig Krippahl, 2009 2 Informação Página de PCE: http://ssdi.di.fct.unl.pt/pce/ Lista de discussão: https://mail.di.fct.unl.pt/mailman/listinfo/di-pce

3 Ludwig Krippahl, 2009 3 Na aula de hoje... Objectivos, trabalhos e avaliação Aulas teóricas e práticas Octave

4 Ludwig Krippahl, 2009 4 Objectivos Conceitos básicos de programação em Octave/MATLAB. Métodos numéricos e de simulação. Processamento de dados e ficheiros.

5 Ludwig Krippahl, 2009 5 Avaliação Prática Obrigatória. Máximo 4 faltas. Mínimo 9.5 de nota (9.49999 reprova). Conta 25% da nota final. Quem tem frequência não se inscreve Excepto se quiser prescindir da nota do ano passado. Só conta nota de 06/07 e 07/08.

6 Ludwig Krippahl, 2009 6 Avaliação Prática: Trabalhos Fichas das aulas: Conta 1/6 da prática. Uma por aula de exercícios. Avaliadas em conjunto no final do semestre, como parte da avaliação do desempenho e participação de cada aluno.

7 Ludwig Krippahl, 2009 7 Avaliação Prática: Trabalhos Primeiro trabalho prático (Octave): 1/3 da nota prática. Data a anunciar, 2 aulas + trabalho em casa. Resolução de problemas numéricos (simulação e/ou integração) com programação em Octave.

8 Ludwig Krippahl, 2009 8 Avaliação Prática: Trabalhos Segundo trabalho (Octave+Excel): 1/2 da nota prática. A anunciar, 2-3 aulas + trabalho em casa. Resolução de problemas com programação Octave, leitura e processamento de ficheiros provenientes de folhas de cálculo.

9 Ludwig Krippahl, 2009 9 Avaliação Teórica Exame individual escrito

10 Ludwig Krippahl, 2009 10 Fraude Reprovação imediata.

11 Ludwig Krippahl, 2009 11 Nota final Prática: (Fichas+2*TP1+3*TP2)/6 Se Prática >= 9.5, Exame (e frequência) Nota final 0.25 * Prática + 0.75 * Exame Arredondada ao inteiro mais próximo. Sem excepções.

12 Ludwig Krippahl, 2009 12 Aulas Práticas Praticar e tirar dúvidas. Fazer parte dos trabalhos. Todos os trabalhos e fichas para enviar como attachment para praticaspce@di.fct.unl.pt Não enviem nada no corpo do email (não o vamos ler...) Para dúvidas contactar o docente

13 Ludwig Krippahl, 2009 13 Aulas Práticas Login: alunopce Password: octave Um dos elementos do grupo deve ter uma conta de email com webmail. Trabalhar no My Documents; no fim copiar tudo para o pendisk. O que deixarem no PC do laboratório é apagado assim que fizerem log off.

14 Ludwig Krippahl, 2009 14 Aulas Teóricas Não é para decorar. Alguma flexibilidade: Rever matéria Abordar um problema específico Dúvidas... Mas com uma aula de antecedência... 60 minutos + 20 para dúvidas

15 Ludwig Krippahl, 2009 15 Octave Versão gratuita e open-source do Matlab

16 Ludwig Krippahl, 2009 16 Octave Alguns comandos: pwd (present working directory) ls (list), ou dir cd (change directory)

17 Ludwig Krippahl, 2009 17 Octave Exemplo octave.exe:1> pwd ans = C:\Program Files\Octave octave.exe:2> dir. Octave-Forge.url doc libexec share.. README.txt include license tools GNU Octave.url bin lib msys uninst.exe octave.exe:3> cd bin octave.exe:4> pwd ans = C:\Program Files\Octave\bin octave.exe:5>

18 Ludwig Krippahl, 2009 18 Octave Comando, resultado, comando... octave:10> 2+3 ans = 5 octave:11> ans+5 ans = 10 octave:12>

19 Ludwig Krippahl, 2009 19 Octave ; se não queremos ver o resultado octave:12> 12*5; octave:13> 23+1; octave:14>

20 Ludwig Krippahl, 2009 20 Octave Operações básicas: + - * / ^ Variáveis: Nome começa com letra, pode conter letras, números, ou underscore ( _ ) Var1, var1, x, xpto, XPTO, uma_variavel = atribui um valor à variável: x = 0 Atenção à maiúsculas e minúsculas... ans é uma variável

21 Ludwig Krippahl, 2009 21 Octave Exemplos X=2atribui 2 à variável X A=x erro. A=XOK.

22 Ludwig Krippahl, 2009 22 Exemplo Cálculo de concentração. NaCL: massa molar 58.4 g/mol Concentração de 2g em 125ml?

23 Ludwig Krippahl, 2009 23 Exemplo Cálculo de concentração. NaCL: massa molar 58.4 g/mol Concentração de 2g em 125ml? mmNaCl=58.4 v=0.125 q=2/mmNaCl c=q/v

24 Ludwig Krippahl, 2009 24 Exemplo Sequências de comandos: Usem o editor. Corre com o comando edit no octave. Escrevam no editor. Depois seleccionam, copy (ctrl+c) e paste no Octave (shift+ins).

25 Ludwig Krippahl, 2009 25 Gestão de Variáveis who lista as variáveis definidas clear esquece-se delas

26 Ludwig Krippahl, 2009 26 Vectores e matrizes Números entre [ ] Espaço ou virgula representa coluna nova. Ponto e vírgula representa linha nova. Vector coluna: [1;2;3] Vector linha: [1 2 3] ou [1 2 3]

27 Ludwig Krippahl, 2009 27 Vectores e matrizes Matriz: [1,2,3;4,5,6;7,8,9] octave:14> m=[1,2,3;4,5,6;7,8,9] m = 1 2 3 4 5 6 7 8 9 octave:15>

28 Ludwig Krippahl, 2009 28 Composição de vectores e matrizes octave:15> m=[1,2;3,4] m = 1 2 3 4 octave:16> m2=[5,6;7,8] m2 = 5 6 7 8

29 Ludwig Krippahl, 2009 29 Composição de vectores e matrizes octave:17> [m;m2] ans = 1 2 3 4 5 6 7 8 octave:18> [m,m2] ans = 1 2 5 6 3 4 7 8 octave:19>

30 Ludwig Krippahl, 2009 30 Composição de vectores e matrizes Atenção: tem que encaixar Matriz 2x2 com uma de 3x3 não dá

31 Ludwig Krippahl, 2009 31 Transposta: (plica) octave:19> v=[1,2,3] v = 1 2 3 octave:20> v' ans = 1 2 3 octave:21>

32 Ludwig Krippahl, 2009 32 Produto de matrizes m1 =1 2 3 4 m2 =2 2 2 2 m1*m2 = 6 6 14

33 Ludwig Krippahl, 2009 33 Produto de matrizes,. m1 =1 2 3 4 m2 =2 2 2 2 m1.*m2 = 2 4 6 8

34 Ludwig Krippahl, 2009 34 Operação elemento a elemento O ponto antes do operador indica que a operação é elemento a elemento. M1.*M2: multiplicar cada elemento de M1 pelo correspondente em M2 M1.^M2: elevar cada elemento de M1 pelo correspondente em M2 Os dois operadores têm que ter as mesmas dimensões

35 Ludwig Krippahl, 2009 35 Operação elemento a elemento Exemplos l=[1,2,3,4,5] c=[1;2;3;4;5] l*c c*l l.*c

36 Ludwig Krippahl, 2009 36 Séries No Octave podemos criar um vector linha com uma série indicando: Inicio: [passo:] fim O passo é opcional. E.g. 1:2:5 [1,3,5]

37 Ludwig Krippahl, 2009 37 Séries octave:29> 1:0.5:3 ans = 1.0000 1.5000 2.0000 2.5000 3.0000 octave:30> 3:-1:0 ans = 3 2 1 0 octave:31> 1:10 ans = 1 2 3 4 5 6 7 8 9 10 octave:32> 1:9.5 ans = 1 2 3 4 5 6 7 8 9 (termina no último que não ultrapassa)

38 Ludwig Krippahl, 2009 38 Para que é que isto serve? Cada casal de coelhos tem 4 filhos. Quantos coelhos em 10 gerações? Dez gerações, de 1 a 10 Em cada geração temos 2, 4, 8, 16 Ou seja 2 1, 2 2, 2 3, 2 4.

39 Ludwig Krippahl, 2009 39 Para que é que isto serve? octave:33> G=1:10 G = 1 2 3 4 5 6 7 8 9 10 octave:34> Coelhos=2.^G Coelhos = 2 4 8 16 32 64 128 256 512 1024

40 Ludwig Krippahl, 2009 40 Aceder parte da matriz M(linhas, colunas) Linhas e colunas pode ser vector, e pode ser definido por uma série.

41 Ludwig Krippahl, 2009 41 Aceder parte da matriz octave:35> m=[1,2;3,4] m = 1 2 3 4 octave:36> m(2,2) ans = 4 octave:37> m([1,2],2) ans = 2 4

42 Ludwig Krippahl, 2009 42 Aceder parte da matriz octave:38> m(:,:) ans = 1 2 3 4 octave:39> m(2:-1:1,1) ans = 3 1

43 Ludwig Krippahl, 2009 43 Aceder parte da matriz octave:40> m([2,1],1) ans = 3 1

44 Ludwig Krippahl, 2009 44 Aceder parte da matriz Elementos par da segunda linha M( 2, 2:2:30 ) 2, 4, 6, 8.... Duas em duas linhas, todas as colunas M(1:3:50, : )1, 3, 5...: quer dizer tudo

45 Ludwig Krippahl, 2009 45 Funções e operador p/ matrizes detdeterminante invinversa \M \ V : resolve sistema 2x+y=0(Eliminação de Gauss) x-y=2

46 Ludwig Krippahl, 2009 46 Funções e operador p/ matrizes \M \ V : resolve sistema 2x+y=0 x-y=2 octave:8> m=[2,1;1,-1] m = 2 1 1 -1 octave:9> r=[0;2] r = 0 2 octave:10> m\r ans = 0.66667 -1.33333

47 Ludwig Krippahl, 2009 47 Funções para matrizes (ou não) eyeidentidade zeros ones randaleatório, entre 0 e 1.

48 Ludwig Krippahl, 2009 48 Funções para matrizes (ou não) Sem argumentos: um escalar: octave:51> eye ans = 1 octave:52> rand ans = 0.22768 octave:53> zeros ans = 0

49 Ludwig Krippahl, 2009 49 Funções para matrizes (ou não) Um argumento: matriz quadrada. octave:54> eye(2) ans = 1 0 0 1 octave:55> rand(3) ans = 0.854082 0.101465 0.290800 0.510179 0.018994 0.088951 0.716649 0.855890 0.813545

50 Ludwig Krippahl, 2009 50 Funções para matrizes (ou não) Dois argumentos: linhas, colunas octave:56> zeros(2,3) ans = 0 0 0 octave:57> ones(1,10) ans = 1 1 1 1 1 1 1 1 1 1 octave:58>

51 Ludwig Krippahl, 2009 51 Funções para matrizes (ou não) Regra geral: funções que o Octave fornece servem para escalares e matrizes. octave:58> sin(2) ans = 0.90930 octave:59> sin([1,2;3,4]) ans = 0.84147 0.90930 0.14112 -0.75680

52 Ludwig Krippahl, 2009 52 Funções para matrizes (ou não) octave:60> sin(0:pi/10:pi) ans = Columns 1 through 8: 0.00000 0.30902 0.58779 0.80902 0.95106 1.00000 0.95106 0.80902 Columns 9 through 11: 0.58779 0.30902 0.00000 octave:61>

53 Ludwig Krippahl, 2009 53 Resumo Comandos básicos do sistema Operadores * / + - \. Atribuição de valor a variável = Matrizes e vectores [,, ;,, ] Séries inicio:passo:fim Chamar funçãonome(argumentos) Aceder a matriznome(linha,coluna)

54 Ludwig Krippahl, 2009 54 Dúvidas


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

Apresentações semelhantes


Anúncios Google