Note also that your function outputs three arguments , code, xq, sqnr which you need to concatenate [ ] , inside the function
Function definitions are not permitted in this context.
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Respuestas (2)
DGM
el 10 de Oct. de 2024
OP was running R2014b, so local functions are not allowed in script files.
0 comentarios
VBBV
el 24 de Abr. de 2024
Editada: VBBV
el 24 de Abr. de 2024
Rename the file ok.m to uniform_pcm.m and save file. Type the name of function from command window (giving input arguments) and execute.
14 comentarios
VBBV
el 24 de Abr. de 2024
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
% put this code in script file & name it as ok.m (valid filename)
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
clc ;
clear all;
T=1/20*pi
t=0:T:1;
x = cos(20*pi*t+pi/2) + 3*sin(10*pi*t) + 5*cos(15*pi*t+pi);
[code,xq] = uniform_pcm(x,64) % call the function inside ok.m
% ----------------------------------
% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
% name this file separate as uniform_pcm.m but inside the same folder where
% ok.m is located
% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
function [code,xq] = uniform_pcm(x,M)
Nb=log2(M);
Amax =max(abs(x));
delta=2*Amax/(M-1);
Mq=-Amax:delta:Amax;
M1=0:M-1;
xq= zeros (size(x));
xcode = xq;
for k=1:M
ind =find(x > Mq(k) - delta/2 & x<= Mq(k) + delta/2);
xq(ind)= Mq(k);
xcode (ind) = M1(k) ;
end
code = de2bi (xcode, Nb, 'left-msb');
[code,xq.'];
end
% what is sqnr variable ... that is not seen anywhere in your code, yet you
% want it as output ?
VBBV
el 23 de Oct. de 2024
Editada: VBBV
el 23 de Oct. de 2024
@Vu run the above code, ok.m file given in code. Both files ok.m and uniform_pcm.m need to be in same FOLDER. Since you are using R2014b version, the function definitions are not allowed inside script file as error messages tell. Otherwise check with a higher version and run your code.
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!