C语言怎么编写正弦波
答案:2 悬赏:50
解决时间 2021-02-13 11:29
- 提问者网友:白越
- 2021-02-13 06:31
C语言怎么编写正弦波
最佳答案
- 二级知识专家网友:疯山鬼
- 2021-02-13 07:33
#include
#include
#include
#define PI 3.14159
void main()
{
double x,y,dt=1.0/2/PI*0.01;
int sx,sy,i;
int gdrver=VGA, gmode=2;
initgraph(&gdrver,&gmode,"d:\\bc4\\bgi");
cleardevice();
setbkcolor(BLACK);
setcolor(WHITE);
x=dt; y=sin(dt);
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
line(0,240,sx,sy);
for(i=1;i<100;i++)
{
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
lineto(sx,sy);
}
getch();
}
d:\\bc4\\bgi为图形驱动程序的所在位置,根据你的TC目录来定。
#include
#include
#define PI 3.14159
void main()
{
double x,y,dt=1.0/2/PI*0.01;
int sx,sy,i;
int gdrver=VGA, gmode=2;
initgraph(&gdrver,&gmode,"d:\\bc4\\bgi");
cleardevice();
setbkcolor(BLACK);
setcolor(WHITE);
x=dt; y=sin(dt);
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
line(0,240,sx,sy);
for(i=1;i<100;i++)
{
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
lineto(sx,sy);
}
getch();
}
d:\\bc4\\bgi为图形驱动程序的所在位置,根据你的TC目录来定。
全部回答
- 1楼网友:青灯壁纸妹
- 2021-02-13 08:37
以经验看来你是要做单片机方面波形输出,dac输出,或者做模拟示波器什么的。
有两种办法:
一是查表法,优点是计算量少,占用ram少,算法简单,缺点是占用储存内存较多,参数比较固定。
查表法的基本思路就是,通过把sin函数进行采样,得到的值记录成一个表,将表以数组的形式放在程序中,通过循环读取数组的值达到查表的目的。
二是计算值法,优缺点跟查表法恰好相反。
计算值法的基本思路是通过特定算法,将特定时间所需的特定值计算出来。
这里给你提供一个计算值法的核心代码,作为指导建议,根据实际情况修调。
double sinwave(double scale,int cycle_time)
{
int a;
double pi = 3.1416;
int resolution_ratio = 100;//分辨率,描述采样量,越高的分辨率计算越多
for(a=0;a
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