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

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

Trabalho Computacional Mecânica de Fluidos Ambiental aula 6 Guillaume Riflet, Dúvidas:

Apresentações semelhantes


Apresentação em tema: "Trabalho Computacional Mecânica de Fluidos Ambiental aula 6 Guillaume Riflet, Dúvidas:"— Transcrição da apresentação:

1 Trabalho Computacional Mecânica de Fluidos Ambiental aula 6 Guillaume Riflet, Dúvidas: guillaume.maretec@ist.utl.pt Ext:3430guillaume.maretec@ist.utl.pt Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos- fluidos-ambiental https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos- fluidos-ambiental

2 Sumário aula 1 subrotinas, funções, argumentos, variáveis, tipos de variáveis, arrays, ciclos while e for, Alcance (Public, Private) debug. https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos- fluidos-ambiental

3 Exercícios aula 1 Criem a função de um argumento de tipo double que retorne 3x*x – 2. Criem uma subrotina que teste a função para x=4 e x=25, escrevendo o resultado numa folha de excel. Concebam um ciclo for numa subrotina que escreva numa folha de excel os resultados de 3x*x*x + 4 para todos os x que pertençam ao intervalo [-30, 50] com incrementos 2 em 2. Caso não tenham feito, repitam o exercício anterior usando um array. Repitam o exercício anterior, mas desta vez a função é 3x*x*x + 4 se o resultado for positivo e 0 (zero) caso contrário (usem um if). Gravem a macro dum gráfico com os resultados do exercício anterior (com x nas abscissas e os valores da função nas ordenadas). Vejam o código que resultou da gravação da vossa macro.

4 Sumário aula 2 condições (if), Passagem de argumentos por valor ou por referência Interface Excel-VBA, Tipos eventos, userforms, Gravação de macros, Alguns objectos nativos de VBA para excel Apresentação da equação da difusão.

5 Exercícios aula 2 Com um ciclo for e com uma condição if, escreva numa coluna de excel os valores da função seguinte, definida no intervalo [-50,50] com incrementos de 5 unidades de intervalo: f(x) = x * Sqr(-x) se x pertence a [-50,-10], f(x) = -10 * Sqr(10) + ( x^2 – 10^2) se x pertence a ]-10,20], f(x) = 300 – Sqr(10^3) - x^3 em caso contrário. Conceba uma subrotina que faça o gráfico automático da função a partir da gravação duma macro. Tente alterar a subrotina de criação de gráfico de modo a que receba um argumento contendo o número de linhas da coluna de excel a usar. Repita o primeiro exercício com um incremento de apenas 2 unidades de intervalo. Crie uma userform que peça ao utilizador o intervalo e o incremento da função e que tenha um botão que faça o gráfico correspondente.

6 Exercícios aula 2 Escreva uma subrotina que contenha uma variável inteira a inicializada a 22. Tente incrementar a variável a chamando uma subrotina que use um argumento ByRef e chamando outra subrotina que use um argumento ByVal. Quais das subrotinas que é incrementa de facto a variável a? (recomendação: use o debugger para ver, passo a passo, a evolução das variáveis.) Escreva uma subrotina que contenha um array de reais. Inicialize o array com um ciclo for com valores da função f(x) = A * exp(-x) definidos no intervalo [-3, 4] e com um incremento de 0.3. Chame uma subrotina que inverta a ordem dos valores no array. (Deve usar ByRef ou ByVal?). Escreva os valores do array numa coluna de excel e faça o gráfico da função.. (Recomendação: use o debugger).

7 Sumário aula 3 Aula mudada para LTI lemac (~40 min de atraso) Familiarização com o ambiente de desenvolvimento em VBA. Resolução de exercícios e exemplos em VBA. – Ciclo for – Condição if – Manipulações de arrays – Criação de subrotinas e de funções. Criação duma userform. Criação duma macro para fazer um gráfico.

8 Exercícios aula 3 Programe a função f que varia no espaço e no tempo: f(x,t) = x^2 * t + Sqr(Abs(x)). Programe um array numa subrotina que inicialize a função f(x,t0) onde x pertença ao intervalo [0 1000] com um incremento dx=50 e t0=0.0. Escreva os resultados para vários instantes de t no interval [0.0 10.0] de f(x,t), um instante por linha, usando um ciclo for. Programe o gráfico com várias séries de resultados de f(x,t), (uma série por instante). Crie uma userform onde o utilizador possa inserir os incrementos de espaço e de tempo, (dx e dt) e onde possa definir o comprimento de a duração do domínio de f.

9 Sumário aula 4 Finalização do exercício da aula anterior (userform + gráfico). Ficou por finalizar (aula 5). Métodos numéricos diferenças finitas (explícito, implícito, centrado) para 1a e 2a derivada. Ordem do erro.

10 Sumário aula 5 Finalização do exercício da aula anterior. – Gravação de macro para fazer gráfico – Adaptação da macro para fazer gráfico para o exercício – Criação de rotina que apaga todos os gráficos – Reformulação do problema para uma função f(x, t). Adaptação do código para a função bidimensional. – Adaptação de código disponibilizado na página para fazer gráficos da função f(x,t) para vários instantes de t.

11 Conteúdo da aula 6 Revisão da utilização do código para fazer gráficos Uso do operador Mod para fazer outputs de n em n vezes (descrito mas não implementado). Concepção e programação de parte do trabalho computacional para mfa. Condições iniciais (programado na aula). Condições de fronteira (programado na aula). Emissão contínua (descrito na aula –não- programado-).

12 Dúvidas de computação VBA Local: departamento Mecânica I. 1o andar. Secção Energia e Ambiente. Ext: 3430 Mail: guillaume.maretec@ist.utl.ptguillaume.maretec@ist.utl.pt Tlm: 934100491 Página de apoio: https://fenix.ist.utl.pt/homepage/ist146730/mecanica- dos-fluidos-ambiental https://fenix.ist.utl.pt/homepage/ist146730/mecanica- dos-fluidos-ambiental

13 Configurações regionais Atenção no que toca à linguagem nativa do office. SEN (português) ou SIN (inglês). Atenção às definições de separadores de casas decimais (3.14 ou 3,14) e de formatos de data (13/05/1980 ou 1980-05-13 ou...).


Carregar ppt "Trabalho Computacional Mecânica de Fluidos Ambiental aula 6 Guillaume Riflet, Dúvidas:"

Apresentações semelhantes


Anúncios Google