Page 1 of 1
[WetProg] oplossingen
Posted: Fri Aug 25, 2006 10:42 am
by pita
hey,
misschien handig om hier onze resultaten te vergelijken. Vooral omdat de eerste al direct zo vreemd is bij mij:
conditiegetal (bij n=12) komt uit op 1.7390e+012.
Echter het resultaat komt wel exact juist uit?
Is dit correct en vooral: waarom is dit zo?
Posted: Fri Aug 25, 2006 11:40 am
by Sond
Staat in de cursus uitgelegd dat een pascalmatrix een schitterend tegenvoorbeeld is dat een conditiegetal hoog is bij een bijna singuliere matrix en niet omgekeerd.
Uit een hoog conditiegetal kan je dus niet altijd afleiden dat de oplossing slecht gaat zijn
Iemand trouwens al iets gevonden van die errorvector ? Want ik vind nergens een exacte oplossing....
Posted: Fri Aug 25, 2006 5:37 pm
by Karel
Het is nu niet zo'n groot probleem, maar gelieve de tags te gebruiken zoals vermeld in de announcement, WetProg dus, of op zijn minst toch met []. Ik heb het nu zelf aangepast, maar let er in het vervolg aub een beetje op

.
Posted: Sat Aug 26, 2006 10:29 am
by wem
Karel wrote:Het is nu niet zo'n groot probleem, maar gelieve de tags te gebruiken zoals vermeld in de announcement, WetProg dus, of op zijn minst toch met []. Ik heb het nu zelf aangepast, maar let er in het vervolg aub een beetje op

.
mjah, ge maakt het wel ni makkelijk door het WetProg te noeme é, als iedereen spreekt over WP, en GP, en AI en dergelijke ...

Posted: Sat Aug 26, 2006 11:42 am
by Karel
wem wrote:
mjah, ge maakt het wel ni makkelijk door het WetProg te noeme é, als iedereen spreekt over WP, en GP, en AI en dergelijke ...

Mja, ik heb de afkortingen iets expressiever willen maken, om er voor te zorgen dat het gemakkelijker te begrijpen is. GP kan bv een stuk of 3 vakken zijn (Gedistribueerd Programmeren, Gevorderd Programmeren, Gevorderde Programmeertechnieken), waardoor het nogal een knoeiboel wordt.
Posted: Sun Aug 27, 2006 2:57 pm
by Valthonis
Opdracht 1:
De oplossing is heel eenvoudig namelijk x zijn allemaal 1tjes. Ge moet maar eens elke rij van de P matrix optellen en kijken naar het wonderlijke resultaat dat daar dan uit volgt.
Ten tweede het hoge conditiegetal is wel degelijk correct. De pascal matrix is inderdaad bijna singulier. Bijna singulier en slecht geconditioneerd is echter niet altijd hetzelfde. Neem bijvoorbeeld een matrix met allemaal 0en en op de diagonaal eenzelfde klein getal => bijna singulier, maar beter geconditioneerd heb je niet. Wat sond zegt is volledig verkeerd echter. de pascal matrix wordt (zoals de cursus zegt) slechter geconditioneerd naarmate de dimensie groter wordt.
Het volgende is dus op te merken => dimensie groter => slechter geconditioneerd => oplossing zou ook slechter moeten zijn naarmate de dimensie groter wordt.
De voorwaartse fout vind ik echter niet terug in de cursus maar wel een verwijzing. I'll get back to that later.
Posted: Sun Aug 27, 2006 3:26 pm
by Valthonis
Volgende oplossingen heb ik bekomen (in matlab) (nog niet vergeleken met voorwaartse fout want nog niet gevonden)
n =
3
conditieGetal =
61.98386676965932
X =
1
1
1
residu =
0
0
0
error =
0
0
0
n =
6
conditieGetal =
1.107866696800580e+005
X =
0.99999999999965
1.00000000000156
0.99999999999721
1.00000000000252
0.99999999999885
1.00000000000021
residu =
1.0e-013 *
0
-0.03552713678801
0
-0.14210854715202
0
0
error =
1.0e-011 *
0.03548272786702
-0.15609735726230
0.27918778400249
-0.25246471579976
0.11501910535117
-0.02109423746788
n =
9
conditieGetal =
2.907827298805987e+008
X =
0.99999999999415
1.00000000004167
0.99999999986867
1.00000000023984
0.99999999972307
1.00000000020640
0.99999999990322
1.00000000002606
0.99999999999692
residu =
1.0e-012 *
0
0.07815970093361
0.19895196601283
0.17053025658242
0.22737367544323
0
0
0
0
error =
1.0e-009 *
0.00585309578582
-0.04167421963075
0.13133494292106
-0.23983748320688
0.27693058957112
-0.20640333886490
0.09677592061053
-0.02606270754768
0.00308375547320
n =
12
conditieGetal =
8.763947555947919e+011
X =
1.00000000359627
0.99999996751843
1.00000012924944
0.99999970035757
1.00000044829574
0.99999955004506
1.00000030228856
0.99999987119511
1.00000002855855
1.00000000029069
0.99999999833335
1.00000000027123
residu =
1.0e-009 *
-0.00000177635684
0.00295585778076
0.01040234565153
-0.02046363078989
-0.04638422979042
-0.02910383045673
-0.05093170329928
-0.10186340659857
-0.05820766091347
0
0
0
error =
1.0e-006 *
-0.00359626861623
0.03248156721369
-0.12924943737502
0.29964242764802
-0.44829574186167
0.44995494474787
-0.30228856329195
0.12880488853284
-0.02855855152362
-0.00029068591978
0.00166665348189
-0.00027123370216
--------------------------------------------------
Ge ziet dus dat de afwijkingen groter worden (n=3 is nog volledig correct berekend zoals ge ziet) wat verklaard wordt door het conditiegetal dat ook groter wordt.
Posted: Mon Aug 28, 2006 11:44 am
by Valthonis
Bij de 2e opgave gebeurdt er wel iets kak om het proper uit te drukken. De functie schommelt nogal een beetje tussen +10^8 en -10^8 zelfs bij heel kleine stapjes. Hebben jullie dit ook? en hoe los je dat op. Ik evalueer al in hornervorm (de coëfficienten zijn wel belachelijk groot natuurlijk) maar meer kan je toch niet doen.