Trabalho computacional mec nica de fluidos ambiental aula 5
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Trabalho Computacional Mecânica de Fluidos Ambiental aula 5 PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

Trabalho Computacional Mecânica de Fluidos Ambiental aula 5. Guillaume Riflet ,. Dúvidas: [email protected] Ext:3430 Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental. Sumário aula 1. subrotinas , funções ,

Download Presentation

Trabalho Computacional Mecânica de Fluidos Ambiental aula 5

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Trabalho computacional mec nica de fluidos ambiental aula 5

Trabalho Computacional Mecânica de Fluidos Ambiental aula 5

GuillaumeRiflet,

Dúvidas: [email protected]:3430

  • Página: https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental


Sum rio aula 1

Sumário aula 1

  • subrotinas, funções,

  • argumentos, variáveis, tipos de variáveis,

  • arrays,

  • cicloswhile e for,

  • Alcance (Public, Private)

  • debug.

https://fenix.ist.utl.pt/homepage/ist146730/mecanica-dos-fluidos-ambiental


Exerc cios aula 1

Exercícios aula 1

  • Criem a função de umargumento de tipo double que retorne 3x*x – 2. Criemumasubrotina que teste a função para x=4 e x=25, escrevendo o resultado numa folha de excel.

  • Concebamumciclofor numa subrotina que escreva numa folha de excel os resultados de 3x*x*x + 4 para todos os x que pertençamaointervalo [-30 , 50] comincrementos 2 em 2.

  • Casonãotenhamfeito, repitam o exercícioanteriorusandoumarray.

  • Repitam o exercícioanterior, mas destavez a função é 3x*x*x + 4 se o resultado for positivo e 0 (zero) casocontrário (usemumif).

  • Gravem a macro dumgráficocom os resultados do exercícioanterior (com x nasabscissas e os valores da funçãonasordenadas). Vejam o código que resultou da gravação da vossa macro.


Sum rio aula 2

Sumário aula 2

  • condições (if),

  • Passagem de argumentosporvalor ou porreferência

  • Interface Excel-VBA,

  • Tipos

  • eventos,

  • userforms,

  • Gravação de macros,

  • Algunsobjectosnativos de VBA para excel

  • Apresentação da equação da difusão.


Exerc cios aula 2

Exercícios aula 2

  • Com umciclofor e comumacondiçãoif, escreva numa coluna de excel os valores da funçãoseguinte, definida no intervalo [-50,50] comincrementos 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 emcasocontrário.

  • Concebaumasubrotina que faça o gráficoautomático da função a partir da gravaçãoduma macro.

  • Tente alterar a subrotina de criação de gráfico de modo a que recebaumargumentocontendo o número de linhas da coluna de excel a usar.

  • Repita o primeiroexercíciocomumincremento de apenas 2 unidades de intervalo.

  • Crie umauserformque peçaaoutilizador o intervalo e o incremento da função e que tenhaumbotão que faça o gráficocorrespondente.


Exerc cios aula 21

Exercícios aula 2

  • Escrevaumasubrotina que contenhaumavariávelinteiraainicializada a 22. Tente incrementar a variávela chamandoumasubrotina que use umargumentoByRefe chamando outra subrotina que use umargumentoByVal. Quais dassubrotinas que é incrementa de facto a variávela? (recomendação: use o debugger para ver, passo a passo, a evoluçãodasvariáveis.)

  • Escrevaumasubrotina que contenhaumarray de reais. Inicialize o arraycomumciclofor comvalores da função f(x) = A * exp(-x) definidos no intervalo [-3, 4] e comumincremento de 0.3. Chameumasubrotina que inverta a ordem dos valores no array. (Deve usarByRef ou ByVal?). Escreva os valores do arraynuma coluna de excel e faça o gráfico da função.. (Recomendação: use o debugger).


Sum rio aula 3

Sumário aula 3

  • Aula mudada para LTI lemac (~40 min de atraso)

  • Familiarizaçãocom o ambiente de desenvolvimentoem VBA.

  • Resolução de exercícios e exemplosem VBA.

    • Ciclofor

    • Condiçãoif

    • Manipulações de arrays

    • Criação de subrotinas e de funções.

  • Criaçãodumauserform.

  • Criaçãoduma macro para fazerumgráfico.


