新しいMATLABユーザーです。yをifステートメントの計算値に初期化しようとしています。しかし、yをプロットしようとすると、yが定義されていないと表示されます
function [y,xmax] = Alaw(x,A,ymax)
if nargin<3, ymax=1; end
if nargin<2, A=87.6; end
xmax=max(abs(x));
temp = ymax/A;
if ((x > 0) & ( x < temp ))
y = (A * abs(x)) ./ (1 + log(A) ).*sign(x);
end
if (x > temp)
y = ymax*( 1 + log(A*abs(x/ymax)) )./( 1+log(A) ).*sign(x);
end
fprintf('Plotting Data ...\n');
hold on;
figure;
plot(y);
xlabel('x-axis');
ylabel('y-axis');
title(' A LAW ');
pause;
fprintf('Writing the audio file ...\n');
wavwrite(y, 22050, 'Alaw.wav');
end