利用泰勒公式编程计算sin(x)

文章目录

  • 利用泰勒公式编程计算sin(x)
    • 问题
    • 代码

问题

利用泰勒公式编程计算sin(x):

程序提示“x=”,用户输入x值。程序计算时,精确度为小数点后6位(即1e-6),程序给出计算的结果sin(保留2位小数)与使用到的泰勒公式中的第几项item。

提示:计算阶乘时一定要使用double型,使用int很容易“溢出”。

代码

#include "iostream"
#include "math.h"
#include "iomanip"using namespace std;long double fun_acc(int n) {if (n == 1)return 0.1;elsereturn 0.1 * fun_acc(n - 1);
}double factorial(double n) {if (n == 0)return 1;if (n == 1)return 1;elsereturn n * factorial(n - 1);
}int fun_sin(double x) {double acc = fun_acc(6);double sum = 0;double pre = 0;long double max_, min_;for (int i = 1;; i += 2) {sum = sum + pow(-1, (i - 1) / 2) * pow(x, double(i)) / factorial(i);max_ = max(sum, pre);min_ = min(sum, pre);if (max_ - min_ < acc) {return (i + 1) / 2;break;}pre = sum;}
}int main() {double x;cout << "x=";cin >> x;int item = fun_sin(x);cout << "sin=" << fixed << setprecision(2) << sin(x) << "," << "item=" << item << endl;return 0;
}

利用泰勒公式编程计算sin(x)相关推荐

  1. 环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序

    环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. YID:696064261479453 ...

  2. 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序

    环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. YID:856064261479453 ...

  3. 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强

    环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. 现有:6960642614794538 ...

  4. 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数

    环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. 现有:6960642614794538 ...

  5. [C语言]计算sin值填空 :阅读下面程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。然后上机运行程序。利用公式,计算sin x(x为弧度值)的值,直到最后一项的绝对值小于。。。

    阅读下面程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求.然后上机运行程序.    利用计算sin x(x为弧度值)的值,直到最后一项的绝对值小于10-5时为止,输出e的值并统计累 ...

  6. 泰勒公式求极限c语言switch,C语言利用泰勒公式构造求SIN(X),求大触帮看我的代码哪里有问题...

    我的代码是: #include #include double sinf(double); int main(void) { double x; printf("Input a number ...

  7. matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc

    5.利用Matlab编程进行非线性回归分析.doc §5. 利用Matlab编程计算非线性回归模型 --以Logistic曲线为例 1.原始数据 下表给出了某地区1971-2000年的人口数据(表1) ...

  8. c语言编程cos近似,C语言7.利用级数展开式计算求cos(x) 的近似值(精度为10-6)

    求圆周率 C语言 输入n值,并利用下列格里高里公式计算并输出圆周率:保留5位小数 #includeintmain(){doublesum=0;inti,n;scanf("%d",& ...

  9. [并发编程]并发编程第二篇:利用并发编程,实现计算大量数据的和

    利用并发编程,实现计算大量数据的和 实现代码: package tj.pojo.generate.main;import java.util.ArrayList; import java.util.L ...

最新文章

  1. Python从入门到精通- 什么是NumPy? (上)
  2. linux环境上c++ boost安装boost_1_67_0.tar
  3. 13-linux定时任务不起作用到的问题解决办法
  4. 未来智能制造就是跨界大数据
  5. Keepalived - Keepalived 实现 tomcat双机热备
  6. 关于继承构造器的调用
  7. lnmp1.4上thinkphp5.0出现404的解决办法
  8. 分布式系统测试那些事儿——信心的毁灭与重建
  9. 亚马逊与 Uber,软件开发的方式有何不同?
  10. 通过ng-change选择ng-object
  11. 转载:如何开发高性能低成本的网站之技术选择
  12. 全国多地元旦迎雾霾天气 京津冀霾明天短暂减弱
  13. NFS--基础--01--理论
  14. 360浏览器通过访问插件管理界面启用flash实例演示,360浏览器启用Adobe Flash Player方法
  15. 用python模拟clark变换和park变换
  16. html实现旋转时钟
  17. 糗百文化:糗事百科的运营哲学
  18. 修改jupyter notebook的默认浏览器
  19. python 折线图 excel_python - 如何向excel插入新值同时更新对应的折线图
  20. 基于java的出租车预约网站

热门文章

  1. 使用Mathtype的“插入下一章”导致整个自动生成的目录出现难看的章节号
  2. DML语句--更新(update)
  3. 学生动漫网页设计模板下载你的名字 大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板
  4. 37 | 高速缓存(上):“4毫秒”究竟值多少钱?
  5. Android滑动锁屏
  6. JS项目—电子时钟的设计与实现
  7. 在职老程序员考非全211硕士(计算机专业)经验
  8. 手机办公总被质疑效率低?合理地使用手机功能,办公效率远超电脑
  9. Qt从视频中获取每一帧数据
  10. 很多人问我用屏蔽网线为什比非屏蔽的网线干扰会更大?