beregne vektorer - tridiagonal matrix
Jeg er i gang med eksamen, og når jeg skal udregne nogen vektorer a,b,r udfra min tridiagonale matrix.Jeg indhenter en matrice her:
void valgB(int &valgabcd) {
double Q[NMAX][NMAX], xk[NMAX];
int n;
cout
<< "\n Indlæs fra fil af: n og (xk,yk) k=0,1,....,n: Koordinater for de n+1 knudepunkter"
<< endl;
IndhentMatrixFil(Q, n, 2);
matrixUdskriv(Q, n, 2);
for (int i = 1; i <= n + 1; i++) {
xk[i] = Q[i][1];
}
vektoraUdskriv(xk, n + 1);
}
Også laver jeg en void hvor jeg vil udregne a,b og r. :
void Beregnabr(double a[NMAX], double b[NMAX - 1], double r[NMAX],
double xk[NMAX], double yk[NMAX], int &n) {
int nA;
nA = n - 1;
int i;
cout << "\n Nu skal beregning af a, b og r udføres: ";
for (i = 0; i < n - 1; i++) {
a[i] = 2 * (xk[i + 2] - xk[i]);
}
for (i = 0; i <= n - 2; i++) {
b[i] = (xk[i + 2] - xk[i + 1]);
}
for (i = 0; i < n - 1; i++) {
r[i] = 6 * ((yk[i + 2] - yk[i + 1]) / (xk[i + 2] - xk[i + 1]))
- ((yk[i + 1] - yk[i]) / (xk[i + 1] - xk[i]));
}
cout << "\nVektoren a udskrives: ";
printaogr(a, nA);
cout << "\nVektoren b udskrives: ";
printb(b, nA);
cout << "\nVektoren r udskrives: ";
printaogr(r, nA);
}
Jeg kalder min Beregnabogr i en anden void: (er ret sikker på probelmet ikke er dette). Men når jeg så kører programmet, så vil der ikke komme nongen tal ud, kun mine parenteser [ ] [ ] [ ].
Kan i hjælpe mig? Tænker det er noget i min valgb. fordi det er xk som jo går igen i min beregnabogr.