vergelijkingen oplossen

Status
Niet open voor verdere reacties.

Morsyd

Gebruiker
Lid geworden
25 dec 2007
Berichten
165
hallo
hoe los je 3 vergelijkingen met 3 onbekenden op in VBA??
grtz
 
ja stelt een vraag zonder er ook maar een verglijking bij te zetten
 
bedankt voor deze absurde opmerking...
nu graag serieus?
Het is inderdaad een beetje een flauwe opmerking, maar weet wel dat de kwaliteit van een antwoord afhangt van de kwaliteit van de vraag.
 
Waarvoor mijn excuses dan maar...
het stelsel heeft de vorm:
a x + b y + c z = d
e x + f y + g z = h
i x + j y + k z = l
 
Ik zou de "oplossing" met de hand berekenen, dus alles in functie van de parameters a tot l.

Dat zet je dan zo in Excel en laat je berekenen. Dus de parameters in cellen laten invullen, en het resultaat berekenen met simpele celverwijzingen naar die cellen.

Wigi
 
Laatst bewerkt:
Met De regel van Cramer die een worksheetfunction DETERMINANMAT of Mdeterm inzet om stelsels van vergelijkingen op te lossen.

Bepaal eerst de determinant van de matrix:
a,b,c
e,f,g
i,j,k

Vervang een kolom van de matrix door de oplossingskolom van het stelsel
d,b,c
h,f,g
l,j,k

Bepaal vervolgens ook hiervan de determinant
Door de tweede determinant te delen door de eerste heb je de oplossing voor de kolom die vervangen is.

Als de determinant 0 is er geen oplossing.
De maximale grote is 72x72 elementen en het aantal rijen en kolommen moet gelijk zijn.

Code:
Function SolveColumn(Coefficient As Range, Solution As Range, CalcColumn As Integer) As Double

'Coefficient's matrix
'Solution of matrix
'Columnnumber to solve

Dim TempCoefficient
Dim i As Integer

TempCoefficient = Coefficient

For i = 1 To UBound(Coefficient.Value)
    TempCoefficient(i, CalcColumn) = Solution(i)
Next i

SolveColumn = Application.MDeterm(TempCoefficient) / Application.MDeterm(Coefficient)

End Function
 
Dit kan gewoon met Excel.

De onbekenden zijn x, y en z neem ik aan?

zet in de cellen A1 tm D3 de waarden
a, b, c, d
e, f, g, h
h, i, j, k

- Selecteer vervolgens de cellen E1 tot en met E3
- Druk op F2
- Vul de volgende formule in: productmat(inversemat(A1:C3); d1 : d3))
Voor de Engelse versie van Excel is dit een andere formule!
ipv productmat krijg je dan mmult, voor inversemat weet ik niet uit mn hoofd
- Druk op Ctrl + Shift + Enter
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan