首页 > 编程知识 正文

傅里叶级数总结,泰勒展开式求sin的方法

时间:2023-05-05 15:22:56 阅读:159857 作者:1398

使用hcdjj展开式求出sinx近似值的多项式如下。

输入x求出sinx的近似值,要求误差在0.00001以下。

输入格式:直接输入实际数据。 没有其他附加字符。

输出格式:直接输出保持了3位小数的实数型的结果。

输入示例: 2.5

输出示例: 0.598

Note这个问题隐藏了一个小知识点,我会记录下来。 果然是很有意思的主题。 看看评论就知道了。 我去找了几个博客,告诉我fabs的参数是double型,返回值也是double型,abs的参数是int型,返回值也是int型,abs求整数的绝对值,fabs求实数的绝对值。 所以我以为WA的点就在这里。 但是,实际上,dubug后发现是次数的问题。 power需要打开很大才能达到十万分之一的精度。 对于绝对值的地方,abs和fabs都可以交流。 既然是实数的比较,就用fabs吧。 为了今后不要在其他主题上发生问题。

# include iostream # include cstdio # includecmathusingnamespacestd; intmain(void ) { double x,jinsi=0; //输入的x和近似值定义long long power=1,xishu=1,fenmu=1; //次数,交错系数和分母的阶乘cin x; while(Fabs(Jinsi-sin(x ) ) 1e-5 )//0.00001可替换为1e-5 (jinsi=xishu * pow ) x、power )/fenmu; xishu *=-1; //正负,交错系数power =2; //次数2fenmu*=(power-1 ) * power; //分母的阶乘不要重新计算! 比如5! 7点到! 直接乘坐6和7就可以了}printf('%.3lf ',jinsi ); } 自己试着不要看把代码码出来哦,测试样例可以直接复制,加油小伙汁小改改,为了更美好的未来呢~~~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。