-fixed mid_diff

This commit is contained in:
Patrice Matz 2017-12-09 14:02:57 +01:00
parent 723a8d3567
commit 35562c0698
2 changed files with 7 additions and 4 deletions

View File

@ -3,7 +3,6 @@ using namespace std;
DIFF::DIFF()
{
y1values.resize(yvalues.size());
}
@ -70,10 +69,16 @@ vector<long double> DIFF::mid_diff(vector<long double>y, vector<long double>x)
temp.at(i) = (y.at(i + 1) - y.at(i)) / (x.at(i + 1) - x.at(i));
i++;
for (; i < y.size() - 1; i++)
temp.at(i) = (y.at(i + 1) - y.at(i)) / (x.at(i + 1) - x.at(i));
temp.at(i) += (y.at(i + 1) - y.at(i - 1)) / (x.at(i + 1) - x.at(i - 1));
temp.at(i) /= 2;
for (; i < y.size() - 2; ++i)
{
temp.at(i) = (y.at(i + 1) - y.at(i - 1)) / (x.at(i + 1) - x.at(i - 1));
}
temp.at(i) += (y.at(i) - y.at(i - 1)) / (x.at(i) - x.at(i - 1));
temp.at(i) /= 2;
i++;
temp.at(i) = (y.at(i) - y.at(i - 1)) / (x.at(i) - x.at(i - 1));
return temp;

View File

@ -7,8 +7,6 @@ class DIFF
public:
vector<long double> xvalues = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250};
vector<long double> yvalues = {0, 2926, 10170, 21486, 33835, 45251, 55634, 65038, 73461, 80905, 87368, 92852, 97355, 100878, 103422, 104986, 106193, 110246, 119626, 136106, 162095, 199506, 238775, 277065, 314375, 350704};
vector<long double> y1values; //y-values of 1st derivative
vector<long double> y2values; //y-values of 2nd derivative
vector<long double> diff();