zheji.cpp

来自「超级简单的求两组离散数据的褶积的算法」· C++ 代码 · 共 48 行

CPP
48
字号
# include <math.h>
# include <stdio.h>

# define N 3
# define M 3

void npmul(double [],int  ,double [],int ,double [],int );
//多项式乘积的程
void zheji(double [],int ,double [],int ,double [], int );
//这是一个求褶积的程序,调用了npmul().

void main()
{
	double x[M]={1,-1,-0.5};
	double h[N]={1,0.5,-0.5};
	double y[M+N-1]={0};
	
    
	zheji(x,M,h,N,y,N+M-1);
	for(int i=0;i<N+M-1;i++)
		printf(" y[%d]=%f\n",i,y[i]);
	printf("ok\n");
   
}


void zheji(double x[],int m,double h[],int n, double y[],int mn)
//这是一个求褶积的程序  mn=m+n-1
{
   
	npmul(x,m,h,n,y,mn);

}
	


void npmul(double p[],int m ,double q[],int n,double s[],int k)
      //多项式相乘的子程序,k=m+n-1.
{
   	int i,j;
    for (i=0; i<=k-1; i++)
		s[i]=0.0;
    for (i=0; i<=m-1; i++)
		for (j=0; j<=n-1; j++)
			s[i+j]=s[i+j]+p[i]*q[j];
    return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?