资源描述
#includefloat 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+=( fn*gk-n );return sum;int main()float f10 = 3,5,4,6,9,8,7,4,5,12; /*离散单边信号 f 的序列表示*/float g10 = 2,5,1,3,6,8,7,8,2,22; /*离散单边信号 g 的序列表示*/ float convolution = 0; /*该变量用于存储卷积的结果*/unsigned int k = 0; /*卷积的自变量*/ printf( Please input the value of k to convoluten ); scanf( %d, &k );convolution = convolute( f, g, k ,10); printf( nThe result: %f, convolution ); return 0;
展开阅读全文