Logarithmus Problem ???
-
Hi
Ich möchte aus einem valarray Werte auslesen und zwar folgender Maßen :
valarray v ist der zeiger in dem Daten gespeichert sind, und h ist der valarray an den die Daten in einer anderen Reihenfolge übergeben werden sollen.
Hier ein Beispiel mit einem valarray v mit 9 Elementen (Matrix 3 Zeilen u. 3 Spalten)
v[0] = h[0];
v[3] = h[1];
v[6] = h[2];
v[1] = h[3];
v[4] = h[4];
v[7] = h[5];
v[2] = h[6];
v[5] = h[7];
v[8] = h[8];Der Abstand zwischen den v's soll immer so groß sein, wie die an Anzahl der Zeilen der Matrix.
Ich glaube am besten wäre das irgendwie mit slice();
Hier mein Versuch der allerdings nicht das gewünschte Ergebniss bringt :
int z = StrToInt(Edit1->Text);//Einlesen der Zeilen der Matrix int s = StrToInt(Edit2->Text);//Einlesen der Spalten der Matrix std::valarray<double> h1(z*s); int m=0; for (int i=0;i<s;i++) for (int j=0;j<z;j++) { if (m<z*s) { m++; h1[m - 1] = StrToFloat(Form1->StringGrid1->Cells[i][j]); }; } valarray<double> spalte(s); for (int i=0; i < z; i++) spalte = h1[slice(i,s,z)]; for (int i=0;i<z*s;i++) Memo2->Lines->Add(spalte[i]);
Hier ist das Problem das er nur die letzten drei Daten meines StringGrids einliest. Ich bräuchte aber alle so wie oben beschrieben ???
Bin ratlos !!!
THX
Fleedo
-
for (int i=0; i < z; i++) spalte = h1[slice(i,s,z)]; for (int i=0;i<z*s;i++) Memo2->Lines->Add(spalte[i]);
Das kann doch so nicht richtig sein, oder?
Ansonsten ist die Idee mit den Slices gar nicht schlecht.Aber du könntest auch anders an die Elemente der Matrix kommen:
Sei M deine Matrix mit z Zeilen und s Spalten, dann ist M[i][j]=v[z*i+j].Ich hoffe das hilft dir weiter...
<edit>
Logarithmus Problem ???
Ähh, wo genau versteckt sich der Logarithmus
</edit>
-
<edit>
Logarithmus Problem ???
Ähh, wo genau versteckt sich der Logarithmus
</edit>Striche Logarithmus setze Algorithmus