9ª Aula Prática de TFCOMP-II

Comecem por criar e guardar em disco um Notebook com o nome TFC9_grupo.nb, onde 'grupo' é o nome do vosso grupo de trabalho. Neste Notebook criem uma célula de título identificando os elementos constituintes do grupo (nome, número e contactos).


Problema 1

Construa uma função [Graphics:Images/Pratica9_gr_1.gif] usando Mathlink para comunicar com um programa em C que faça os cálculos de um  sistema de funções iteradas baseado em transformações afins [Graphics:Images/Pratica9_gr_2.gif] de [Graphics:Images/Pratica9_gr_3.gif], i.e. matrizes [Graphics:Images/Pratica9_gr_4.gif] actuando em [Graphics:Images/Pratica9_gr_5.gif]. Use o Mathematica para alterar os valores das matrizes e do ponto inicial, e para fazer o gráfico da imagem resultante. Inspire o seu programa na seguinte rotina:

[Graphics:Images/Pratica9_gr_6.gif]
[Graphics:Images/Pratica9_gr_7.gif]

[Graphics:Images/Pratica9_gr_8.gif]


Problema 2

Adapte o programa [Graphics:Images/Pratica9_gr_9.gif] do Numerical Recipes in C para trabalhar com listas de números fornecidos pelo Mathematica através de MathLink. Use-o para calcular e devolver os valores médios e variâncias  pedidos no Problema-3 da 7ª aula prática.  

void avevar(data,n,ave,svar)
float data[],*ave,*svar;
int n;
{
    int j;
    float s;
    *ave=(*svar)=0.0;
    for (j=1;j<=n;j++) *ave += data[j];
    *ave /= n;
    for (j=1;j<=n;j++) {
        s=data[j]-(*ave);
        *svar += s*s;
    }
    *svar /= (n-1);
}


Problema 3

A análise de sistemas dinâmicos  leva frequentemente a estudar atractores estranhos obtidos pela iteração das mesmas equações de transformação de um ou mais pontos iniciais. Tomando a seguinte função como exemplo,  construa um rotina em C para calcular eficientemente o atractor, sendo os parâmetros definidos no Mathematica e transmitidos via MathLink. Construa uma representação do atractor en função do parâmetro [Graphics:Images/Pratica9_gr_10.gif].

[Graphics:Images/Pratica9_gr_11.gif]
[Graphics:Images/Pratica9_gr_12.gif]

[Graphics:Images/Pratica9_gr_13.gif]


Converted by Mathematica      May 25, 2001