Siriusss
Новичок
|
Помогите с программкой: Даны вещественные числа a, b, a=4; b=6. Значения функции f(x)=(2.5*x^2-0.1)/(tg x+sin x); записать в массив. Вычислить значение интеграла, используя вормулу трапеции и формулу Симпсона. ---------------------------------- Интергал считается, решение должно быть верное, как с функцией быть? # include <stdio.h> #include <conio.h> #include <math.h> // define n 100 // константа n=100 main () { float i, h, k, m, x1, x2, x3, n,x,N2, epsilon; double a,b; double s1; double s2; epsilon=0.00001; a=4; b=6; printf("\n Metod trapecii:"); s1=0; n=100; do { s1=s2; s1=0; n=2*n; h=(b-a)/n; s2=abs((2.5*pow(a,2)-0.1)/(tan(a)+sin(a))+(2.5*pow(b,2)-0.1)/(tan(b)+sin(b))); i=1; do { a=a+h; s2=(s2+2*abs((2.5*pow(a,2)-0.1)/(tan(a)+sin(a)))); i=i+1; } while(i<n); s2=s2*h/2; } while(fabs(s2-s1)<=3*epsilon); printf (" s2=%5.8f \n",s2); epsilon=0.00001; a=4; b=6; printf("\n Metod Simpsona:"); s1=0; n=100; do { s1=s2; n=2*n; h=(b-a)/n; x=a; s2=0; N2=n/2; k=1; do { x1=x; x2=x1+h; x3=x2+h; s2=s2+abs((2.5*pow(x1,2)-0.1)/(tan(x1)+sin(x1))+4*(2.5*pow(x2,2)-0.1)/(tan(x2)+sin(x2))+(2.5*pow(x3,2)-0.1)/(tan(x3)+sin(x3))); x=x3; k=k+1; } while(k<=N2); s2=s2*h/3; } while(fabs(s2-s1)<=3*epsilon); printf (" s2=%5.8f \n",s2); getch(); } Спасибо (Сообщение отредактировал Siriusss 20 сен. 2007 18:06)
|