注册 登录
编程论坛 Matlab

[求助]关于一个M函数的问题

zxm1255 发布于 2007-07-05 07:45, 835 次点击

因为本人初接触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)
里面肯定还有不少错误,请高手赐教

3 回复
#2
尘埃1222007-07-05 12:20

呵呵,你的Y值有定义没?或是说赋初值
#3
leki2007-07-09 00:16
请问你是怎么调用的?用的什么语句?
#4
zxm12552007-07-09 11:29

嘿嘿~~~的确是这样,好简单的一个问题。现在弄明白了,谢谢

1