Announcement

Collapse
No announcement yet.

Methode zur numerischen Integration in C#

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Methode zur numerischen Integration in C#

    Hallo!

    Ich möchte eine Methode zur numerischen Integration beliebiger Funktionen schreiben (Romberg-Verfahren etc.) Dazu möchte ich der entscheidenden Prozedur die zu integrierende Funktion als Parameter übergeben. In C geht das ja über einen Pointer

    #define f(z) ((*function)(z))
    float romberg(float (*function)(float),float start, float end,int n)
    {
    ....
    }

    Aber wie gehts in C# wenn man pointer vermeiden will? Geht's überhaupt?

    Danke schonmal!

    Volker Thieme

  • #2
    Hi
    <P>
    Das geht mit Delegaten. Ich habe mal ein kleines Bsp. gemacht. Bin mir aber nicht sichher ob ich genau getroffen habe was Du suchst. Aber ich denke dein Problem kann mit Delegaten gelöst werden.
    <PRE>
    using System;

    namespace DelegateSample {

    class A {

    [STAThread]
    static void Main(string[] args) {

    A a = new A();

    // Assign Funtion1 with funtionDelegate.
    FunctionDelegate functionDelegate = new FunctionDelegate(a.Function1);
    // Call assigned function.
    functionDelegate(0.5f);

    // Assign Funtion2 with funtionDelegate.
    functionDelegate = new FunctionDelegate(a.Function2);
    // Call assigned function.
    functionDelegate(0.9f);
    }

    private delegate void FunctionDelegate(float param);

    private void Function1(float param) {
    Console.WriteLine("Function1 was called...");
    }

    private void Function2(float param) {
    Console.WriteLine("Function2 was called...");
    }
    }
    }
    </PRE>

    Simo

    Comment


    • #3
      Hm ... schaut gut aus. Muss ich morgen mal probieren. Danke einstweilen

      Comment


      • #4
        Habs mir gleich noch angeschaut. Funktioniert tadellos. Vielen Dank für die rasche Hilfe

        Comment

        Working...
        X