📄 juanji.cpp
字号:
/*-------------------------------------------*
* 离散卷积 *
*-------------------------------------------*/
#include<stdio.h>
float convolute(float* f, /*离散单边信号f的序列表示*/
float* g, /*离散单边信号g的序列表示*/
unsigned int k, /*卷积的自变量*/
const int length /*信号的序列长度,本例子假设为10*/
)
{
unsigned int n = 0;
float sum = 0; /*累加的结果,最终作为返回值返回*/
if( k > length )
{
k = length;
}
for( n = 0 ; n != k ; n++ ) /*卷积公式*/
{
sum+=( f[n]*g[k-n] );
}
return sum;
}
int main()
{
float f[10] = {3,5,4,6,9,8,7,4,5,12}; /*离散单边信号f的序列表示*/
float g[10] = {2,5,1,3,6,8,7,8,2,22}; /*离散单边信号g的序列表示*/
float convolution = 0; /*该变量用于存储卷积的结果*/
unsigned int k = 0; /*卷积的自变量*/
printf( "lease input the value of k to convolute\n" );/*输入卷积自变量*/
scanf( "%d", &k );
convolution = convolute( f, g, k ,10); /*调用函数计算卷积公式*/
printf( "\nThe result: %f", convolution ); /*输出结果*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -