【发布时间】:2015-06-05 00:47:12
【问题描述】:
我很累,对 C++ 很陌生,而且在处理多项式方面真的很糟糕。这对我的任务来说是一个糟糕的组合。尽管如此,我正在努力解决它。请注意,我可能在数学和语言方面都误解了某些部分。甚至是术语。
我的第一个任务是创建一个用于存储多项式的类。我认为重要的部分是系数和多项式的次数。因此,我有一个(部分)看起来像这样的多项式类:
class Polynomial {
private:
double* Coefficients; //Array of coefficients in order of ascending power
int Degree; //The degree of the polynomial
...
该类应该有一种方法来求多项式在上下限内的积分。但我真的不知道如何使用它。
由于不展示我所做的事情是不好的做法,这就是我目前所拥有的,它可能没有多大意义,但是如果可以的话,请指出我正确的方向?
Polynomial Polynomial::ComputeIntegral(double lower, double upper) {
//Values needed to create new polynomial
//degree will be one more than the original polynomial
int degree = Degree + 1;
double* coefficients = new double[degree + 1];
coefficients[0] = 0;
for (int i = 0; i < degree +1; i++) {
coefficients[i + 1] = Coefficients[i] / (double)(i + 1);
}
Polynomial integral(degree, coefficients);
return integral;
}
我可以看到自己,这是一团糟,因为 a) 我不使用边界,b) 我很确定根据分配描述,我最终应该得到一个值而不是一个新的多项式。
Google 告诉我有一些算法可以处理求积分(例如梯形),但我无法将其与我的多项式表示相匹配。
【问题讨论】:
-
提示:如何将多项式与纸和铅笔相结合?
-
呃。我不确定如何回答,除了“当我试图与算法集成时”。但同样,我很确定我在解决方案中已经偏离了方向。我曾尝试将我所知道的东西翻译成 C++,但同样,多项式是我在学校时遇到的难题,而 C++ 对我来说是新的。
-
如果您不知道如何将多项式与纸笔相结合,那么您将如何实现它!
-
我很清楚您是在告诉我阅读集成主题,而不是尝试编写代码。我想说的是,我无法比现在更进一步。我的问题是我不知道我到底错过了什么。我希望有人能看一下代码,并能够准确地看到我误解了什么。
标签: c++ algorithm integral polynomials