May 29, 2009

il mio primo programma

Filed under: c++ tutorial

…non scrive "Hello World! I’m here." ma per un semplice grafo a tre vertici con pesi bidirezionali sui rami a piacere calcola la distribuzione che rende stazionaria la ME, la sua entropa e produzione di entropia per unita’ di tempo, e consente di confrontare queste quantita’ con quelle di altre distribuzioni normalizzate, con l’obiettivo di capire se effettivamente (come sembra) la distribuzione stazionaria rende minima la produzione di entropia. Il prossimo passo e’ quello di rendere il confronto sistematico con un ciclo che spanni in maniera ragionata lo spazio di tutte le distribuzioni normalizzate (unico problema, devo decidere con quale criterio far variare i parametri liberi, che sono due). Poi si passera’ a circuiti piu’ complessi, grafi piu’ complessi etc. etc.

Eccone la prima parte (molto rudimentale).

#include <iostream.h>
#include <stdio.h>
#include <math.h>

int main()

{

float ab,ba,ac,ca,bc,cb;
float A,B,C;
float N;
float a,b,c;

cout <<"\nDATI\n\n";

printf("ab: ");
scanf("%f",& ab);

printf("ba: ");
scanf("%f",& ba);

printf("bc: ");
scanf("%f",& bc);

printf("cb: ");
scanf("%f",& cb);

printf("ca: ");
scanf("%f",& ca);

printf("ac: ");
scanf("%f",& ac);

cout <<"\nSTATO STAZIONARIO\n\n";

A = ab*ac + ac*cb + ab*bc;
B = bc*ba + bc*ca + ba*ac;
C = ca*cb + ca*ab + cb*ba;

N = A + B + C;

a = A/N;
b = B/N;
c = C/N;

printf("a: %f",a); printf("\n");
printf("b: %f",b); printf("\n");
printf("c: %f",c); printf("\n");

cout <<"\nENTROPIA\n\n";

float S,sigma;
float Fab,Fbc,Fca,Jab,Jbc,Jca;

S = - a*log(a) - b*log(b) - c*log(c);

Fab = log(ab*b/(ba*a));
Fbc = log(bc*c/(cb*b));
Fca = log(ca*a/(ac*c));

Jab = ab*b - ba*a;
Jbc = bc*c - cb*b;
Jca = ca*a - ac*c;

sigma = Fab*Jab + Fbc*Jbc + Fca*Jca;

printf("Entropia: S= %f",S); printf("\n");
printf("Produzione di entropia: sigma= %f",sigma); printf("\n\n");

}

Comments »

No comments yet.



Lascia un commento



Anti-spam measure: please retype the above text into the box provided.



Get free blog up and running in minutes with Blogsome
Theme designed by Helga Cleve and widely (wildly)
rearranged by matteoeo (sorry helga!)