Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- double hordi(double x1, double x2, double epsilon){
- double x, x3, fx1, fx2, f, k, b;
- x3=2000;
- do
- {
- fx1 = sin(x1) - 0.5;
- fx2 = sin(x2) - 0.5;
- if (fx1 * fx2 > 0)
- return -1;
- x=x3;
- k = (fx2 - fx1) / (x2 - x1); /* Nahodim koafficient k */
- b = fx1 - (((fx2 - fx1) * x1) / (x2 - x1)); /* Nahodim svobodnii chlen b */
- x3 = x1 - (((x2-x1) * fx1)/(fx2-fx1)); /* Nahodim tochku persechenia */
- f = sin(x3) - 0.5;
- if (f * fx1 > 0)
- x1 = x3;
- else
- x2 = x3;
- }
- while (fabs(x3-x) > epsilon);
- return x3;
- }
- int main(void)
- {
- double otvet;
- otvet = hordi(0, 2, 1e-6);
- if (otvet == -1)
- printf("nepravilnij interval");
- else
- { printf("%f", otvet);
- printf("/n");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment