🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Werte einlesen, Koefizienten rausfinden

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
rob-g
Beiträge: 1
Registriert: Do 26. Apr 2012, 18:07

Werte einlesen, Koefizienten rausfinden

Beitrag von rob-g » Di 1. Mai 2012, 14:59

Hallo liebe Forum-Gemeinde,
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 ich dieses Makro starte gibt er zummindest keine Fehlermeldung aus. Ist das einlesen so korrekt? Ich habe bei der Suche nach Lösungen öfter mal was über Arrays gelesen. Mir war aber nicht klar ob das der richtige Weg ist um damit weiter zu arbeiten.

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
mit n-1 meine ich den die Anzahl der Messwerte, weil ich ja beim einlesen oben das leere Feld nach dem letzten Messwert mit n bezeichnet habe.

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


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten