【数字仙秘系列】二次元函数的交互性质
1、1-cosx与0.5x2
#include<stdio.h> #include<math.h> int main() { for(int i=20;i>=1;i--) { double t=i/20.0; double x=1-cos(t); double y=0.5*t*t; printf("%lf %lf %lf %lf %lf\n",t,x,y,fabs(t-y)-fabs(t-x),fabs(t-x)/fabs(t-y)); } }
性质一:在距离原点相同距离时0.5x2大于1-cosx
性质二:0.5x2的收敛速度快于1-cosx
性质三:两个函数的收敛速度非常快(在20次时便趋于了标准值)
2、
#include<stdio.h> #include<math.h> int main() { for(int i=1;i<=20;i++) { double t=0.05; double x=1-pow(cos(t),i); double y=0.5*i*t*t; printf("%lf %lf %lf %lf %lf\n",t,x,y,fabs(t-y)-fabs(t-x),fabs(t-x)/fabs(t-y)); } printf("\n"); for(int i=1;i<=20;i++) { double t=0.05; double r=i/20.0; double x=1-pow(cos(t),r); double y=0.5*r*t*t; printf("%lf %lf %lf %lf %lf\n",t,x,y,fabs(t-y)-fabs(t-x),fabs(t-x)/fabs(t-y)); } }
性质一:当参数a越大,两函数的收敛速度越慢
性质二:在距离原点相同距离时0.5ax2大于1-cos^ax,且随着参数a的增大在相同距离时两者数值差距也随着增大。
性质三:当参数a小于1时两者最为接近,且两者收敛速度在a较大或者较小(趋近于1和0两个端点)时1-cos^ax更快,其他情况0.5ax2更快,即两者收敛速度比较不满足单调性,存在一个极值点,位于x=0.35左右。