gpt4 book ai didi

c - Matlab中C语言的函数过滤器

转载 作者:行者123 更新时间:2023-11-30 17:21:46 27 4
gpt4 key购买 nike

我想为matlab过滤器编写c代码,但我没有得到相同的结果;第一个成员是正确的,但之后就不是了。我不知道出了什么问题。

void convolve(const double b[], size_t b_Len,
const double h[], size_t h_Len,
double result[],
const double a[])
{
int i,j;
result[0]=b[0]*h[0];
for (i=1;i<h_Len+1;i++)
{
result[i]=0;
for (j=0;j<i+1;j++)
result[i]=result[i]+b[j]*h[i-j];
for (j=0;j<i;j++)
result[i]=result[i]-a[j+1]*result[i-j-1];
}

最佳答案

最后这是我的代码:

#include <stdio.h>
#include <stdlib.h>

#include "coef_b.h"
extern double x[];

#define NN 48
#define MM 13
float a=1;
double result [NN];

void convolve(const real64_T b[],
const double x[],
double result[],
const float a)
{
FILE *f;
int i,j,l,k;
double temp[96]={0};

for(i=0;i<48;i++)
temp[48+i]=x[i];

for(j=48;j<96;j++)
{
for(l=0;l<13;l++)
result[j-48]=result[j-48]+temp[j-l]*b[l];
}

f =fopen("super_result.dat","w");
for (k = 0; k<48; k++)
{
fprintf(f,"%lf\n",result[k]);
}
fclose(f);
return;
}


int main(void)
{
convolve(B,
x,
result,
a);

return 0;
}

关于c - Matlab中C语言的函数过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28202827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com