Exerc cios aula 3

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

  • Programeumarray numa subrotina que inicialize a função f(x,t0) onde x pertençaaointervalo [0 1000] comumincrementodx=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 porlinha, usandoumciclofor .

  • Programe o gráficocomvárias séries de resultados de f(x,t), (uma série por instante).

  • Crie umauserform onde o utilizadorpossainserir os incrementos de espaço e de tempo, (dx e dt) e onde possadefinir o comprimento de a duração do domínio de f.


Sum rio aula 4

Sumário aula 4

  • Finalização do exercício da aula anterior (userform + gráfico). Ficouporfinalizar(aula 5).

  • Métodosnuméricosdiferençasfinitas (explícito, implícito, centrado) para 1a e 2a derivada. Ordem do erro.


Conte do programado aula 5

Conteúdo programado aula 5

  • Finalização do exercício da aula anterior (gráfico).

  • Dedução da equaçãoalgébricapordiferençasfinitas (dt e dx constantes) da equação do calor. Condição de positividade (e estabilidade).

  • Condições de fronteira de fluxodiffusivonulo.

  • Condiçãoinicial.

  • Emissãoinstantânea.

  • Emissãocontínua.


Conte do das aulas seguintes

Conteúdo das aulas seguintes

  • Programação do trabalhocomputacional para mfa


Alguns excertos teis de c digo vba 0

Alguns excertos úteis de código VBA 0

Manuseamento de strings:

Dim texto as string

texto = "ba"

‘Escreve na célula « b-a-ba, abcd »

Cells(2,2) = "b-a-" & texto & ", abcd"

‘ou ... 

Cells(2,2) = "b-a-" + texto + ", abcd"


Alguns excertos teis de c digo vba i

Alguns excertos úteis de código VBA I

Manuseamento de Userforms:

  • UserForm1.Show (mostra)

  • UserForm1.Hide (esconde)

  • UserForm1.TextBox1.Textlength (tamanho da entradaemunidades de caracteres de texto)

  • UserForm1.TextBox1.Value (valor da entrada)


Alguns excertos teis de c digo vba ii

Alguns excertos úteis de código VBA II

Delecção de células, linhas e colunas:

  • Range ("A1:B3"). ClearContents (apagajanela de células da tabela indo de A1 até B3).

  • Range("A1:A1").EntireColumn.ClearContents (apagacolunainteiracontendo a célula A1).

  • Range(Range("A1:A1"), Range("A1:A1").End(xlDown)).ClearContents (apaga o conjunto de célulascontíguasescritasdatabela, a começardacélula A1 parabaixo).

  • Range(Range("D3:D3"), Range("D3:D3").End(xlDown).End(xlToRight)).ClearContents (apaga o conjunto de célulascontíguasescritasnatabela, a começardacélula D3 até à últimaparabaixo e para a direita).


Alguns excertos teis de c digo vba iii

Alguns excertos úteis de código VBA III

Manuseamento de gráficos:

‘Fazumgráfico simples (finalline é a últimalinha da tabela que contem os dados. A2 é a primeiralinha.)

Dim finalline as integer

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=Range("Sheet1!A2:N" & finalline)

ActiveChart.ChartType = xlLine

ActiveChart.PlotBy = xlRows

‘Apagatodos os gráficos

Dim chart as ChartObject

For EachChart in ActiveSheet.ChartObjects

Chart.Delete

Next


Alguns excertos teis de c digo vba iv

Alguns excertos úteis de código VBA IV

Manuseamento de gráficos:

‘Fazumgráficousando a subrotinamakegraphic do ficheiro GraficoSampleCode.xls disponível na página

'Callmakegraphic(número de linhas, número de colunas, _

' índice da primeira linha, índice da primeira coluna, _

' valor maximo da escala nas ordenadas do gráfico)

Callmakegraphic(14, 5, 2, 7, 800)


Configura es regionais

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


  • Login