2017-10-27 15 views
0

Ich versuche, multivariaten statistischen Code von 1971 Veröffentlichung zu replizieren. Fortran-Version nicht angegeben. Ich portiere int nach C++ und verstehe das folgende Snippet nicht; Von Cooley und Lohnes - Multivariate Datenanalysealte Version Fortran tun Schleife Manova Code

DO 12 NS = 1, NG 
READ(5, TIT)  (V(J), J = 1, M) 
DO 12 J = 1, M 
U(J) = U(J) + V(J) 
T(J) = T(J) + V(J) 
DO 12 K = 1, M 
A(J, K) = A(J,K) + V(J) * V(K) 

12 C (J, K) = C (J, K) + V (J) * V (K)

Insbesondere kann ich nicht verstehe, wie V (J) in der zweiten Zeile aufgefüllt wird. Jede Hilfe von einem Fortran-Guru wird sehr geschätzt. BTW TIT ist ein Array, das eine Projektbeschreibung enthält, weshalb ich nicht verstehe, warum es hier gelesen wird.

+0

Warum Sie nicht lernen, Fortran Grundlagen, wenn Sie Port-Code aus Fortran? Dies wurde hier viele Male behandelt. –

+0

"TIT ist ein Array" Das macht keinen Sinn. Sie sollten diese Deklaration tatsächlich anzeigen, wenn Sie noch Hilfe benötigen. – agentp

+0

DIMENSION TIT (16), A (50,50, B (50,50) C (50,50) – msberry

Antwort

0

Die V(J), J=1,M ist im Grunde eine implizite Schleife, so dass es entspricht in etwa so etwas wie

for (i=1; i <= m; i++) 
    infile >> v[i]; 
+0

Danke Jerry Ich konnte einfach nicht herausfinden, welches Format TIT bezeichnet hatte Dies ist ein altes Kartenleseprogramm, also vermute ich, dass das Format auf einer Karte ist, die ich nicht sehen kann abgerufen werden M Variablen aus Zeile X. Diese Daten befinden sich jetzt in einem verknüpften Liste in der C++ Version. – msberry

Verwandte Themen