목차
1. Source code
2. result
2. result
본문내용
io.h>
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = -3;
p2 = b = -2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x*x*x + 3*x*x -1;
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
2.3-5.c
(1) Source code
/*
I will start the False Position method at a=0 , b=pi/2
for the value of x with x - cos(x) = 0
*/
#include
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = 0;
p2 = b = pi/2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x - cos(x);
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
2.3-5.d
(1) Source code
/*
I will start the False Position method at a=0 , b=pi/2
for the value of x with x - 0.8 - 0.2sin(x) = 0
*/
#include
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = 0;
p2 = b = pi/2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x - 0.8 - 0.2*sin(x);
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = -3;
p2 = b = -2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x*x*x + 3*x*x -1;
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
2.3-5.c
(1) Source code
/*
I will start the False Position method at a=0 , b=pi/2
for the value of x with x - cos(x) = 0
*/
#include
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = 0;
p2 = b = pi/2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x - cos(x);
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
2.3-5.d
(1) Source code
/*
I will start the False Position method at a=0 , b=pi/2
for the value of x with x - 0.8 - 0.2sin(x) = 0
*/
#include
#include
#define TOL 0.0001
#define pi 3.141592
float f(float x);
int sgn(float x);
float absol(float x);
main()
{
int n;
float a, b, p1, p2;
n = 1;
p1 = a = 0;
p2 = b = pi/2;
while(absol(p2-p1)>=TOL)
{
p1 = p2;
p2 = a - f(a)*(b-a)/(f(b)-f(a));
printf("n= %d a= %f b= %f p= %f f(p)= %f \n",n,a,b,p2,f(p2));
if(sgn(f(a))*sgn(f(p2))<0)
{
a = a;
b = p2;
}
else
{
a = p2;
b = b;
}
n++;
}
printf("Solution is %f\n",p2);
return 0;
}
float f(float x)
{
return x - 0.8 - 0.2*sin(x);
}
int sgn(float x)
{
if(x<0)return -1;
else if(x>0)return 1;
else return 0;
}
float absol(float x)
{
if(x>=0)return x;
else return (-1) * x;
}
(2)Result
소개글