Profilo di RFrances33

Nome RFrances33
Indirizzo email n/a
Messaggi3
  • Re: Scrittura valori array su colonne da un ciclo
    Forum >> Programmazione Python >> Files e Directory
    P.S.
    L'idea sarebbe simile a quello che fa questo codice. Ho messo in questo caso q=10 per lavorare più velocemente come prova.




    for i in range(0,q):
     a=np.random.normal(muT,sigmanc,m)
     s=a
     for j in s:
      outfile_10.write(('%f %f\n')%(i,j))
    Solamente che questo ciclo mi dà il valori che io voglio uno sotto l'altro. (Vedi file allegato), mentre io vorrei che, ad esempio, la colonna relativa a i=1 sia di fianco a quella i=0




    Grazie.

    Francesca
  • Re: Scrittura valori array su colonne da un ciclo
    Forum >> Programmazione Python >> Files e Directory
    sigmanc=input('Inserisci sigmanc')
    #Devo simulare q volte 450 misure di pendolo
    outfile_9=open('stimesim.dat', 'w')
    outfile_9.write('numero media varianzanc\n')
    outfile_10=open('datisim.dat', 'w')
    q=10000
    m=450
    #CICLO DI SIMULAZIONE
    for i in range(0,q):
     a=np.random.normal(muT,sigmanc,m)
     s=a
     
     outfile_9.write(('%f %f\n')%(i,j))
     musim=sum(s)/m
     #print i
     
     differenzesim=[(j-musim)**2 for j in s ]
     varncsim=sum(differenzesim)/m
     #print musim, varncsim
     outfile_9.write(('%f %f %f\n')%(i,musim,varncsim))
     
     
    outfile_9.close() 
    ni,musim,varncsim=np.loadtxt('stimesim.dat',skiprows=1,usecols=(0,1,2),unpack=True)
    #print len(mu)
    #print len(varnc)
    mediamedia=sum(musim)/len(musim) #media delle medie
    mediavar=sum(varncsim)/len(varncsim) #Media delle varianze
    
    differenzesim2=[(k-mediamedia)**2 for k in musim]
    varianzamedia=(sum(differenzesim2))/(len(musim)*(len(musim)-1)) #Varianza della media
    sigmamedia=math.sqrt(varianzamedia)
    print 'La media delle medie e', mediamedia
    print 'La media delle varianze e', mediavar
    print 'La varianza della media e', varianzamedia
    print 'La deviazione standard della media e', sigmamedia
    print 'Test di Pearson per i dati della simulazione',
    
    #istogrammi
    num_binsmu=70
    ns, binssim, patches=plt.hist(musim,num_binsmu,normed=0) #bins=Estremo destro
    plt.xlabel('Valore')
    plt.ylabel('Frequenza')
    plt.title("Medie")
    plt.show()
    
    num_binsvar=65
    ns2, binssim2, patches=plt.hist(varncsim,num_binsvar,normed=0) #bins=Estremo destro
    plt.xlabel('Valore')
    plt.ylabel('Frequenza')
    plt.title("Varianze")
    plt.show()
    
    Questo è il mio programma simulazione. Il suo compito è quello di andare a simulare q=10000 volte un set di m=450 misure.

    Io vorrei avere incolonnati separatamente tutti questi set di 450 misure, perchè poi dovrò utilizzarli singolarmente per andare a calcolarmi delle variabili di chi quadro, per applicare il Test di Pearson... E' un programma per l'esame di statistica. Non so se così è più chiaro. L'obiettivo sarebbe quello di prelevare con un ciclo sulle colonne i valori delle singole colonne per andare a calcolare quelle variabili.
  • Scrittura valori array su colonne da un ciclo
    Forum >> Programmazione Python >> Files e Directory
    Buonasera a tutti. Ho provato a risolvere il mio problema cercando in internet, ma essendo molto niubba non sono riuscita a venire a capo del problema.
    Sto scrivendo un programma che simula 10000 volte 450 misure.





    q=10000

    m=450

    #CICLO DI SIMULAZIONE

    for i in range(0,q):

    a=np.random.normal(muT,sigmanc,m)

    s=a

    np.savetxt('datisim.dat',s, delimiter=" ")





    Io vorrei scrivere i vari valori presenti nell'array a, che sono 450, in 10000 colonne( che equivale al termine del ciclo). Se lascio così il codice penso mi sovrascriva sempre i vari array, mentre a me servirebbero affiancati su colonne diverse.

    Vi ringrazio infinitamente per la disponibilità.