IT
Datalogi - gauss program
Hejsa.
Jeg er igang med at skrive et program i c++, hvor jeg skal lave en række reduktion.
Jeg får desværre nogle forkerte resultater.
Kan I se, hvad der er galt?
Svar #1
27. maj 2012 af Andersen11 (Slettet)
Forventer du, at vi bare skal debugge hele dit program? Prøv at forklare, hvad du ønsker, at det skal gøre, og forklar, hvorfor du mener, at det ikke regner rigtigt.
Svar #2
28. maj 2012 af anja00 (Slettet)
Hvis jeg fx bruger følgende matrix:
1 2 3
4 5 6
Bør jeg få følgende reducerede echelon matrix:
1 0 -1
0 1 2
I mit program får jeg følgende reducerede echelon matrix:
4 5 6
0 0.75 1.5
Der må altså være noget galt med funktionen "void ReducedRowEchelonForm(double A[Nmax][Nmax], double x[Nmax],int n)"
Men jeg kan ikke se, hvad fejlen er. Jeg håber I kan finde den :-)
Svar #4
03. juni 2012 af Swashy (Slettet)
Hej Anja
Jeg må tilstå at der er en del "støj" i det vedhæftede kode. Du nævner selv at problemet ligger i "ReducedRowEchelonForm" så vi skulle nok bare havde fået noget i stil med nedenstående.
// Pseudo code - does not compile
int main() {
myMatrix = {1,2,3} {4,5,6}; // Hard-coded matrix
ReducedRowEchelonForm(myMatrix, ...);
return 0;
}
void ReducedRowEchelonForm(double [ ][ ] matrix, ...) {
// Code to review
}
Nok om det.
Jeg har sendt dig en privat besked med nogle hints til hvordan det kan implementeres. Jeg går ud fra at det er C++ sproget der driller. Hvis det er matematikken, skal du selvfølgelig forstå dette først. Du burde meget gerne kunne løse problemet i hånden inden du prøver at kode det. Besøge evt. http://stattrek.com/matrix-algebra/echelon-transform.aspx. Jeg mener ikke at jeg har haft om matricer i skolen og slet ikke Echelon-teknikken, men de har brudt det ned i små steps med tilhørende eksempler som er til at forstå.
Håber dette vil hjælpe dig på rette vej.
PS. Nu ved jeg ikke hvor langt du er kommet med studiet, men hvis du får tid kan du evt. overveje om der er andre muligheder end at gøre brug af et fixed-size 2-dimensionel array som funktionsargument (double A[Nmax][Nmax]).
Skriv et svar til: Datalogi - gauss program
Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk?
Klik her for at oprette en bruger.