ich bin neu hier und habe mich hier angemeldet weil ich ein Problem mit einer Aufgabenstellung habe. Ich bin blutiger Programmier-Anfänger und hatte während des Studiums ein einziges Informatik-Modul bei dem uns der Prof versuchte uns etwas über VBA beizubringen. Mehr als Do..Loop und if..then haben wir allerdings nicht beigebracht bekommen.
In einem anderen Fach (Numerische Methoden) habe ich jetzt eine Aufgabe gestellt bekommen, bei der ich auch programmieren soll. Die Sprache sei egal. Da mein einziger Kontakt mit Informatik VBA war und ich selber kein MS-Office habe, entschied ich mich es mit LibreOffice Base zu probieren.
Die Aufgabenstellung in Kürze:
-Messwerte einlesen (Tabelle mit t- und zugehörigen f-Werten)
-aus den Werten eine Polynom-Funktion erstellen mit Hilfe der "Methode der kleinsten Fehlerquadrate"
-Funktion per Gauss-Integration integrieren
Per Hand kann ich die Aufgabe lösen, das war ja schließlich Inhalt der Vorlesung, aber das zu programmiern ist ewas anderes.
Ich versuche mich jetzt seit ein paar Tagen in Base einzuarbeiten, komme aber nicht besonders gut klar.
Die Anzahl der Messwerte soll variabel sein. Zum Werte einlesen habe ich bisher folgendes probiert:
Code: Alles auswählen
Sub Aufgabe
Dim t as Double 'deklarieren
Dim f as Double
n = "" 'Begrenzungen für die Zähler
m = ""
for t = 1 to n 'ablesen der t-Werte
twerte(t)=cells(1,4+t) 'start bei Zelle B5 (1,4 steht für B5)
next t
for f = 1 to m 'ablesen der f-Werte
fwerte(f)=cells(2,4+f) 'start bei Zelle C5 (2,4 steht für C5)
next f
End Sub 'Aufgabe
Wenn das so korrekt ist, folgt die Aproximation. Dafür muss ich die eine Gleichung erstellen A-Matrix * a-Vektor = b-Vektor und nach dem a-Vektor auflösen, weil da die Koefizienten für das Polynom drin stecken. Per Hand macht man das mit Gauß-Allgorithmus. Muss ich in Base auch einen Gauß-Algorithmus programmieren oder gibt es da so eine art "Solve"- also Auflösen-Funktion?
Wie erstellt man ein Matrix in Base? (kein Witz: ich habe das nirgends verständlich geschrieben gefunden!)
Die Werte in der Matrix und im b-Vektor sind Summen. Wie schreibt Summen in Base? also z.B
Code: Alles auswählen
Summe (twerte(t)^2 * twerte(t)^4) von t=0 bis t=n-1
Das sind gerade ne Menge Baustellen bei mir ich weiß. Und ich würde mich über jede Hilfe sehr freuen!
Naja und wenn ich das alles irgndwie hinbekommen habe, denke ich das ich die Gauß-Integration dann hoffentlich ohne Hilfe hinbekomme. Das ist dann ja eigendlich nur noch Formel ausrechnen.
Vielen Dank schonmal fürs Lesen und evtl. Helfen!
Gruß
Rob