由买买提看人间百态

topics

全部话题 - 话题: lagfun
(共0页)
m*******1
发帖数: 58
1
来自主题: Computation版 - 怎么提高C++计算精度? C++ vs Matlab
Matlab 还是比较可靠的。应该采用比较简洁的计算方法。 看下面的程序, 与Matlab
的结果基本一样( 差别< 10^(-11) ).
------------------------------------------------------------
#include
#include
#include
double lagfun(int n, double x);
int main(int argc, char **argv){
double x, y;
int k, n;
x = 0.6l;
n = 100;
for (k=0; k<=n; k++){
y = lagfun(k, x);
printf("k=%3d, \t %26.14f\n", k, y);
}
return 0;
}
double lagfun(int n, double x){
double v, b;
double p;
int k;

... 阅读全帖
m*******1
发帖数: 58
2
来自主题: Computation版 - 怎么提高C++计算精度? C++ vs Matlab
Matlab 还是比较可靠的。应该采用比较简洁的计算方法。 看下面的程序, 与Matlab
的结果基本一样( 差别< 10^(-11) ).
------------------------------------------------------------
#include
#include
#include
double lagfun(int n, double x);
int main(int argc, char **argv){
double x, y;
int k, n;
x = 0.6l;
n = 100;
for (k=0; k<=n; k++){
y = lagfun(k, x);
printf("k=%3d, \t %26.14f\n", k, y);
}
return 0;
}
double lagfun(int n, double x){
double v, b;
double p;
int k;

... 阅读全帖
m*******1
发帖数: 58
3
试一试下面的程序。 和matlab的结果几乎一样。
----------------------------------------------------
double lagfun(int n, double x){
double v, b;
double p;
int k;
v = 1.0l;
b = 1.0l;
p = 1.0l;
for (k=n; k>=1; k--){
b = b*k/(n+p-k);
v = b - x*v/k;
}
return v;
}
(共0页)