如关于 sinx 与 cosx 是用如下两个多项式来近似表达的

       在数学上对一些复杂的函数,为了便于研究,往往用一些简单的函数来近似表达。常用多项式来近 似表示函数,只需对自变量进行有限次数的加、减、乘、除运算便能求出函数值来。例如关于 sinx 与 cosx 是用如下两个多项式来近似表达的

在这里插入图片描述
在实际计算时对误差控制的方法是只要余项的绝对值小于一个预定值ε即可,ε可设为 10-5或 10-6等。
请根据题目描述及相关数学知识,编写程序计算 sinx 与 cosx 两个函数在区间[0, 90°]上的任意有一点。

程序设计指导

    从程序设计角度来说,本题目主要训练编程者设计函数与运用函数的能力。这里给出 sinx 的计算程 序的编写方法,cosx 可以参考 sinx 的计算方法进行设计。 根据题目的描述可以看出,sinx 是用一个多项式来近似表示的,而多项式中的各项均有规律,其通 项可以用如下公式来表示。 

在这里插入图片描述
假设通项的位置用 i 表示,通项的绝对值用 item 表示,通项的符号用 s 表示且其初值为 1,通项的 累加和用 sum 表示。可以重复下述 4 个步骤,直至通项 item 的值小于一个给定数ε即可解决问题。
(1) 求解通项,将通项的值放在 item 中;
(2) 将通项 item 乘以 s 的值累加到 sum 中,即 sum=sum+s*item;
(3) 通项的符号 s 变相反数,即 s=-s;
(4) 通项的项数加 1,即 i=i+1; 在以上的四个步骤中,最关键的是求通项的值,通项是一个分式,其分子是指数与通项位置数有关 的幂函数 xn,分母是与通项位置数有关的阶乘数 n! 。因此可以将分子与分母分别设计成函数来完成。
3. 代码示例
程序中的指数函数为 double power(double x,int n),求阶乘的函数为 int fact(int n),正弦函数的计算 工作编写在 double my_sin(double x)中。 在这里插入图片描述
说明:本程序在主函数中调用自定义的正弦函数 my_sin()的同时调用了 C 语言系统的标准正弦函 数,其目的为了与自定义正弦函数做正确性的对比。
在这里插入图片描述

发布了10 篇原创文章 · 获赞 12 · 访问量 1862

猜你喜欢

转载自blog.csdn.net/qq_44236958/article/details/88933687
今日推荐