konstruieren Sie eine matrix in excel-vba
Ich brauche Hilfe bei der Konstruktion einer n x n matrix, wobei n gleich der Anzahl der verbleibenden Bestände zum Zeitpunkt t, für t = 0, ..., 10. Zunächst, ich habe insgesamt 10 Aktien, die ich zu verwerfen, eins nach dem anderen wie die Zeit vergeht.
Jedes element der matrix ist gleich sigma(i) x sigma (j) x rho , wo sigma(i)=sigma(j) = 0.25 und rho=0.2
Und das Letzte, was ich tun möchte, ist zu multiplizieren Sie diese matrix durch transponieren dieser matrix
Bin ich wirklich verwirrt, wo und wie ich anfangen soll, und wirklich dankbar für Eure Hilfe
Sub Matrix()
'Sigmai 'Sigmaj 'Rho
Dim Sigmai, Sigmaj, Rho As Single
Sigmai = Range("b12").Value
Sigmaj = Range("b13").Value
Rho = Range("b14").Value
Dim matrixelement(10, 10) As Single
For n = 1 To 10
For m = 1 To 10
matrixelement(n, m) = Sigmai * Sigmaj * Rho
Cells(n, m) = matrixelement(n, m)
Next m
Next n
End Sub
bitte können Sie fügen Sie einige Ausdrucke Ihrer vorhandenen Daten, die Struktur und auch ein Beispiel für die Tabelle, die Sie anstreben zu bekommen?
spielst du schon mit pivot-Tabellen an alle, eine Lösung zu finden?
Ihrer Beschreibung nach haben Sie eine 10x10-matrix, bei der alle Werte gleich. Nicht sicher, was Sie wollen...
um eine transponierte version einer Tabelle es könnte gut sein, um die
Sub-Matrix() 'Sigmai 'Sigmaj 'Rho Dim Sigmai, Sigmaj, Rho Als Single Sigmai = Range("b12").Wert Sigmaj = Range("b13").Wert Rho = Range("b14").Wert Dim-matrixelements(10, 10) As Single For n = 1 To 10 For m = 1 To 10 matrixelements(n, m) = Sigmai * Sigmaj * Rho-Zellen(n, m) = - matrixelements(n, m) Next m Next n End Sub
spielst du schon mit pivot-Tabellen an alle, eine Lösung zu finden?
Ihrer Beschreibung nach haben Sie eine 10x10-matrix, bei der alle Werte gleich. Nicht sicher, was Sie wollen...
um eine transponierte version einer Tabelle es könnte gut sein, um die
OFFSET
FunktionSub-Matrix() 'Sigmai 'Sigmaj 'Rho Dim Sigmai, Sigmaj, Rho Als Single Sigmai = Range("b12").Wert Sigmaj = Range("b13").Wert Rho = Range("b14").Wert Dim-matrixelements(10, 10) As Single For n = 1 To 10 For m = 1 To 10 matrixelements(n, m) = Sigmai * Sigmaj * Rho-Zellen(n, m) = - matrixelements(n, m) Next m Next n End Sub
InformationsquelleAutor user1525225 | 2012-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Reihe von grundlegenden Problemen mit dem code, die Sie sollte klar bis vor voran. Siehe Kommentare im code unten:
Für die
Teil, ich nicht sicher, was Sie genau nach, aber
MMULT
kann nützlich sein, zBws.Range("A1:J10") = matrixelement
ist glattInformationsquelleAutor chris neilsen
Sie könnten nur pass gehen auf das array und das Ergebnis direkt auf dem Arbeitsblatt. Ein Arbeitsblatt, wenn effektiv nur ein großes 2-dimensionales array.
Cannibalising Chris Nielsen code:
ein paar Dinge, die ich nicht verstehe:
+1 chris ... obwohl "Posting-code, wie dies nur fördert schlechte Praktiken." ist ein wenig hart!
InformationsquelleAutor whytheq