Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Matrix potenzieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
02.07.2003, 16:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Auf die Idee hat mich Pablo gebracht.
zu schreiben ist folgende Funktion

C++:
void matrix_pow(double*m,int n,int x);



m:ist die zu potenzierende Matrix und m muss quadratisch sein. Werte sind zeilenweise eingetragen
n: n die dimesion der Matrix
x: anzahl wie oft die Matrix mit sich selbst multipliziert werden soll. x>0

nach dem ausführen der funktion soll in m die neue potenzierte Matrix stehen

zum testen könnt ihr dies hier nehmen:


C++:
int main(){

int i,j,n=3;
double *matrix=new double[n*n];

matrix[0]=1;
matrix[1]=2;
matrix[2]=-2;

matrix[3]=1;
matrix[4]=2;
matrix[5]=1;

matrix[6]=-1;
matrix[7]=3;
matrix[8]=1;

matrix_pow(matrix,n,3);
for(j=0;j<n;j++){
    for(i=0;i<n;i++)
        printf("%0.2f\t",matrix[i+j*n]);
    printf("\n");
}




Es sollte folgendes rauskommen 7 4 -12
10 25 6
2 34 11
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 02.07.2003 um 16:01 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.07.2003, 16:08 Uhr
~daredevil
Gast


wie potenziert man eine matrix?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.07.2003, 16:15 Uhr
~0xdeadbeef
Gast


Wenn du weiter mit Matrizen machen willst, bastel mal nen vernünftigen Datentyp. Für C sowas wie

C++:
typedef struct {
    double **feld;
    unsigned short zeilen;
    unsigned short spalten;
} matrix;


für C++ entsprechend ne Klasse mit überladenen Operatoren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.07.2003, 16:22 Uhr
~daredevil
Gast


ja, aber wie potenziere ich eine matrix vom mathematischen her???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.07.2003, 16:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
nö ich hab jetzt die schnautze von matrizen voll.
Ausserdem hasse ich mehrdimensionale felder und vermeide die wo es nur geht.

ich würde das dann also wenn schon so machen:

C++:
typedef struct {
    double *feld;
    unsigned short zeilen;
    unsigned short spalten;
} matrix;




@daredevil

matrix potenzieren kannst du in dem du sie mehrmals mit sich selbst multiplizierst.

Beispiel: machen wir mal der einfachheit halber eine 2x2 Matrix die wir quadrieren.

1 2 X 1 2 = 1*1 + 2*3 1*2* 2*4
3 4 3 4 3*1 + 4*3 3*2 + 4*4


Also rauskommen würde :
7 10
15 22
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 02.07.2003 um 16:25 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.07.2003, 16:34 Uhr
~daredevil
Gast


versteh da nur bahnhof vom potenzieren, kann du mir das bitte anders erklären.

nichts gegen dein erklären, ich steh halt grad echt auch dem schlauch.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.07.2003, 16:37 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ok ich versuchs mal.
Als 2 hoch 3 ist das gleich wenn ich 2*2*2 rechne

Wenn ich nun die Matrix M habe dann ist M hoch 3 das gleiche wenn ich
M*M*M rechne.

Wenn du eine Matrix also potenzieren willst, musst du "nur" die matrix exponent mal mit sich selbst multiplizieren.

Ist das jetzt zumindest klar was das potenzieren angeht?

Oder weiss du nur nicht wie man matrizen multipliziert?

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
02.07.2003, 16:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Schau mal hier
Da kannst du dir ein Beispiel für die Multiplikation ansehen. Das ist hier im Forum so blöde zu machen weil einem immer die spalten und zeilen verrutschen
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 02.07.2003 um 16:43 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.07.2003, 16:54 Uhr
~daredevil
Gast


was potenzieren weiß ich...
ich wusste auch mal vor 1 jahr, wie man matrizen potenziert,

aber das ist sehr, sehr lange her.

jetzt schnall ichs. dankeschön
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.07.2003, 17:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hilfreich ist es sich ein Formelbuch zu besorgen, dann brauch man immer einfach nur nen Blick reinschmeissen wenn man mal was vergessen hat.

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: