Hallo,
ich möchte ein Program schreiben, das eine 3x3 Matrix mit einem Vektor multipliziert, scheitere jedoch and der Funktion Matrixmultiplikation,
Ich würde mich über eure Hilfe freuen!
#include<stdio.h>
#include<math.h>
void Matrixmultipliktion(double b[], double Phi, double *x[])
{
int m, n=0;
double Matrix [3][3]= {
{cos(Phi), -sin(Phi), 0},
{sin(Phi), cos(Phi), 0},
{0,0,1} };
for(m=0; m<3; m++)
{
x[m]=Matrix[m][n]*b[n];
for(n=1; n<3; n++);
{
x[m]=x[m]+Matrix[m][n]*b[n];
}
}
}
int main()
{
double Phi=45./180*M_PI;
double b[3]={1,2,3},x[3];
Matrixmultiplikation(b[3], Phi, x[3]);
printf(" %lf\n x= %lf\n %lf\n", x[0],x[1],x[2]);
return 0;
}
Der Compiler sagt dazu:
Matrix.c: 16:error: incompatible types in assignment
Matrix.c:19: error: invalid operands to binary + (have ‘double *’ and ‘double’)
Matrix.c: In function ‘main’:
Matrix.c:30: warning: implicit declaration of function ‘Matrixmultiplikation’
Zeile 16 ist: x[m]=Matrix[m][n]*b[n];
Zeile 19 ist: x[m]=x[m]+Matrix[m][n]*b[n];
Vielen Dank für eure Hilfe!