C语言提取已知心率信号x的高频分量,低频分量,标准差值与均方根差值的完整代码,能在devc++上运行
时间: 2024-03-23 13:36:43 浏览: 26
以下是一个简单的示例代码,用于提取已知心率信号x的高频分量,低频分量,标准差值和均方根差值:
```c
#include <stdio.h>
#include <math.h>
#define N 100 // 信号长度
int main()
{
int i;
double x[N], low_freq = 0.0, high_freq = 0.0, std_dev = 0.0, rms = 0.0;
double mean = 0.0, var = 0.0;
// 读入信号
for (i = 0; i < N; i++) {
scanf("%lf", &x[i]);
mean += x[i];
}
mean /= N;
// 计算低频和高频分量
for (i = 0; i < N; i++) {
if (i < N/2) {
low_freq += x[i];
} else {
high_freq += x[i];
}
}
// 计算标准差和均方根差值
for (i = 0; i < N; i++) {
var += pow(x[i] - mean, 2);
rms += pow(x[i], 2);
}
var /= N;
std_dev = sqrt(var);
rms /= N;
rms = sqrt(rms);
// 输出结果
printf("Low frequency component: %lf\n", low_freq);
printf("High frequency component: %lf\n", high_freq);
printf("Standard deviation: %lf\n", std_dev);
printf("RMS: %lf\n", rms);
return 0;
}
```
你可以在 Dev-C++ 中创建一个新的控制台应用程序项目,将上面的代码复制并粘贴到 main 函数中,然后编译和运行该程序。请注意,为了运行此程序,你需要输入100个心率信号值。
阅读全文