高分悬赏!急求!三角波,锯齿,正弦波,脉冲的C语言程序代码,不要单片机方面的,纯C的!

如题,就是在VC里面可以编译通过,谢谢... 如题,就是在VC里面可以编译通过,谢谢 展开
 我来答
L_o_o_n_i_e
2008-06-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5202万
展开全部
正弦波输入 振幅,频率,时戚销步,相位
三角波锯齿波输入 振幅,坡1宽,坡2宽,无波高旦游宽,时步
三角波 w1=w2, 锯齿波 w1 != w2.
程序没有考虑时间 宽度w1=0 或 w2 =0,如果等于0,请给一个非0值,例如 0.0000001.

脉冲方波,请自己模仿三角波程序计算。w期间等于amp,flat_t期间等于0.

#include <stdio.h>
#include <math.h>

void main()
{
double y[2048];
double pi,r;
double amp,f,phi,dt,t,x;
double w,flat_t,slop1,slop2,L,w1,w2;
int flag_w1=0,flag_w2=0;
long int i;
int N=2048;
char str[5];

pi = atan(1.0) * 4.0;

fprintf(stderr,"Enter sin or tri\n");
scanf("%s",&str[0]);

if ( strncmp(str,"sin",3) == 0)
{
fprintf(stderr,"enter Amp Hz delta_t phase\n");
fprintf(stderr,"for example: 1.0 10.0 0.001 1.414\n");

scanf("%lf %lf %lf %lf",&,&f,&dt,&phi);
for (i=0;i<N;i++) y[i]= amp * sin(2.0*pi * f * dt * i + phi );

for (i=0;i<N;i++) fprintf(stdout,"%lf\n",y[i]);
exit(0);
};

fprintf(stderr,"enter Amp w1 w2 flat_t dt\n");
fprintf(stderr,"for example: 1. 1. 1. 1. 0.01 \n");
scanf("%lf %lf %lf %lf %lf",&,&w1,&w2,&flat_t,&dt);
w = w1+w2;
L = w + flat_t;
slop1 = amp / w1;
slop2 = -amp / w2;

for (i=0;i<N;i++)
{
t = dt * (double) i;
x = t - L * (double) ( (int) (t / L));
if (x >= 0.0 && x <= w1) y[i] = slop1 * x;
if (x >迟返 w1 && x < w ) y[i] = amp + slop2 * (x - w1);
if (x >= w && x <= L ) y[i] = 0.0;
}

for (i=0;i<N;i++) fprintf(stdout,"%lf\n",y[i]);
exit(0);

}
太真醒C
2008-06-04 · TA获得超过3059个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:566万
展开全部
笑话,没有硬件支持,怎么产生?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式