作者granzi (乌木)
看板Programming
标题Re: [问题] 请问C++的多项式运算
时间Sun Sep 23 20:05:41 2007
※ 引述《bens1 (蓝星)》之铭言:
: 题目 多项式ꄠ x^6-6x^5+15x^4-20x^3+15x^2-6x+1
: x=0.99到1.01 每次间隔0.001
: 不知道在C中如何写出多项式函式
: 还有x=0.99到1.01中
: 应该用哪个回圈
: 我是C程式新手
: 请各位高手解答
: 谢谢
GSL(GNU Scientific Library)似乎是一个更好的选择:
如果要用C的话:
#include <stdio.h>
#include <gsl/gsl_poly.h>
int main(int argc, char **argv) {
double iter = 0.99;
double sum = 0;
double pars[7] = {1, -6, 15, -20, 15, -6, 1};
while (iter <= 1.01) {
sum += gsl_poly_eval (pars, 7, iter);
iter += 0.001;
}
printf("%g\n", sum);
return 0;
}
请参考
http://www.gnu.org/software/gsl/
会比自己写轻松
如果是在UNIX/Linux下(with pkg-config)
用gcc `pkg-config --libs --cflags gsl` -o polyn polyn.c编译就可以了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.68.240
1F:推 sunneo:哇哇 头一次看到这个lib220.132.228.138 09/23 20:41
2F:推 bens1:高手 谢谢拉 219.91.65.106 09/23 21:02
3F:推 PcGrek:推lib, 又学到一种新知识~ 218.163.144.54 09/24 03:20