Matrix Normalisierung

  • Hi!


    Vielleicht habts ihr so eine gute ahnung von Matlab aber ich schaffe es nicht eine Matrix Zeilenweise zu normalisieren (also Zeilensumme = 1) vielleicht habts ihr einen vorschlag wie ich das machen könnte ohne for schleifen.. ja is nicht für GDBV aber ich hoffe ihr habts davon eine gute ahnung und könnts zufällig helfen.. ;)


    lg
    m

    CG2Knecht/CG1Helpdesk - Ahnungsloser RTR-Ritter
    If only you knew that the world ends, would you change anything?
    **

  • Soweit war ich auch schon.. ;) aber ich hab das problem wenn eine zeile ganz 0 is.. ;) da hab ich eine div. durch 0.. ;) und wenn ich die summe vorher brechne und ein find drauf mach wirft er mir ein out of memory wenn die matrix grösser is als 3000x3000 und ich brauchs für matritzen in grösse 200.000x200.000 und grösser... :(

    CG2Knecht/CG1Helpdesk - Ahnungsloser RTR-Ritter
    If only you knew that the world ends, would you change anything?
    **

  • also matrizen mit 200.000 x 200.000 elementen wirds generell wohl ned spielen denk ich. wenn die mit float-Werten (4 byte) füllst sind das, wenn ich mich nicht verrechnet habe, ja ca. 150 GB Speicher...


    edit: eine Möglichkeit sind noch sparse Matrizen, wenn Du viele Elemente = 0 hast

  • vielleicht geht das in maple.... dauert zwar sicher ewigkeiten, aber das is da ziemlich fanatisch normalerweise...


    OK.. habs versucht:


    wenn man 200000x200000 angibt erzeugt das folgenden error: "Error, (in Matrix) dimensions too large", was mich nicht wundert


    bis zu einer größe von ca 46000x46000 würds theoretisch funktionieren, allerdings würde man für float werte immer noch 7,9 gigs speicher brauchen


    > Matrix(46000,46000,0.5);
    Error, (in Matrix) not enough memory to allocate rtable


    hab aus interesse versucht eine 4000x4000 matrize mit startwerten zu initialisieren, allerdings ist mir nach 4 minuten die lust vergengen auf das ergebnis zu warten (hab einen ziemlich schwachen rechner), aber funktionieren sollts


    wozu brauchst du so riesige matrizen (neugier.. :D ), vleicht kannst's ja in teilmatrizen zerlegen

  • Hehehe...


    Wie bereits angedacht es geht um sparse matrizen fast alles ist 0.
    Ist eine Adjazenzdarstellung eines Netzwerkes von homepages.. ;)


    Naja. nur muss ich die zeilenweise normieren.. und bei repmat (auf die idee bin ich auch schon gekommen) erzeugt man ja eine matrix die überall werte hat.. naja.. und die ist natürlich zu gross um damit umzugehn.. ;)


    lg
    m

    CG2Knecht/CG1Helpdesk - Ahnungsloser RTR-Ritter
    If only you knew that the world ends, would you change anything?
    **