Tach,
ich bin gerade an einem integral berechnen mit hilfe von visual c#. nun mein code hat noch iergend eine make, jedenfalls berechnet es nicht korrekte werte. kann mir wer helfen?
hier mein code:
private double a = 0, b = 0, A = 0, n = 0, h = 0, Teilf = 0, xi=0;
private int i;
static void Main()
{
Application.Run(new Form1());
}
//const double eps = 1e-05;
private void button1_Click(object sender, System.EventArgs e)
{
a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);
n = Convert.ToDouble(textBox3.Text);
xi = (b - a) / n;
for (i = 0; i <= n - 1; i++)
{
h = Math.Sin(xi);
Teilf = h*xi;
A += Teilf; //A = A + Teilf;
}
textBox4.Text = A.ToString();
}
}
}
xi habe ich soweit richtig, aber h stimmt nicht.
legende:
a linke schranke
b rechte schranke
n teile - wieviele teile er die fläche unter dem integral teilen soll (je mehr, desto genauer)
xi beliebiges x auf der x achse
die idee ist halt wie bei der normalen integration. man teilt eine fläche unter einer funktion in unendliche viele rechtecke und summiert die teile dann.
danke für die hilfe
Seite 1 von 1
Benötige Hilfe Zu Einer Nummerische Integration Mittels C#
Anzeige
#2
geschrieben 12. November 2006 - 11:44
Ja dann solltest du auch nicht immer und ausschließlich das erste Rechteck ständig neuberechnen.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#3
geschrieben 12. November 2006 - 11:57
ups ja klar, ich rechne bis jetzt bei nur das erste feld aus... danke für den hinweis
#4
geschrieben 12. November 2006 - 12:10
ich glaub so ists besser
h = (b - a) / n;
for (i = 0; i <= n - 1; i++)
{
xi = i * h + a;
Teilf = Math.Sin(xi)*h;
A += Teilf; //A = A + Teilf;
h = (b - a) / n;
for (i = 0; i <= n - 1; i++)
{
xi = i * h + a;
Teilf = Math.Sin(xi)*h;
A += Teilf; //A = A + Teilf;
Thema verteilen:
Seite 1 von 1