C语言测量正弦波峰峰值的程序
时间: 2023-05-16 16:06:13 浏览: 178
以下是一个用C语言测量正弦波峰峰值的程序:
```c
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
int main()
{
double amplitude, peak_to_peak;
double samples[1000];
int i, num_samples;
// 读取采样数据
printf("请输入采样数据的数量:");
scanf("%d", &num_samples);
printf("请输入采样数据:");
for (i = 0; i < num_samples; i++) {
scanf("%lf", &samples[i]);
}
// 计算峰峰值
double max = samples[0], min = samples[0];
for (i = 1; i < num_samples; i++) {
if (samples[i] > max) {
max = samples[i];
}
if (samples[i] < min) {
min = samples[i];
}
}
peak_to_peak = max - min;
amplitude = peak_to_peak / 2;
printf("峰峰值为:%lf\n", peak_to_peak);
printf("振幅为:%lf\n", amplitude);
return 0;
}
```
这个程序首先读取采样数据,然后计算出最大值和最小值,从而得到峰峰值和振幅。注意,这个程序假设输入的是一个完整的正弦波周期的采样数据。如果输入的数据不是一个完整的周期,那么计算出来的峰峰值和振幅可能会有误差。
阅读全文