resp example.c

来自「自己编的数值计算方法的c语言实现源程序。」· C语言 代码 · 共 28 行

C
28
字号
#include"stdio.h"
#include"resp.c"
/*数字滤波器由H1(z)、H2(z)级联,求该滤波器的单位阶跃响应。*/
void main()
{	int i,m1,m2,n1,n2,lx,ly;
	double y[100],z[100];
	double x[2]={1.0,1.0};  /*输入u(n);*/
	double b[2]={0.05,-0.1},a[3]={1.0,-0.95,0.9};/* H1(z)=(0.05-0.1z^-1)/(1-0.95z^-1+0.9z^-2) */
	double d[1]={0.2},c[2]={1.0,-0.8};/* H2(z)=0.2/(1-0.8z^-1) */
	FILE *fp;
	lx=2;
	ly=100;
	m1=1;n1=2; /*H1(z)分子分母多项式阶数*/
	m2=0;n2=1;/*H2(z)分子分母多项式阶数*/

	if(( fp=fopen("resp.txt","w"))==NULL)
	{	printf("cannot open file 'resp.txt'!\n");
		exit(0);
	}
	/*用resp()函数两次;*/
	resp(x,y,lx,ly,b,a,m1,n1);
	resp(y,z,ly,ly,d,c,m2,n2);
	for(i=0;i<ly;i++)
	{	fprintf(fp,"%lf ",z[i]);
	}
	fclose(fp);
}

⌨️ 快捷键说明

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