als ik zelf een determinant van een matrix bereken komt er soms een iets ander getal uit dan als excel het uitrekent via Determinant()
zie gele cellen er zo 0 uit moeten komen.
ik gebruik determinanten om vergelijkingen op te lossen bvb 3 vergelijkingen met 3 onbekenden.
als de hoofddeterminant 0 is mag er niet door gedeeld worden.
maar als excel door onbegrijpelijke en onnodige onnauwkeurigheid van een 0 determinant geen 0 maakt,
dan krijg ik soms uitkomsten die fout zijn.
weet iemand of dat door foute instellingen komt?
als ik zelf een udfje maak om determinanten te berekenen komt er wel de goede waarde uit.
Laatst aangepast door sylvester-ponte : 15 mei 2022 om 00:23
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Zou het hiermee te maken kunnen hebben?
bron: https://support.microsoft.com/nl-nl/...1-0ffd03717020DETERMINANTMAT wordt berekend met een nauwkeurigheid van ongeveer 16 cijfers, wat kan leiden tot een geringe numerieke fout wanneer de berekening niet compleet is. De determinant van een enkele matrix bijvoorbeeld kan een deviatie vertonen van 0 tot 1E-16.
alphamax, bedankt voor je reactie , in mijn voorbeeld werk ik met hele getallen , kun je dan toch afwijkingen krijgen?
het is toch alleen vermenigvuldigen, optellen en aftrekken.
als in de berekening van excel bvb ( -1) ^ n gebruikt wordt ipv even en oneven dan zou dat het verklaren.
Laatst aangepast door sylvester-ponte : 15 mei 2022 om 12:03
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Geen idee.
Gebruik je "cramer's rule" om de vergelijkingen op te lossen?
Laatst aangepast door alphamax : 15 mei 2022 om 12:14
ja, maar dan met een udf die dat doet voor elke n vergelijkingen met n onbekenden
de hoofd determinant D mag dan geen 0 zijn (dat wordt afgevangen in de udf)
en met excel gebeurt het dat soms dat D net geen 0 is ipv 0
dat levert fouten op
Laatst aangepast door sylvester-ponte : 15 mei 2022 om 12:18
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Ik heb je andere draadje gevolgd.
Kan je een uitgekleed voorbeeldje geven.
Misschien dat het op een andere manier met excel matrix formules wel is op te lossen.
Er zijn andere methodes dan cramers rule.
Bij deze een voorbeeldje met data uit je andere draadje.
Ik gebruik niet cramer's rule maar een combinatie van inversematrix en productmatrix.
mijn "cramers rule" ziet er zo uit:
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
kijk eens wat er gebeurt als je deze waarden invult: die 0 moet echt afgevangen worden anders krijg je onzinnige antwoorden
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Dat klopt en is precies wat de theorie zegt.
Bron: https://www.wisfaq.nl/show3archive.asp?id=23061&j=2004Als de determinant gelijk is aan 0, dan bestaat de inverse matrix niet, en is bijvoorbeeld het stelsel vergelijkingen, waar de matrix de coëfficiënten van bevat, niet eenduidig oplosbaar.
ja, en als excel een 0 determinant af en toe niet 0 maakt moet je iets verzinnen. bvb if abs(det)< 0,000000001 then behandel hem als 0.
dat houdt in dat soms wel bedoelde waarden weer niet gevonden worden.
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Hier hetzelfde probleem maar geen oplossing, zie https://www.mrexcel.com/board/thread...determ.811735/
Het afrondingsprobleem is meer mensen opgevallen maar nog niet door microsoft opgelost.
Vandaar dat er oplossingen door derden gemaakt zijn.
Er schijnt een add-in Matrix.xla(m) te zijn met de functie MDet/M_Det die deze problemen niet heeft.
Deze functie heeft zelfs een interger parameter wanneer de matrix alleen maar intergers bevat.
Die kan je hier downloaden, zie https://learn.bowdoin.edu/excellaneous/#downloads
Hier zie je de handleiding, zie https://learn.bowdoin.edu/excellaneo...eSections3.pdf
Hier zie je de broncode, zie https://agecon2.tamu.edu/people/facu...MATRIX.XLA.txt
Laatst aangepast door alphamax : 15 mei 2022 om 20:14
alphamax, heel veel dank voor je bijdragen.
je schrijft:mijn udfje doet het goed met alle getallen die van zichzelf geen afronding zijn. dus ook met niet integer getallen.Deze functie heeft zelfs een interger parameter wanneer de matrix alleen maar intergers bevat.
een determinant uitrekenen kan met alleen vermenigvuldigen optellen en aftrekken.
dan krijg je geen afrondings problemen en is een 0 determinant ook echt 0. daar gaat het om. dan mag je er niet door delen.
sommige methodes (onder andere die van excel) gebruiken andere bewerkingen. dan kan het fout gaan.
andere determinanten dan 0 determinanten mogen best een afrondings foutje hebben.
ik gebruik dus maar mijn eigen udfje om determinanten te berekenen. (die gebruikt alleen vermenigvuldigen optellen en aftrekken)
Laatst aangepast door sylvester-ponte : 18 mei 2022 om 11:44
groeten Sylvester Ponten
ik gebruik Ms Windows 10 en met plezier excel 365
ps geef zelf ook aub aan welke excel u gebruikt.
ps persoonlijke mail lees ik hoogstens 1 maal per jaar
Het is bekend dat het algoritme van microsoft om de determinant te berekenen soms niet betrouwbaar is.
Als jouw udf voldoet, dan is het goed.