Ergebnis 1 bis 4 von 4

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    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)

  3. #3
    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
  •