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

📄 d12r6.cpp

📁 VC++常用数据算法集,里面包含了大量的常用算法程序,很有用的哟!
💻 CPP
字号:
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
#include <stdlib.h>
#include <fstream.h>
#include <string>
#include <process.h>
#include<stdio.h>

void main()
{
    //program d12r6
    //driver for routine convlv
	int n,n2,m,i,j,isign;
	double data[17], respns[10], resp[17], ans[34],cmp;
    n = 16;
    n2 = 34;
    m = 9;
    const double pi = 3.1415926;   
    for (i = 1; i<=n; i++)
	{
        data[i] = 0.0;
        if (i >= (n / 2 - n / 8) && i <= (n / 2 + n / 8))
		{
            data[i] = 1.0;
        }
    }
    cout<<endl;
    for( i = 1; i<=m; i++)
	{
        respns[i] = 0.0;
        if (i > 2 && i < 7) 
			respns[i] = 1.0;
        resp[i] = respns[i];
    }
    isign = 1;
    convlv(data, n, resp, m, isign, ans);
    //compare with a direct convolution
    cout<<"   i       convlv       expected"<<endl;
    for( i = 1; i<=n; i++)
	{
        cmp = 0.0;
        for (j = 1; j<=m / 2; j++)
		{
          cmp=cmp+data[((i-j-1+n) % n)+1] * respns[j + 1];
          cmp=cmp+data[((i+j-1) % n)+ ] * respns[m - j + 1];
        }
        cmp = cmp + data[i] * respns[1];
        cout<<setw(4)<<i;
        cout<<setprecision(6)<<setw(14)<<ans[i];
		cout<<setiosflags(ios::fixed);
        cout<<setprecision(6)<<setw(14)<<cmp<<endl;
    }
}

⌨️ 快捷键说明

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