Ergebnis 1 bis 4 von 4

Thema: Brauche Hilfe bei einem Programm!!! Es geht um Integralberechnung

  1. #1

    Brauche Hilfe bei einem Programm!!! Es geht um Integralberechnung

    Hi Leute
    ich brauch Hilfe bei einem Programm für die Schule.Es geht um Integralrechnung.
    Es soll eine Funktion numerisch Integriert werden. Man kann dazu verschiedene Näherungsverfahren benutzen. Grundidee dieser Verfahren ist es, die gesuchte Gesamtfläche in Teilflächen aufzugliedern und diese aufzusummieren. Die Wahl des Verfahrens ist den Gruppen selbst überlassen.

    Dabei geht es um folgende Funktion:

    [
    f(x)= m* 1/ X hoch n also in Worten: m mal 1 durch x hoch n


    Leider bin ich nicht so gut im Programmieren, desshalb weiß ich nicht wie ich das machen soll.
    Das ganze muss in C++ sein.
    Wär echt nett wenn mir jemand helfen könnte.
    Schanmal Danke


    Donguz

  2. #2
    Code:
    #include <math.h>
    
    double f(double m, double n, double x)
    {
      return pow(m*(1/x), n);
    }
    Das wäre eine Funktion, die f(x) nachbildet.

  3. #3
    Zitat Zitat von Jesus_666
    Code:
    #include <math.h>
    
    double f(double m, double n, double x)
    {
      return pow(m*(1/x), n);
    }
    Das wäre eine Funktion, die f(x) nachbildet.
    Ich glaube, er meinte ehr
    Code:
    #include <math.h>
    
    double f(double m, double n, double x)
    {
      return m*pow(1/x, n);
    }
    Die Numerische Integration mit Flaechenteilung geht folgendermassen. Wenn du das Integral von A nach B bestimmen willst, unterteilst du die Strecke AB in n Intervalle konstanter Breite R = (B-A) / n. Nun bildest du die Flaeche der Rechtecke mit Breite R und Hoehe f(A+i*R), wobei i von 1 bis n laeuft. Die Summe der Flaechen gibt naehrungsweise das Integral wieder. Wenn du nun die Zahl n kontinuierlich erhoehst, bis sich die Summe der Flaechen nur noch um einen Betrag aendert, der unterhalb deiner gewuenschten Genauigkeit liegt, dann hast du den Numerischen Wert des Integrals bestimmt. Fuer n gegen Unendlich geht der Zahlenwert der Summe in das exakte Integral ueber.

    Ein kleines Codebeispiel ...
    Code:
    double integral(double A, double B, int n) {
      double R = (B-A)/n;
      double summe = 0;
      for (int i=1; i<=n; ++i)
        summe += R * f (A + i * R);
      return summe;
    }
    
    double berechne(double A, double B, double genauigkeit) {
      int n=2; 
      double old=0, new=0;
      while (abs((new = integral(A,B, n++)) - old) > genauigkeit ) 
        old = new;
      return new;
    }

    Geändert von Ineluki (25.05.2006 um 16:30 Uhr)

  4. #4
    Zitat Zitat von Ineluki
    Ich glaube, er meinte ehr
    Code:
    #include <math.h>
    
    double f(double m, double n, double x)
    {
      return m*pow(1/x, n);
    }
    In der Tat. Da habe ich eindeutig Unsinn geschrieben (oder eher gesagt, ich habe seine Formal unsinnig geparst).

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •