?? d12r6.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 + -