![]() |
中国面包师贴吧-楼主(阅:1665/回:0)三角函数模拟计算机三角函数模拟计算机 下面介绍一种三角函数模拟计算机.它利用泰勒展开公式计算sinx,cosx,tgx,ctgx,等三角函数。根据泰勒公式,推导过程可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第一卷第一分册, 第二卷第二分册,。 3 5 2m-1 x x m-1 x 2m sin x=x- + -…+(-1) +o(x ) 3! 5! (2m-1)! 2 4 2m x x m x 2m+1 cos x= 1- + -…+(-1) +o(x ) 2! 4! (2m)! 3 5 2m-1 x x m-1 x 2m sh x=x+ + + …+(-1) +o(x ) 3! 5! (2m-1)! 2 4 2m x x m x 2m+1 ch x= 1+ + +…+(-1) +o(x ) 2! 4! (2m)! 3 5 2m-1 x x m-1 x 2m arctg x=x- + -…+(-1) +o(x ) 3 5 (2m-1) 所以可以得到它们的近似计算公式,如下 3 x sin x≈x- 3! 2 x cos x≈ 1- 2! 将上面的x换成arccosx,cosx换成x得到 2 arccos x x≈ 1- 2! 最后得到 arc cos x= 2!(1-x) = 2(1-x) (a) 2 2 因为sin x+cos x=1 所以 2 sinx= 1-cos x 用sinx替换上式中的cosx,arcsinx替换arcsinx,上式(a)可以改写为 2 arc sin x= 2(1- 1- x ) 通过近似公式得到 3 x arctg x≈x- 3 1 arcctg x≈ 3 x x- 3 3 x 4 tg x≈x+ +o(x ) 3 1 ctg x≈ 3 x 4 x+ +o(x ) 3 例如计算sinx的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信号 2 2 x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用乘法器将x 和x相 3 3 乘得到x 。再用除法器将x 除以6,最后用减法器将x减去它们相除的结果,就得到sinx的电压值。这样就达到计算sinx的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的sinx的数值大小。 3 x sin x≈x- 3! 3 x sin x≈x- 6 例如计算cosx的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信号 2 2 x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x 。再用除法器将x 除以2,最后用减法器将1减去它们相除的结果,就得到sinx的电压值。这样就达到计算sinx的目的。数值1是用稳压电源产生一个DC1V的电压,电流保持100mA不变的信号,电压1V就表示数字1.最后用电压表测量输出的电压,电压的大小就是经过计算得到的cosx的数值大小。 2 x cos x≈ 1- 2! 2 x cos x≈ 1- 2 例如计算arctg x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信 2 2 号x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用乘法器将x 和x 3 3 相乘得到x 。再用除法器将x 除以3,最后用减法器将x减去它们相除的结果,就得到arctg x的电压值。这样就达到计算arctg x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的arctg x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 3 x arctg x≈x- 3 例如计算arcctg x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信 2 2 号x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用乘法器将x 和x 3 3 相乘得到x 。再用除法器将x 除以3,在用减法器将x减去它们相除的结果,最后用除法器将1除以上面减法器得到的差就得到arcctg x的电压值。这样就达到计算arcctg x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的arcctg x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 1 arcctg x≈ 3 x x- 3 例如计算tg x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信 2 2 号x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用乘法器将x 和x 3 3 相乘得到x 。再用除法器将x 除以3,最后用加法器将x和它们相除的结果相加,就得到tg x的电压值。这样就达到计算tg x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的tg x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 3 x tg x≈x+ 3 例如计算ctg x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的信 2 2 号x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用乘法器将x 和x 3 3 相乘得到x 。再用除法器将x 除以3,再用加法器将x和它们相除的结果相加,最后用除法器将1除以上面加法器得到的和就得到ctg x的电压值。这样就达到计算ctg x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的ctg x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 1 ctg x≈ 3 x x+ 3 例如计算arc cos x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的 信号x,x的数值就是信号源的电压,再用减法器将1减去x得到1-x ,再用乘法器将2和 1-x相乘得到2(1-x)。最后用开方器开方就得到arc cos x的电压值。这样就达到计算arc cos x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的arc cos x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 arc cos x= 2!(1-x) = 2(1-x) (a) 例如计算arc sin x的值,首先用稳压电源产生一个不断变化电压,电流保持100mA不变的 2 信号x,x的数值就是信号源的电压,再用乘法器将x乘以x得到x ,再用减法器将1和 2 2 x 相减得到1-x 。在用开方器开方,再用减法器将1减去上面开方的结果,再用乘法器讲2和上面减法器得到的差相乘,最后用开方器开方上面乘法器得到的结果,就得到arc sin x的电压值。这样就达到计算arc sin x的目的。最后用电压表测量输出的电压,电压的大小就是经过计算得到的arc sin x的数值大小。注意在计算过程中要保持电流大小不变始终是100mA。 2 arc sin x= 2(1- 1- x ) 上面的加法器,减法器,乘法器,除法器,开方器,都可以用集成运算放大器的相关电路产生,具体资料可查网址 链接:https://pan.baidu.com/s/1YK7Wi8NCDCvK4ALDx9FeYg 提取码:kprc, https://share.weiyun.com/gUP1oT2A, https://share.weiyun.com/NUY0gxRg, , 上面公式的模拟计算机电路如下图所示: 用六分仪计算经纬度的方法 1.六分仪可以测量太阳高度角,太阳和空间x,y,z三个方向的夹角。下面介绍通过已知一点和x,y,z轴方向的夹角,计算得到这点在地球上的经纬度的方法。 2.已知地球上两点A,B和太阳在空间x,y,z轴上的三个夹角。 3.现将太阳放在空间坐标系的原点,A,B两点和x,y,z轴的夹角α1,β1,γ1,α2,β2,γ2,都可以通过六分仪测量出来。z轴的正方向是南方,y轴的正方向是垂直地球表面向上,x轴的正方向是东方。 如下图1所示: z 地球 γ1 β1 太阳 O γ1 y α1 β2 α2 x 图1a z γ1 地球 β1 太阳 O y α1 x 图1b z 地球 太阳 O γ2 y α1 β2 x 图1c 根据空间解析几何相关定理可知, 详细内容可参见高等教育出版社《高等数学》盛祥耀主编1993年版。 2 2 2 cos α1+cos β1+cos γ1 =1 又因为OA和OB长度相等,如下图所示 z A 地球 α1-π β1 太阳 O y x2 B α2 x 图1d A点坐标(x1,y1,z1),B点坐标为(x2,y2,z2), A点纬度w1,经度s1,B点纬度w2,经度s2, |OA|=|OB|, 所以 x1 |OA|= 当π>α>π/2时 cos(α1-π/2) x1 |OA|= 当3π/2>α>π时 cos(α1-π) x1 |OA|= 当2π>α>3π/2时 cos(α1-3π/2) x1 |OA|= 当0<α<π/2时 cos α1 x2 |OB|= 当π>α2>π/2时 cos(α2-π/2) x2 |OB|= 当3π/2>α2>π时 cos(α2π) x2 |OB|= 当2π>α2>3π/2时 cos(α2-3π/2) x2 |OB|= 当0<α2<π/2时 cos α2 所以 x1 x2 = cos α1 cos α2 同理可知 y1 y2 = cos β1 cos β2 z1 z2 = cos γ1 cos γ2 当A点坐标已知,A,B两点和坐标轴的夹角已知,可求得B点的坐标. cos α2 x2 = x1 cos α1 cos β2 y2 = y1 cos β1 cos γ2 z1 = z1 cos γ1 纬度的正切值等坐标点中的z/y z tgw = y z w=arctg y 在地球的经度s, 经度的正切值等坐标点中的x/y. x tgs = y x s=arctg y 通过上面的公式就可以将坐标纸转化为经纬度, 设A点纬度w1,经度s1,B点纬度w2,经度s2. 所以, B点的经纬度可以表示为 cos α2 x2 = tgs1 *y1 cos α1 cos β2 x1 y2 = * cos β1 tgs1 cos γ2 z2 = tgw1 *y1 cos γ1 z2 tgw2 = y2 cos γ2 tgw1 *y1 cos γ1 = cos β2 x1 * cos β1 tgs1 cos γ2 cos β1 = * *tgw1 cos γ1 cos β2 B点的纬度为 cos γ2 cos β1 w2=arctg[ * *tgw1] cos γ1 cos β2 因为 x2 tgs2 = y2 cos α2 tgs1 *y1 cos α2 = cos β2 x1 * cos β1 tgs1 cosα2 cos β1 = * *tgs1 cosα1 cos β2 B点的经度为 cosα2 cos β1 s2=arctg[ * *tgs1] cosα1 cos β2 又因为OA和OB在xoy平面的投影OA`,OB`,如下图2所示 z A 地球 γ1 β1 太阳 γ1` O γ2 A` y A1` γ2` B B1` α2 B` x 图2a z A 地球 γ1 γ1` 太阳 O α1 A` y A1` x 图2a z 地球 太阳 O γ2 y α2 γ2` B B1` B` x 图2c 由上图可知, γ1`=π/2-γ1, γ2`=π/2-γ2, |OA`|=|OA|cosγ1`,|OB`|=|OB|cosγ2`, |OA1`|=|OA|cosα1, |OB1`|=|OB|cosα2, |AA1`|=|OA|sin α1, |BB1`|=|OB|sin α2, |AA`|=|OA|sin γ1`,|BB`|=|OB|sin γ2`, 2 2 A`A1`= |AA1`| -|AA`| 2 2 = (|OA|sin α1) -(|OA|sin γ1`) 2 2 B`B1`= |BB1`| -|BB`| 2 2 = (|OB|sin α2) -(|OB|sin γ2`) 2 2 OA1`= |OA`| -|A`A1`| 2 2 2 OA1`= (|OA|cosγ1`) -(|OA|sin α1) +(|OA|sin γ1`) 2 2 2 2 x1 = (|OA|cosγ1`) -(|OA|sin α1) +(|OA|sin γ1`) 2 2 OB1`= |OB`| -|B`B1`| 2 2 2 OB1`= (|OB|cosγ2`) -(|OB|sin α2) +(|OB|sin γ2`) 2 2 2 2 x2 = (|OB|cosγ2`) -(|OB|sin α2) +(|OB|sin γ2`) 2 2 2 x1 (|OA|cosγ1`) -(|OA|sin α1) +(|OA|sin γ1`) = 2 2 2 x2 (|OB|cosγ2`) -(|OB|sin α2) +(|OB|sin γ2`) 因为|OA|=|OB| 2 2 2 x1 (cosγ1`) -(sin α1) +(sin γ1`) = 2 2 2 x2 (cosγ2`) -(sin α2) +(sin γ2`) 2 2 2 (cosγ2`) -(sin α2) +(sin γ2`) x2 = x1 2 2 2 (cosγ1`) -(sin α1) +(sin γ1`) 同理,可求得 2 2 2 (cosα2`) -(sin β2) +(sin α2`) y2 = y1 2 2 2 (cosα1`) -(sin β1) +(sin α1`) 2 2 2 (cosβ2`) -(sin γ2) +(sin β2`) z2 = z1 2 2 2 (cosβ1`) -(sinγ1) +(sin β1`) 所以已知A,B两点和坐标轴的夹角,其中一个点的坐标,可以求得另外一个点的坐标. 在实际中,通过六分仪可以测量出地球两点和太阳在三个坐标轴的夹角,已知起始点的经纬度,把经纬度换三成坐标系里面的坐标。就可以求到未知点的坐标,在换算成经纬度. 这样就达到通过六分仪测量未知点经纬度的目的, 同时,还可以将上面的太阳换成月亮,北斗星,通过六分仪也可以测量未知点的经纬度, 还可以在AB两点利用无线电定位仪测量,它们和信号源之间沿x,y,z轴的夹角. 这和六分仪测量的夹角一样,也可以用来确定未知点的坐标. 要在同一时间测量,A,B两点和太阳连线延x,y,z坐标轴的夹角。因为,太阳是不断运动的,所以不同时间在同一位置测量的夹角是不同的。因为,太阳是不断运动的,所以不同时间在同一位置测量的夹角是不同的。如果是不同时间测量的A,B两点的太阳夹角,就要加上校正参数,这要查该年的《天文年历》。纬度的正切值等坐标点中的z/y。 z tgw = y z w=arctg y 在地球的经度s, 经度的正切值等坐标点中的x/y, x tgs = y x s=arctg y 通过上面的公式就可以将坐标纸转化为经纬度, 所以, B点的经纬度可以表示为 2 2 2 (cosγ2`) -(sin α2) +(sin γ2`) x2 = tgs1 *y1 2 2 2 (cosγ1`) -(sin α1) +(sin γ1`) 2 2 2 (cosα2`) -(sin β2) +(sin α2`) x1 y2 = * 2 2 2 (cosα1`) -(sin β1) +(sin α1`) tgs1 2 2 2 (cosβ2`) -(sin γ2) +(sin β2`) z2 = *tgw1 *y1 2 2 2 (cosβ1`) -(sinγ1) +(sin β1`) 因为 z2 tgw2 = y2 2 2 2 (cosβ2`) -(sin γ2) +(sin β2`) *tgw1 *y1 2 2 2 (cosβ1`) -(sinγ1) +(sin β1`) = 2 2 2 (cosα2`) -(sin β2) +(sin α2`) x1 * 2 2 2 (cosα1`) -(sin β1) +(sin α1`) tgs1 2 2 2 2 2 2 (cosβ2`) -(sin γ2) +(sin β2`) (cosα1`) -(sin β1) +(sin α1`) * *tgw1 2 2 2 2 2 2 (cosβ1`) -(sinγ1) +(sin β1`) (cosα2`) -(sin β2) +(sin α2`) B点的纬度为 2 2 2 2 2 2 (cosβ2`) -(sin γ2) +(sin β2`) (cosα1`) -(sin β1) +(sin α1`) w2=arctg[ * *tgw1 2 2 2 2 2 2 (cosβ1`) -(sinγ1) +(sin β1`) (cosα2`) -(sin β2) +(sin α2`) 因为 x2 tgs2 = y2 2 2 2 (cosγ2`) -(sin α2) +(sin γ2`) *tgs1 *y1 2 2 2 (cosγ1`) -(sin α1) +(sin γ1`) = 2 2 2 (cosα2`) -(sin β2) +(sin α2`) x1 * 2 2 2 (cosα1`) -(sin β1) +(sin α1`) tgs1 2 2 2 2 2 2 (cosγ2`) -(sin α2) +(sin γ2`) (cosα1`) -(sin β1) +(sin α1`) * *tgs1 2 2 2 2 2 2 (cosγ1`) -(sin α1) +(sin γ1`) (cosα2`) -(sin β2) +(sin α2`) B点的经度为 2 2 2 2 2 2 (cosγ2`) -(sin α2) +(sin γ2`) (cosα1`) -(sin β1) +(sin α1`) s2=arctg[ * *tgs1] 2 2 2 2 2 2 (cosγ1`) -(sin α1) +(sin γ1`) (cosα2`) -(sin β2) +(sin α2`) 已知AB两点的坐标,计算两点的经纬度 以地球为原点建立坐标系,这个坐标系的三个坐标轴和原来以太阳为原点的坐标系的三个坐标轴相互平行, 如图3所示 z z1 A 地球 w o1 y1 太阳 O A` y A1` B B1` B` x1 x 图3a z z1 A 地球 o1 s x y1 太阳 y O A` y A1` B B1` B` x1 x 图3b 在原来以太阳为原点的坐标系的坐标,可看成是以地球为原点坐标系中的坐标。以太阳为原点的坐标系中的坐标除以固定的比例值,就等于以地球为原点的坐标系中的坐标。所以可以将以太阳为原点的坐标系中的坐标,直接看成以地球为坐标系中的坐标。 在地球的纬度w。纬度的正切值等坐标点中的z/y。 z tgw = y z w=arctg y 在地球的经度s, 经度的正切值等坐标点中的x/y。 x tgs = y x s=arctg y 通过上面的公式就可以将坐标纸转化为经纬度。 同时,通过两个的坐标值还可以求出各点的高度值。上面假设的A,B两点都是在地球表面的两个点。下面假设C点在地球表面,坐标已知,D点在地球上方,坐标未知。CD两点和太阳的延三个坐标轴的夹角都可以通过六分仪测量出来。如下图4所示。 z z1 C 地球 w o1 y1 太阳 x3 O A` y3 y a D D` x1 x 图4a 从上图可以看出,D点在地球上面的投影D`点在O1D上面, 也就是说,D,D`,O1三个点在一条直线上, 所以a=∠OD`D是直角。OD`是OC在平面xoy上面的投影,C点坐标(x3,y3,z3),和x,y,z轴的夹角α3,β3,γ3,D点坐标(x4,y4,z4),和x,y,z轴的夹角α4,β4,γ4。所以 2 2 2 OD` = x3 +y3 2 2 2 2 OD =x4 +y4 +z4 2 2 2 DD` =OD -OD` 2 2 2 2 2 2 DD` =x4 +y4 +z4 -x3 -y3 可以通过六分仪测量出该点和三个坐标轴的夹角,再将其转化为坐标。在坐标系下一点的坐标为(x,y,z)。这点和三个坐标轴的夹角分别为α,β,γ。设这点和坐标原点的距离是r, x=rcosα,y=rcosβ,z=rcosγ, 可以假设r=1,那么x=cosα,y=cosβ,z=cosγ, 在图4中r是地球的半径,此时以地球为原点的坐标系,所以求得位置点距地面高度DD`如下, 2 2 2 2 2 2 DD` =r(cosα4 +cosβ4 +cosγ4 -cosα3 -cosβ3 ) 2 2 2 2 2 DD` = r(cosα4 +cosβ4 +cosγ4 -cosα3 -cosβ3 ) 上面的介绍如下图所示 三角函数波形也可以通过振荡电路产生,下面介绍三角函数波形计算电路,这个电路通过调整电位器的阻值,可以产生任意一个sinx,cox函数值,电位器的阻值代表x,输出的电压信号代表sinx,或cosx,它的电路如下图所示 电路图如下 对数函数计算电路 幂函数计算电路 下面介绍计算纬度的电路, 1.上面电路实现的功能是计算下面等式 cos γ2 cos β1 w2=arctg[ * *tgw1] cos γ1 cos β2 2.当电路前端输出电压值DCγ2V,DCγ1V,DCβ1V,DCβ2V,DCw1V时,电路经过计算得到函数值w2 3.上述电路就实现了通过A点纬度,A,B两点和太阳的夹角,计算B点纬度的功能 上面电路是用乘法器除法器,将余弦计算电路,正切计算电路所得的结果按上述等式相乘或相除,最后用反正切计算电路得到纬度值。它的电路如下图所示 下面介绍计算经度的电路 1.上面电路实现的功能是计算下面等式 cosα2 cos β1 s2=arctg[ * *tgs1] cosα1 cos β2 2.当电路前端输出电压值DCα2V,DCβ1V,DCs1V,DCα1V,DCβ2V时,电路经过计算得到函数值s2 3.上述电路就实现了通过A点经度,A,B两点和太阳的夹角,计算B点经度的功能。 上面电路是用乘法器除法器,将余弦计算电路,正切计算电路所得的结果按上述等式相乘或相除,最后用反正切计算电路得到经度值。它的电路如下图所示 下面介绍计算高度的电路, 1.上面电路实现的功能是计算下面等式 2 2 2 2 2 DD` = r(cosα4 +cosβ4 +cosγ4 -cosα3 -cosβ3 ) 2.当电路前端输出电压值DCα4V,DCβ4V,DCγ4V,DCα3V,DCβ3V,DCrV时,电路经过计算得到函数值DD`。 3.上述电路就实现了通过A点经度,A,B两点和太阳的夹角,计算B点经度的功能。 上面电路是用乘法器除法器,将余弦计算电路,正切计算电路所得的结果按上述等式相乘或相除,最后用开方计算电路得到高度值。它的电路如下图所示 下面介绍计算校正经纬度计算的电路, 、1.上面电路实现的功能是计算下面等式 cos γ2 cos β1 w2=arctg[ * *tgw1] cos γ1 cos β2 2 2 2 cos α1+cos β1+cos γ1 =1 2.下面的公式是校正公式,把它加到电路中,防止电路产生错误计算 2 2 2 cos α1+cos β1+cos γ1 =1 3.当第二个公式电路计算输出电压是DC1V时证明计算正确,负责调整电路电位器使输出电压为DC1V。 当电路输出1V是证明计算准确,负责需要调整电位器 下面介绍泰勒公式的推导 第一部分三角函数模拟计算机电路介绍 第二部分使用六分仪测量经纬度的三角函数法 第三部分,模拟三角函数计算机公式介绍 函数为常数的条件 推导出反三角函数的计算公式 用模拟计算机计算开方,看参考拉格郎奇公式中的近似公式的推导 |
| 发帖须知: 1,发帖请遵守《计算机信息网络国际联网安全保护管理办法》、《互联网信息服务管理办法》、 《互联网电子公告服务管理规定》、《维护互联网安全的决定》等法律法规。 2,请对您的言论负责,我们将保留您的上网记录和发帖信息。 3,在此发帖表示认同我们的条款,我们有权利对您的言论进行审核、删除或者采取其他在法律、地方法规等条款规定之内的管理操作。 |