⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 juanji.cpp

📁 用C++实现的卷积公式 适合刚刚研究卷积公式的人使用
💻 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 + -