将MATLAB中程序改成C语言程序,运行结果总是不正确,求大神帮助 15
matlab程序如下functiont_x=rs_encode(m_xi,nn,kk,gx)%T=[1,2,4,8,16,5,10,20,13,26,17,7,14,28...
matlab程序如下
function t_x=rs_encode(m_xi,nn,kk,gx)
%T=[1,2,4,8,16,5,10,20,13,26,17,7,14,28,29,31,27,19,3,6,12,24,21,15,30,25,23,11,22,9,18];
%n=31;
%k=25;
%m=5;
%gx=[24,30,27,30,26,17,1];
r=zeros(1,6); %返回一个1*6矩阵
for i=25:-1:1
feedback=rs_add(m_xi(i),r(nn-kk));
for j=6:-1:2
if(gx(j)~=0)
r(j)=rs_add(r(j-1),rs_mul(gx(j),feedback));
else
r(j)=r(j-1);
end
end
r(1)=rs_mul(gx(1),feedback);
end
t_x=r[1:6];
只是一部分
C语言改的程序如下
int main()
{
int a,b,d,f,feedback;
int c[31]={1};
int gx[7]={24,30,27,30,26,17,1};
int r[6]={0,0,0,0,0,0};
for(a=0;a<=24;a++)
{c[a+1]=c[a]+1;
}
for(b=24;b>0;b--)
{
feedback=ADD(c[b],r[5]);
for(d=5;d>1;d--)
{if (gx[d]!=0)
r[d]=ADD(r[d-1],MUL(gx[d],feedback));
else
r[d]=r[d-1];
}
r[0]=MUL(gx[0],feedback);}
for (f=0;f<6;f++)
{ printf("%d\n",r[f]);
}
return 0;
}
求大神指点哪里出了问题 展开
function t_x=rs_encode(m_xi,nn,kk,gx)
%T=[1,2,4,8,16,5,10,20,13,26,17,7,14,28,29,31,27,19,3,6,12,24,21,15,30,25,23,11,22,9,18];
%n=31;
%k=25;
%m=5;
%gx=[24,30,27,30,26,17,1];
r=zeros(1,6); %返回一个1*6矩阵
for i=25:-1:1
feedback=rs_add(m_xi(i),r(nn-kk));
for j=6:-1:2
if(gx(j)~=0)
r(j)=rs_add(r(j-1),rs_mul(gx(j),feedback));
else
r(j)=r(j-1);
end
end
r(1)=rs_mul(gx(1),feedback);
end
t_x=r[1:6];
只是一部分
C语言改的程序如下
int main()
{
int a,b,d,f,feedback;
int c[31]={1};
int gx[7]={24,30,27,30,26,17,1};
int r[6]={0,0,0,0,0,0};
for(a=0;a<=24;a++)
{c[a+1]=c[a]+1;
}
for(b=24;b>0;b--)
{
feedback=ADD(c[b],r[5]);
for(d=5;d>1;d--)
{if (gx[d]!=0)
r[d]=ADD(r[d-1],MUL(gx[d],feedback));
else
r[d]=r[d-1];
}
r[0]=MUL(gx[0],feedback);}
for (f=0;f<6;f++)
{ printf("%d\n",r[f]);
}
return 0;
}
求大神指点哪里出了问题 展开
1个回答
2015-05-13
展开全部
有没有加#include<xxxx.h>
更多追问追答
追问
我只截取了程序的一部分啊,程序可以运行,结果不正确
追答
下面的改下试试
int gx[7]={24,30,27,30,26,17,1}; 改8
int r[6]={0,0,0,0,0,0}; 改7
在重新编译运行看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询