Hilfe!!! Welche Matrizen-Operationen darf ich durchführen?!
-
Frohes Neues!!! Ich habe folgendes Problem bei ganz normaler Addition, Division oder dem Produkt von Elementen der Matrizen (Listen) bekomme ich diesen Fehler zu sehen:
invalid operands to binary +, oder *, oder -.
Kann mir bitte jemand damit helfen?
Zum Beispiel:
[cpp]
void erzeugeA(){
double *d[k+l+1]; // Speicherplatz fur Vector d
for(int i=0;i<k;i++) *d[i] = ein_b[i]; // fuge in_b in d ein
for (int i=k;i<k+l;i++) *d[i]=ein_c[i-k]; // fuge in_c in d ein
d[k+l]=0; // fuge 0 in d eindouble **A[k+l+1][2*(k+l+1)];
//for(int i=0;i<k+l+2;i++) double A[i] // Speicherplatz fur Matrix Afor(int i=0;i<k+l+1;i++){
for(int j=0;j<2*(k+l);j++) **A[i][j]=B[i][j];
//double z[k+l+1];
//double t[k+l+1];
for(int i=0;i<1+k+l;i++) d[i]=-1;
//for(int i=0;i<1+k+l;i++) t[i]=z[i]d[i];
A[i][2(k+l)]=t[i]; // fuege -d in A ein
A[i][2(k+l)+1]=d[i]-product(i); }
for (int j=0;j<2(l+k+1);j++) A[k+l+1][j]=1;}
double product(int i){
double sum=0;
for(int j=0;j<2*(l+k);j++)
sum+=B[i][j];
return sum;}
[/cpp]Ich bin schon am verzweifeln!!!
Danke im Voraus!!!
Edit by AJ: Schwuppdiwupp schon sind sie aktiviert
-
hi!
vor einiger zeit hab ich mal ein kl. prog zum berechnen von matrizen produkten geschrieben. vielleicht hilfts dir ja
ich werd nicht ganz schlau daraus, was du vor hast. willst du nun +, -, * oder was auch immer rechnen? das sind 3 versch. operationen! ausserdem steht dann wieder was von vektoren in deinem code#include <stdio.h> const int cols = 4; const int rows = 4; int main(int argc, char **argv) { int i, j, k; int a[4][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; int b[4][4] = { {16,15,14,13}, {12,11,10,9}, {8,7,6,5}, {4,3,2,1} }; int result = 0; /* (a11 a12 a13) * (b11) = (a11*b11 + a12*b21 + a13*b31)*/ /* (a21 a22 a23) * (b21) = (a21*b11 + a22*b21 + a23*b31)*/ /* (a31 a32 a33) * (b31) = (a31*b11 + a32*b21 + a33*b31)*/ for ( i=0; i<rows; i++ ) { for ( j=0; j<cols; j++ ) { result = 0; for ( k=0; k<rows; k++ ) { result += a[i][k]*b[k][j]; } printf("%d\t", result); } puts(""); } puts(""); return 1; }
hth,
ciao
-
walle3b schrieb:
Kann mir bitte jemand damit helfen?
Ich glaube kaum, dass sich hier jemand deinen Code antun wird. Der ist einfach zu unleserlich, da die Tags nicht funktionieren. Hast du diese evtl. in deinem Profil deaktiviert?
-
Aufpassen bei matrizen multiplikation ist gibt 2 verschiedene
die . (Punkt)
und die normale
Matheform steht da sich was drüber
mfg