Kirjoittaja: sooda
Kirjoitettu: 03.06.2004 – 03.06.2004
Tagit: matematiikka, koodi näytille, vinkki
Yhtälöparin ratkominen. Aika helppo juttu, tätä käsiteltiin mulla koulussa sikakauan sitten ja aattelin nyt että voisi soodata tän :) ne jotka ei ymmärrä voi kysyä mutta parempi odottaa että tämä tulee koulussa, silloin sen tajuaa heti.
Private Sub Form_Load()
AutoRedraw = True 'ettei infotekstit pyyhiydy pois
FontName = "Courier New" 'hyvä fontti tähän
ratko 1, 2, 3, 4, 5, 6, 0 'esimerkkiratkominen
End Sub
Function ratko(ByVal k1a, ByVal k2a, ByVal a, ByVal k1b, ByVal k2b, ByVal b, kumpi)
'k1a, k2a ym käyttötarkoituksen näkee tosta:
Print k1a & "x+" & k2a & "y=" & a
Print k1b & "x+" & k2b & "y=" & b
Print
If (k1a <> k1b) And (k2a <> k2b) Then 'lavennetaan/supistetaan niin että on kivempi laskea
t = k2b / k2a
k1a = k1a * t
k2a = k2a * t
a = a * t
Print k1a & "x+" & k2a & "y=" & a
Print k1b & "x+" & k2b & "y=" & b
Print
End If
If (k1a = k1b) And (k2a = k2b) Then 'ei voi ratkoa, ei ratkaisua...
Print "Ei voi ratkoa!!"
Exit Function
End If
'tästä lähtien laskeskellaan vaan arvot, ihan helppoa. näitä olisi aika hankala kommentoida...
t = k1a - k1b
t1 = a - b
x = t1 / t
Print t & "x=" & t1
Print "x=" & x
Print
Print k1b & "(" & x & ")+" & k2b & "y=" & b
t = k1b * x
Print t & "+" & k2b & "y=" & b
Print k2b & "y=" & b & "-(" & t & ")"
t = b - t
Print k2b & "y=" & t
y = t / k2b
Print "y=" & y
Print "Tulos: x=" & x & ", y=" & y
If kumpi = 0 Then ratko = x Else ratko = y
End FunctionOhjelmaan on jäänyt pikku virhe. Rivi
t = k1b / x
täytyy muuttaa muotoon
t = k1b * x
jotta kaikki yhtälöparit ratkeavat oikein. :)
Joo :D mulla oli psionillani tosta kaksi versiota, tein eka sitä toista tähän ja sitten vahingossa lähdin säätään toista, niissä oli eroja ja toi sitten jäi :D nyt korjattu.
Mikset tehnyt samantien n-muuttujan yhtälöryhmän ratkaisijaa :)
Se onnistuu suhteellisen helposti matriisien avulla ja tarkat arvot saa kun tekee sen vielä rationaaliluvuilla, joskin se hidastaa sitä melko paljon, mutta ei puututa pikkuseikkoihin... Tein nimittäin sellaisen joskus javalla, mutta tällä hetkellä sorsat on toisella koneella ja se toinen kone ei toimi :|
No iske kiintolevy toimivaan koneeseen... ;)
sooda kirjoitti:
Joo :D mulla oli psionillani tosta kaksi versiota, tein eka sitä toista tähän ja sitten vahingossa lähdin säätään toista, niissä oli eroja ja toi sitten jäi :D nyt korjattu.
saisko exe: ä ?