标题:三角函数表
只看楼主
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
已结贴  问题点数:10 回复次数:11 
三角函数表
输入角的度数(比如1度,30度,100度),计算出对应的正弦,余弦,正切,余切,正割,余割(保留4位小数)。
搜索更多相关主题的帖子: 函数 对应 余弦 保留 小数 
2018-06-09 10:19
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
数学不咋地表示不会,据说用泰勒公式?~
我表示看看就好了~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-06-09 10:22
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
参考数值表:
http://www.
2018-06-09 10:28
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:5 
虽然有数值参考,不过我还是没不知道怎么弄嘛~

其实或者可以试试弄个傅里叶快速变换出来看看,那个我已经听说很久了,和三角函数有点关系~

嗯要是弄出来并详细讲解一下,我或者会好好看的~

[此贴子已经被作者于2018-6-9 17:13编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-06-09 10:36
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
math.h 了解一下

https://zh.
2018-06-09 10:49
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
如果用:泰勒展开式
首先,用文字来描述就是如果函数足够光滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值。

公式如下图所示:

因此,像正弦函数这一类函数,最终都可以写成多项式的形式(在0点进行展开)。

为了求得精确值,n必须趋于无穷,但是要交给计算机来算的话,就必须进行截断,一般来说n取9既可,另外考虑到分子中带有指数函数,当x较大时,余项带来的误差必定比较大,而我们知道正弦函数是一个周期函数,且所有值都可以由[0,pi/4]间的函数值变换而来,因此在计算之前,我们先对要计算的数值根据诱导公式变换到[0,pi/4]区间上。
2018-06-09 13:24
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
请问,如果用:
sin(x)=x-x^3/3!+x^5/5!-x^7/7!+……+(-1)(n^2n+1)/(2n+1)!+……
这个展开式,X的取值范围是多少??这个X如何与角度发生关系?
2018-06-10 10:44
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
程序代码:
#include<stdio.h>  
#include<math.h>  
int main()  
{  
    const double pi=acos(-1.0);  
    double x,r;  
    double s,c,t; 
    printf("请输入角的度数:"); 
    scanf("%lf",&x);  
    r=x*pi/180;  
    s=sin(r);  
    c=cos(r);  
    t=tan(r);
    printf("sin=%f,cos=%f\n",s,c);
    printf("tan=%f\n",t);  
    return 0;  
} 


[此贴子已经被作者于2018-6-10 22:09编辑过]

2018-06-10 20:55
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
程序代码:
#include<stdio.h>  
#include<math.h>  
int main()  
{  
    const double pi=acos(-1.0);  
    double x,r;  
    double s,c,t,ctg,sec,csc; 
    printf("请输入角的度数:"); 
    scanf("%lf",&x);  
    r=x*pi/180;  
    s=sin(r);  
    c=cos(r);  
    t=tan(r);
    ctg=cos(r)/sin(r);
    sec=1/cos(r); 
    csc=1/sin(r);
    printf("正弦值sin=%f\n",s);
    printf("余弦值cos=%f\n",c);
    printf("正切tan=%f\n",t);  
    printf("余切ctg=%f\n",ctg); 
    printf("正割sec=%f\n",sec);  
    printf("余割csc=%f\n",csc); 
    return 0;  
} 
2018-06-10 22:48
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
回复 4楼 九转星河
可以不用什么变换,直接计算就可以完成。代码如下,只是我还没考虑函数的周期性。
程序代码:
#include<stdio.h>  
#include<math.h>  
int main()  
{  
    const double pi=acos(-1.0);  
    double r,x;  
    double s,c,t,ctg,sec,csc;
    int i=0;
    printf("请输入角的度数:"); 
    scanf("%lf",&x); 
    r=x*pi/180; 
    printf("计算什么?\n");
    printf("1.正弦值 2.余弦值 3.正切值\n"); 
    printf("4.余切值 5.正割值 6.余割值\n"); 
    scanf("%d", &i);
    switch (i)
    {
     case 1:
        s=sin(r);  
        printf("正弦值sin=%f\n",s);
        break;
     case 2:
        c=cos(r); 
         printf("余弦值cos=%f\n",c);
        break;
     case 3:
        t=tan(r);
        printf("正切值tan=%f\n",t);  
        break;
     case 4:
        ctg=cos(r)/sin(r);
        printf("余切值ctg=%f\n",ctg); 
        break;
     case 5:
        sec=1/cos(r); 
        printf("正割值sec=%f\n",sec);  
        break;
     case 6:
         csc=1/sin(r);
        printf("余割值csc=%f\n",csc); 
        break;
    }
   return 0;  
}
2018-06-11 17:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487744-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072095 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved