Professional Documents
Culture Documents
NIM : 19021103042
Komputasi Numerik
Tugas 3
Divided Difference Polynomial
#include <vector>
using namespace
std;
return c;
}
vector<double> standardPolynomial( const vector<double> &c, const vector<double> &x )
{ int N = x.size();
vector<double> a( N,
0.0 ); vector<double>
1;
return a;
}
void writeNewtonPolynomial( const vector<double> &c, const vector<double> &x )
{
int N =
x.size(); cout <<
c[0];
for ( int i = 1; i < N; i++ )
{
cout << showpos << c[i]; for ( int j = 0; j < i; j++ ) cout << "(x"
<< showpos << -x[j] << ")";
}
cout << '\n';
}
void writeStandardPolynomial( const vector<double> &a )
{
int N =
a.size(); cout << a[0]; for ( int i = 1; i < N; i++ ) cout <<
showpos << a[i] << "x^" << noshowpos << i; cout << '\n';
}
double evaluateNewtonPolynomial( const vector<double> &c, const vector<double> &x,
double xval )
{ int N = c.size(); double
result = c[0], poly =
{
poly *= ( xval - x[i-1]
); result += c[i] * poly;
}
return result;
}
double evaluateStandardPolynomial( const vector<double> &a, double xval )
{ int N = a.size();
double result =
a[N-1];
for ( int i = N-2; i >= 0; i-- ) result = a[i] + xval* result;
return result;
}
int main()
{
vector<double> x = { 0, 1, 2, 3 };
vector<double> y = { 1, 4, 9, 16 };
vector<double> c = getNewton( x, y );
vector<double> a = standardPolynomial(
c, x ); cout << "\nAlvin Wangsawijaya-
writeStandardPolynomial( a );
}
Dan hasil nya sebagai berikut
Dan untuk cara manual nya sebagai berikut