Clear Filters
Clear Filters

Function definitions are not permitted in this context.

2 views (last 30 days)
help me
Function definitions are not permitted in this context.
  1 Comment
VBBV
VBBV on 24 Apr 2024

Note also that your function outputs three arguments , code, xq, sqnr which you need to concatenate [ ] , inside the function

Sign in to comment.

Answers (1)

VBBV
VBBV on 24 Apr 2024
Edited: VBBV on 24 Apr 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.

  13 Comments
VBBV
VBBV on 24 Apr 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 ?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!