wie geht der Funktionsaufruf???



  • Hallo,

    ich will zu einer 3X3-Matrix eine gegebene Funktion aufrufen, die die Eigenwerte und Eigenvektoren berechnet.

    Bekannt ist die Matrix (zB):
    1 2 3
    4 5 6
    7 8 9

    Die Funktion sei wie folgt gegeben:

    int tseigvals( int n, float *a, float *b, float *e, float *x, float *w )
    

    Bekannt ist folgendes:
    input:
    n the order of the matrices
    a,b full, symmetric matrices defining the problem the contents of these arrays are changed by eigvas.
    output:
    e vector of eigenvalues
    x matrix of eigenvectors
    w workspace vector (size n)
    istat test flag, istat = 0 if operation was successful
    istat = 1 if operation wasn't successful
    istat = 2 if the problem has complex eigenvalues

    Wie muß ich jetzt die matrix speichern, wie sieht der Funktionsaufruf aus???
    Wie kann ich die Ergebnisse danach ausgeben mit cout << ...???

    Danke für jede Hilfe!
    Ich habe keinen Plan 😞 wie das gehen soll...



  • PS: es handelt sich um C++ (falls das ne Rolle spielt)



  • Da scheibar keiner antworten will, versuch ich mal mein Glück: Wenns c++ is, warum dann kein vector? Mir ist nicht klar was du zurückgeben/ändern willst, aber wie wäre es so?

    vector<vector<vector<int> > >& tseigvals(vector<vector<vector<int> > >& a);
    
    cout<<a[1][2][8]
    

    Jetzt kannst du den Vektor in der Funktion verändern, und musst nur einen Parameter übergeben (Es sei denn du brauchst noch mehr -> s. oben)


Anmelden zum Antworten