[求助]关于一个M函数的问题
因为本人初接触MATLAB,请大家帮帮我看看以下的问题:
function a=ysbm(b,y)%压缩、线形编码,b为编码位数,y为输入值
a=y/(2^(b+3)-1);%将y做归一化处理,最大编码电平为(2^(b+3)-1)
A=87.6%压缩变换
A1=1+log(A);
if a>=0
if a<=1/A
y1=(A*a)/A1;
else y1=(1+log(A*a))/A1;
end
else a1=-a;
if a1<=1/A
y1=-(A*a1)/A1;
else y1=-(1+log(A*a1))/A1;
end
end
y2=y1*(2^(b-1)-1);%反归一化,范围[-(2^(b-1)-1),(2^(b-1)-1)]
y2=round(y2);
运行时出现了这样的错误
??? Input argument "y" is undefined.
Error in ==> ysbm at 2
a=y/(2^(b+3)-1);%将y做归一化处理,最大编码电平为(2^(b+3)-1)
里面肯定还有不少错误,请高手赐教