solveig b Praktikant
19. maj 2018 - 15:40 Der er 2 kommentarer

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.  
S. Enevoldsen Juniormester
21. maj 2018 - 17:51 #1
Hvis der ikke kommer nogen tal ud er det ikke pga. beregningen - i så fald ville tallene der kom ud være forkerte. Men siden der ikke kommer nogen tal ud, er det nok selve udskrivningen den er galt med. Denne kode har du ikke vist her, så kig i dine print funktioner, eller skriv dem her så vi kan se hvad der sker der.
solveig b Praktikant
23. maj 2018 - 09:46 #2
Tak for hjælpen, fik det til at virke.
Hvad gør man hvis i en anden matrix der kun kommer nan og inf ud. Har tjekket, og synes ikke jeg dividere med nogen nuller.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Fremtiden har aldrig set mere usikker ud for Intel: Her er det, der kan redde – og dødsdømme chip-kæmpen
Computerviews: Intels nyslåede topchef Pat Gelsinger står overfor en stribe rigtig svære beslutninger. Hvis han ikke træder varsomt, vil chip-giganten sandsynligvis sygne hen.
Computerworld
Denne malware er den største trussel mod din virksomhed lige nu
Den mest aktive malware i verden sniger sig ind, og at svært at gøre nøget ved. Se her hvordan du tager dine forholdsregler.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Microsoft i kæmpe dansk satsning - åbner tre store datacentre i Danmark
Microsoft lancerer kæmpe satsning fra hovedkvarteret i Lyngby. Selskabet åbner tre store bæredygtige datacentre på Sjælland.
White paper
Her skal du passe på: Rapport fra cyberkrigens frontlinje
I 2020 blev cyberangreb hyppigere og stadig mere alvorlige, og i CrowdStrike Services Cyber Front Lines Report 2020 har du læse, hvor udfordringerne er størst. Rapporten dokumenterer blandt andet, at 63 pct. af alle angreb var økonomisk motiverede – og at hovedparten af angriberne benytter ransomware. Samtidigt bliver de afkrævede beløb større og større, og de kriminelle truer nu ikke kun med at slette data. Stadig oftere sker det, at de cyberkriminelle aktivt analyserer data og undersøger, om der kan sættes trumf på truslen ved true med at lække eller sælge følsomme informationer.