witam, mam taki problem a mianowicie jak za pomocą met. SImpsona policzyć współrzędne momentu bezwładności figury ogr. całką z góry na odp. przedziale. Jeżeli chodzi samego Simpsona to mamy już napisany program który liczy pole pod całką w zadanym przedziale. Jest ktos w stanie pomoc?? wzory na By i Bx posiadamy ale nie wiemy jak to zrobic...?
0
0
przypomniał byś jakieś wzory
całka z 1/3f(x)? nie pamiętam
0
http://imageshack.us/photo/my-images/263/wzoryo.jpg/ - wzory
zamieszczam tutaj czesc programu ktora mam i bylbym wdzieczny gdyby ktos byl w stanie mi pomoc...
#include <iomanip>
#include <iostream>
using namespace std;
int a,b,c,d;
double f(double x)
{
return(a * x * x * x + b * x * x + c * x + d);
}
main()
{
const int N = 10;
double xp,xk,simpson,st,dx,x;
int i;
cout.precision(3);
cout.setf(ios::fixed);
cout <<"Obliczanie wartosci calki metoda Simpsona\n\n"
"Funkcje zapisujemy w postaci : a*x^3 + b*x^2 + c*x + d \n"
"Podaj kolejno wartosci a, b, c i d \n";
cin >> a >> b >> c >> d;
cout << "f(x) = "<<a<<"*x^3 + "<<b<<"*x^2 + "<<c<<"*x + "<<d<<"\n\n"
"Poczatek przedzialu calkowania\n\n"
"xp = ";
cin >> xp;
cout << "\nKoniec przedzialu calkowania\n\n"
"xk = ";
cin >> xk;
cout << endl;
simpson = 0; st = 0;
dx = (xk - xp) / N;
for(i = 1; i <= N; i++)
{
x = xp + i * dx;
st += f(x - dx / 2);
if(i < N) simpson += f(x);
}
simpson = dx / 6 * (f(xp) + f(xk) + 2 * simpson + 4 * st);
cout << "Wartosc calki wynosi : " << setw(8) << simpson;
getchar();
getchar();
}