Hallo alle zusammen,
vielleicht kann mir ja jemand hier helfen. Ich komm einfach nicht weiter. Ich soll in einer Projektarbeit Differenzengleichungen mit Excel programmieren, also mit VBA und ich hab keine Ahnung von VBA. Ich soll die linearen Differenzengleichunghen 1. Ordnung bearbeiten und dabei den inhomogenen Fall behandeln. Die folgen ak und gk sollen als Formeln in Excel änderbar sein. jedoch weiß ich nich wie das gehen soll, da diese ja von der variable k abhängig sind. Wie kann ich das denn jetz in VBA programmiern dass der mir ak und gk aus der Zelle rauslesen kann, obwohl die von k abhängig sind. Ich hab hier schon ma was, aber das klappt nicht -.- Wäre echt toll wenn mir jemand helfen könnte.
Liebe Grüße
Sub erst()
Dim Minn As Integer, Maxn As Integer, p As Integer, yp As Double, gk As Double, ak As Double
Minn = Range("B5").Value
Maxn = Range("B6").Value
p = Range("B7").Value
yp = Range("B8").Value
For i = 10 To Maxn - Minn + 10
Cells(i, 1) = Minn + i - 10
Next i
rmin = Mini(Minn, p)
rmax = Maxi(Maxn, p)
Dim ywerte() As Double
ReDim ywerte(rmin To rmax + 1) As Double
ywerte(p) = yp
For i = p To rmax - 1
ywerte(i + 1) = gk(i) - (ak(i) * ywerte(i))
Next i
For i = p To rmin + 1 Step -1
ywerte(i) = (gk(i) - ywerte(i + 1)) / ak(i)
Next i
For i = Minn To Maxn
Cells(i - rmin + 10, 2) = ywerte(i)
Next i
End Sub
Function Mini(a As Integer, b As Integer) As Integer
If a < b Then Mini = a Else Mini = b
End Function
Function Maxi(a As Integer, b As Integer) As Integer
If a < b Then Maxi = b Else Maxi = a
End Function
Function g(ByVal k As Integer) As Double
g = gk
End Function
Function a(ByVal k As Integer) As Double
a = ak
End Function
|