Wie deklariere Ich ein multidimensionales Array dessen Längen durch Inputs bestimmt werden?

Einloggen oder registrieren, um einen Kommentar zu schreiben
Bayne
1010
Bayne  

Die direkte Methode mit folgendem funktioniert ja nicht

input a = 2;
input b = 3

double array[][a][b];

ebenso wenig wie das hier:

input inp_a = 2;
input inp_b = 3;

#define a inp_a
#define b inp_b

double array[][a][b];

wie also kann ich das machen?


Zweck ist das Weight[][][] Array eines Neuronalen Netzwerkes. einfach eine riesige zahl zu nehmen und bei den loops an dem 0 werten nicht zu zählen halte ich für entweder zu unflexibel oder zuuu verschwenderisch ( z.B.10000000000)

Carl Schreiber
Moderator
9816
Carl Schreiber  

??

Du definierst a und b, verwendest aber a und n - klar, das funktioniert nicht.

Mit define sollte nämlich eigentlich gehen!

Chris70
543
Chris70  

Bayne: Und wofür habe ich gestern Deine Frage beantwortet? Oh je.. ich geb's auf mit Dir // hast gerade einen Unterstützer für Deine Fragen verloren.

Ich habe mir bei Deinen Fragen einige Arbeit gemacht (nicht nur ich).

Irgendwie versucht man ja, Dir zu helfen, doch Du bist resistent (Memo an mich: nicht mehr versuchen).

Bayne
1010
Bayne  
Chris70:

Bayne: Und wofür habe ich gestern Deine Frage beantwortet? Oh je.. ich geb's auf mit Dir // hast gerade einen Unterstützer für Deine Fragen verloren.

Ich habe mir bei Deinen Fragen einige Arbeit gemacht (nicht nur ich).

Irgendwie versucht man ja, Dir zu helfen, doch Du bist resistent (Memo an mich: nicht mehr versuchen).

Autsch... hoffe nicht dass ich deine erwartungen hängen ließ :( 

Ich weiß das ArrayResize nicht funktioniert, aber ich frage nur ob es irgendeine möglichkeit gibt das ganze nicht doch auf Inputs anzupassen. (Kompromiss wäre ja das W[SendeNeuron}[EmpföngerNeuron][Layer] schema statt dem [layer][empfänger][sender schema] bei welchem deutlich weniger speicher drauf gehen würde. (oder evtl. die benötigte menge +100 irgendwie abschätzen)

Dachte da aber evtl an jeweilige Dimension vorher als array deklarieren (Layer[], Empfängerneuron[], SendeNeuron[]) und sie dann irgendwie zusammenzuführen :(       (wobei matrizen natürlich quatratisch/würfelfürmig/hypercubes etc sein müssen-> damit erübrigt sich die fragenach einer platzsparenderen Lösung)

Hätte deine antwort gestern ansonsten so gedeutet dass ich die 2. und 3. dimension relativ riesig deklarieren könnte (und die nullwerte bei den loops auslasse). Ich kann keinen zwingen mir zu helfen und ich danke dir für deine bisherigen Hilfsansätze (ja die haben tatsächlich was gebracht)


@Carl Schreiber : tut mir leid, mein Fehler: habe b mit n vertauscht, ist im nu korriegiert. Hatte die inputs ausgelassen, würde das so im 2. Bsp immernoch funktionieren? (wäre vorerst meine letzte idee gewesen übergroße Arrays zu umgehen)

Einloggen oder registrieren, um einen Kommentar zu schreiben