正弦函数公式是怎样的?

正弦函数公式是怎样的?,第1张

三角恒等变换公式如下:

1、二倍角公式:

sin(2α)=2sinα·cosα

cos(2α)=cos^2(α)-sin^2(α)=2cos^2(α)-1=1-2sin^2(α)

tan(2α)=2tanα/[1-tan^2(α)]

2、三倍角公式:

sin3α=3sinα-4sin^3(α)

cos3α=4cos^3(α)-3cosα

3、半角公式:

sin^2(α/2)=(1-cosα)/2

cos^2(α/2)=(1+cosα)/2

tan^2(α/2)=(1-cosα)/(1+cosα)

tan(α/2)=sinα/(1+cosα)=(1-cosα)/sinα

4、万能公式:

半角的正弦、余弦和正切公式(降幂扩角公式)

sinα=2tan(α/2)/[1+tan^2(α/2)]

cosα=[1-tan^2(α/2)]/[1+tan^2(α/2)]

tanα=2tan(α/2)/[1-tan^2(α/2)]

5、积化和差公式:

sinα·cosβ=(1/2)[sin(α+β)+sin(α-β)]

cosα·sinβ=(1/2)[sin(α+β)-sin(α-β)]

cosα·cosβ=(1/2)[cos(α+β)+cos(α-β)]

sinα·sinβ=-(1/2)[cos(α+β)-cos(α-β)]

6、和差化积公式:

sinα+sinβ=2sin[(α+β)/2]cos[(α-β)/2]

sinα-sinβ=2cos[(α+β)/2]sin[(α-β)/2]

cosα+cosβ=2cos[(α+β)/2]cos[(α-β)/2]

cosα-cosβ=-2sin[(α+β)/2]sin[(α-β)/2]

三角函数的起源:

早期对于三角函数的研究可以追溯到古代,古希腊三角术的奠基人是公元前2世纪的喜帕恰斯,他按照古巴比伦人的做法,将圆周分为360等份(即圆周的弧度为360度,与现代的弧度制不同),对于给定的弧度,他给出了对应的弦的长度数值,这个记法和现代的正弦函数是等价的。

喜帕恰斯实际上给出了最早的三角函数数值表,然而古希腊的三角学基本是球面三角学,这与古希腊人研究的主体是天文学有关,梅涅劳斯在他的著作《球面学》中使用了正弦来描述球面的梅涅劳斯定理。

古希腊三角学与其天文学的应用在埃及的托勒密时代达到了高峰,托勒密在《数学汇编》(Syntaxis Mathematica)中计算了36度角和72度角的正弦值,还给出了计算和角公式和半角公式的方法,托勒密还给出了所有0到180度的所有整数和半整数弧度对应的正弦值。

正弦函数y=asin(ωx+φ)+b

各常数值对函数图像的影响:

φ:决定波形与x轴位置关系或横向移动距离(左加右减)

ω:决定周期(最小正周期t=2π/∣ω∣)

a:决定峰值(即纵向拉伸压缩的倍数)

b:表示波形在y轴的位置关系或纵向移动距离(上加下减)

作图方法运用“五点法”作图

“五点作图法”即取当x分别取0,π/2,π,3π/2,2π时y的值。

求出正弦函数的方法:先找出最高点和最低点的纵坐标相减,除以2,求出a

再由(最高点纵坐标+最低点纵坐标)/2求出b

再根据图像求出周期t(周期的算法有多种,例如最高点横坐标减去最低点横坐标的差的绝对值2)则ω的绝对值=2π/t

最后,图中应该有某个点标有坐标,再将坐标带入函数中,求出φ(一般情况下,φ都有范围。)

这样就可以算出正弦函数

以经验看来你是要做单片机方面波形输出,DAC输出,或者做模拟示波器什么的。

有两种办法:

一是查表法,优点是计算量少,占用RAM少,算法简单,缺点是占用储存内存较多,参数比较固定。

查表法的基本思路就是,通过把sin函数进行采样,得到的值记录成一个表,将表以数组的形式放在程序中,通过循环读取数组的值达到查表的目的。

二是计算值法,优缺点跟查表法恰好相反。

计算值法的基本思路是通过特定算法,将特定时间所需的特定值计算出来。

这里给你提供一个计算值法的核心代码,作为指导建议,根据实际情况修调。

double SinWave(double scale,int cycle_time)

{

int a;

double PI = 31416;

int resolution_ratio = 100;//分辨率,描述采样量,越高的分辨率计算越多

for(a=0;a<resolution_ratio;a++)

{

DAC_OUT(scale sin(2PIa/resolution_ratio));

delay(cycle_time/resolution_ratio);

}

}

void delay(int us)

{

//

}

void DAC_OUT(int data)

{

//

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12163252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存