Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Integration

VBA Integration
25.02.2009 15:52:13
thomas
Hallo Leute bin neu hier, einige haben diese seite hier empfohlen und so bin ich hier gelandet
Zur Aufgabe:
Schreiben Sie ein Programm zur nummerischen Integration einer Funktion mit einer Variablen "x". Die Zellen eines Arbeitsblattes enthalten A1: die untere Integralgrenze, A2: die obere Integralgren-ze, A3: die Schrittweite, A4: x (muss vom Programm in einer Schleife bestimmt werden), A5: die Funktion als Formel. Das Integral soll in einer MsgBox ausgegeben werden.
So wie ich das hier verstanden habe ist in der Zelle A5, die Formel/Funktion...nur wie bau ich das alles dann in VBA ein.
Danke

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hausaufgabe?
25.02.2009 16:16:17
Daniel
Hi
... die solltest du eigentlich selber lösen.
falls du Detailfragen hast, gerne, aber Komplettlösungen nein.
btw wie sieht den die Formel aus, die berechnet werden soll, bzw in welcher Form ist sie anzugeben?
Gruß, Daniel
AW: Hausaufgabe?
25.02.2009 16:30:42
thomas
Ja das mit der Formel ist auch so mein Problem, es wurde keine Formel vorgegeben. Es ist die komplette Aufgabenstellung die ich oben geposted hab.
Desshalb bin ich von anfang an total verwirrt.
AW: Hausaufgabe?
25.02.2009 16:39:42
thomas
Ich habe mich nun soweit durchgelsen, dass es wohl irgendwie was mit Eval zu tun hat nur das wäre weit her geholt da wir damit nix zu tun hatten und nun es damit lösen sollen.
Oder gibt es eine andere Möglichkeit ?
Danke
Anzeige
AW: Hausaufgabe?
25.02.2009 16:43:43
Daniel
Hi
naja ist ja eingenlich nicht so schwer:
wenn du die Formel wie eine normale Excel-Formel in die Zelle A5 reinschreist und anstelle von X den Zellbezug auf die Zelle A4 rein setzt, dann schreibst du anschließend in A4 den x-Wert rein und bekommst in A5 den zugehörigen y-Wert angezeigt.
in etwa so für eine Lineare gleichung:
= 3*A4 - 5
jetzt muss du nur noch das Makro drumherumbasteln, daß nacheinander die X-Werte in A4 reinschreibt, dazu die Y-Werte aus A5 ausliest und aufaddiert.
Das ganze mit der Schrittweite multipliziert sollte dann das Integral ergeben (aber da musst du dich besser auskennen)
hth, Daniel
Anzeige
AW: Hausaufgabe?
25.02.2009 16:55:55
thomas
ahh danke genau sowas brauchte, jetzt geht mir ein licht auf.
Nur das mit der Schrittweite ist auch für mich neu :-D
Was meinst du genau damit?
AW: Hausaufgabe?
25.02.2009 17:01:17
Daniel
Hi
die numerische Berechnung von Integralen sollte dein Spezialgebiet sein, nicht meins ;-)
aber nur mit dem Aufaddieren der Y-Werte alleine ist es ja nicht getan, oder?
Gruß, Daniel
AW: Hausaufgabe?
25.02.2009 17:32:24
thomas
Ich hab mal bisschen probiert:
  • 
    Sub Integration2()
    Dim u#, o#, s#, x#, a#, I#
    u = Range("A1").Value
    o = Range("A2").Value
    s = Range("A3").Value
    x = Range("A4").Value
    For x = u To o Step s
    Call y(x)
    I = I + (a * s)
    Next
    MsgBox ("Das Integral beträgt: " & I)
    End Sub
    


    
    Function y(x)
    a = Range("A1").Value
    End Function
    


  • geht jedoch imernoch nicht so wirklich
    Anzeige
    AW: Hausaufgabe?
    25.02.2009 18:03:37
    Daniel
    Hi
    du hast 2 wichtige Punkte vergessen:
    1. den aktuellen X-Wert in die Zelle A4 reinschreiben
    2. den dazugehörigen Y-Wert aus der Zelle A5 auslesen
    dafür liest du wiederholt die Untere Grenze aus A1 und Addierst diese zum Intervall auf.
    außerdem:
    das mit dem For x = u to o Step s würde ich auch nochmal überdenken, ob das wirklch von Anfang bis zum Ende dem Verfahren der Numerischen integration, wie du es von Hand ausführst, entspricht.
    also im Prinzip ist es schon richtig, aber im Detail noch verbesserungswürdig.
    mach mal den einfachen Test mit einer Linearen funktion (y=X), da kannst du das Integral ja im Kopf ausrechnen und das Ergebnis vergleichen.
    und nochwas
    bei so einem kleinen Makro würde ich noch keine Unterfunktionen oder ähnliches Schreiben, sondern alles in ein Makro packen.
    Gruß, Daniel
    Anzeige
    AW: Hausaufgabe?
    25.02.2009 18:30:49
    thomas
    mmmh deine zwei angesprochenen punkte, wie setze ich das in die tat um ?
    Kannste das bitte posten, wenn ich ja schon auf den richtigen weg bin schaff ich den rest dann auch noch irgendwie.
    danke
    AW: Hausaufgabe?
    25.02.2009 18:56:27
    Daniel
    Hi
    eine Variable schreibt man wiefolgt in eine Zelle
    Range("A1").Value = a
    und auslesen tut man sie dann so:
    a = Range("A1").Value
    die richtigen Zellenaddressen und Variablen wirst du wohl hoffentlich einsetzen können, sonst hast du keine Gute Note verdient.
    Gruß, Daniel
    AW: Hausaufgabe?
    25.02.2009 19:04:34
    thomas
    Sry, funktioniert aber immernoch nicht.
    Stehe da gerade auf dem schlauch
    AW: Hausaufgabe?
    27.02.2009 00:25:29
    Daniel
    Hi
    du musst:
    1. Von Hand: Formel in Zelle A5 schreiben, und zwar als Excelformel, mit Zellbezug auf A4 anstelle von X
    2. im Makro:
    - in einer Schleife den X-Wert von u nach o schrittweise erhöhen.
    - den X-Wert in die Zelle A4 reinschreiben
    - den Y-Wert aus der Zelle A5 Auslesen und in einer Variable aufaddieren.
    die Berechnng der Formel macht Excel automatisch, da brauchst du dich im Makro nicht weiter drum kümmern.
    kann eigentlich nicht so schwer sein, aber da es eine Hausaufgabe ist, werde ich das Makro nicht für dich schreiben, dass musst du schon selber machen.
    Gruß, Daniel
    Anzeige

    299 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige