Unrecognized function or variable

clear all
clc
range = 1;
t = -range:0.01:range;
w = 1;
P = unit(t+w/2)-unit(t-w/2);
plot(t,P,'Linewidith',5)
grid on
axis([-range-1 range+1 0 1])
title('Rectangel Function');
xlabel('Time(sec)');
ylabel('p(t)');
line([0 0],ylim,'color','r', 'Linewidth',2)
line(xlim,[0 0],'color','r', 'Linewidth',2)
The error I get is as follows. I don't know how to fix this problem. Thank you in advance for your help.

3 Kommentare

FIXED!!
You must add this code to your editor, in this way you call unit() function.
function y = unit(x)
y = zeros(size(x));
y(x>0) = 1
end
function [Abar, xbar] = ATPL(K,xcord,initiator,omega,phi,M,N,sigma)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Joint Clock Synchronization and Ranging:
% Asymmetrical Time-stamping and Passive Listening
%
% IEEE Signal Processing Letters, 20 (1): 51 - 54, Jan 2013
% Sundeep Prabhakar Chepuri, CAS, TU Delft.
%
% ATPL script (1 sensor and 10 anchors, or vice versa)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ii= initiator;
speed = 3*10^8;
%observation window
ObsrvWindow = linspace(1,100,K); %1:100; % [s]
for k=1:K
T_i(k,1) = ObsrvWindow(k);
for jj =1:M+N
if(jj==ii)
R_ji(k,jj) = 0;
continue;
end
R_ji(k,jj) = T_i(k,1) + (norm(xcord(:,ii)-xcord(:,jj),2))/speed;
R_ji(k,jj) = omega(jj)*(R_ji(k,jj)+ sqrt(0.5*sigma^2)*randn(1,1)) + phi(jj);
%R_ji(k,jj) = omega(jj)*(R_ji(k,jj)) + phi(jj);
end
T_i(k,1) = omega(ii)*(T_i(k,1) + sqrt(0.5*sigma^2)*randn(1,1)) + phi(ii);
% T_i(k,1) = omega(ii)*(T_i(k,1)) + phi(ii);
end
A1 = []; A2 = []; E1 = []; E2 = [];
for jj = 1:M+N
if (jj==ii)
continue;
elseif (jj <ii)
A1 = blkdiag(A1,-[R_ji(:,jj) ones(K,1)]);
else
A2 = blkdiag(A2,-[R_ji(:,jj) ones(K,1)]);
end
end
tempsizeA1 = size(A1); tempsizeA2 = size(A2);
A1 = [A1; zeros(tempsizeA2(1),tempsizeA1(2))];
A2 = [zeros(tempsizeA1(1),tempsizeA2(2));A2];
A3 = kron(ones(M+N-1,1),[T_i ones(K,1)]);
A = [A1 A3 A2];
temp_comb = nchoosek(1:M+N,2);
%tempS = [1 2]; tempA = [1 3; 2 3];
% colConstrComp = 1;
% colConstr = 2:3;
%tauknwn = [1 2 3 4 6 7 8 10 11 13];
%tauunknwn = [5 9 12 14 15];
tauknwn = find(temp_comb(:,2)~=M+N).';
tauunknw = find(temp_comb(:,2)==M+N).';
E = zeros((M+N-1)*K,length(temp_comb));
flag=0;
tau_i = zeros(length(temp_comb),1);
for jj=1:size(temp_comb,1)
tau_i(jj) = (norm(xcord(:,temp_comb(jj,1))-xcord(:,temp_comb(jj,2)),2))/speed;
end
for vertjj = 1:M+N-1
for horjj=flag+1:length(temp_comb)
if (temp_comb(horjj,1)==ii || temp_comb(horjj,2)==ii) %
E ((vertjj-1)*K+1:vertjj*K,horjj) = ones(K,1);
tau_i(horjj) = (norm(xcord(:,temp_comb(horjj,1))-xcord(:,temp_comb(horjj,2)),2))/speed;
flag=horjj;
break;
end
end
end
Abar = [A(:,1:2*(M+N-1)) E(:,tauunknw)];
xbar = -A(:,2*(M+N-1)+1:end)*[1;0]- E(:,tauknwn)*tau_i(tauknwn);
% Abar = [A(:,1:2*(M+N-1)) E];
% xbar = -A(:,2*(M+N-1)+1:end)*[1;0];
Oaux = ones(M+N-1,1)*ones(M+N-1,1)';
Rmat = 0.5*sigma^2*kron(Oaux, eye(K)) + 0.5*sigma^2*eye((M+N-1)*K);
[V,D] = eig(Rmat);
W = sqrt(inv(D))*V.';
Abar = W*Abar;
xbar = W*xbar;
Image Analyst
Image Analyst am 28 Mär. 2022
@SALINI BALASUBARAMANIUM , not sure how your code fixes the "Unrecognized function or variable" error that was mentioned in this year-old question where the user was tring to implement the Heaviside step function. Did you post it here by mistake?

Melden Sie sich an, um zu kommentieren.

Antworten (3)

the cyclist
the cyclist am 15 Mär. 2021

0 Stimmen

To my knowledge, there it no MATLAB function named unit().
I also used the search bar in the documentation, and did not find anything.
Where did you get this code? Maybe you are missing a second file, that has a user-defined function with that name?

3 Kommentare

Kutlu Yigitturk
Kutlu Yigitturk am 15 Mär. 2021
I got it from the codes that the university professor explained in the lecture. I mean, this code is entirely the of the professor. Could something be caused by license invalid?
Image Analyst
Image Analyst am 15 Mär. 2021
So I guess it's solved now since you accepted this answer? Was the solution to use uint32() like I suggested in my answer below?
Kutlu Yigitturk
Kutlu Yigitturk am 15 Mär. 2021
Thank you for your attenton. I fixed the problem with unusually way. I show the solution top side.

Melden Sie sich an, um zu kommentieren.

Image Analyst
Image Analyst am 15 Mär. 2021

0 Stimmen

Why did you think it knows what unit is? It does not.
If, by chance, you want to convert to integer use uint32() instead of unit(). Be careful of the location of the "i" and the "n".

3 Kommentare

clear all
clc
range = 1;
t = -range:0.01:range;
w = 1;
p = uint32(t+w/2)-uint32(t-w/2);
plot(t,p,'Linewidith',5)
grid on
axis([-range-1 range+1 0 1])
title('Rectangel Function');
xlabel('Time(sec)');
ylabel('p(t)');
line([0 0],ylim,'color','r', 'Linewidth',2)
line(xlim,[0 0],'color','r', 'Linewidth',2)
I did what you said but I still get an error.
Image Analyst
Image Analyst am 15 Mär. 2021
There is no property 'Linewidith', like it says. Watch your spelling again. You have 3 i's instead of 2. It should be 'LineWidth'.
Kutlu Yigitturk
Kutlu Yigitturk am 15 Mär. 2021
Thank you for your attenton. I fixed the problem with unusually way. I show the solution top side.

Melden Sie sich an, um zu kommentieren.

Ronielson LIma
Ronielson LIma am 2 Nov. 2021

0 Stimmen

Good Nitght.
Can you help me please.
Unrecognized function or variable 'distinguishable_colors'.
Error in drawPR (line 8)
methods_colors = distinguishable_colors(length(methods));

3 Kommentare

Image Analyst
Image Analyst am 3 Nov. 2021
This is in no way an answer to @Kutlu Yigitturk. Please post your code in a new question after you read this link:
All I can say until then is what the error said, and that is that you never defined distinguishable_colors at all so your program has no idea what it is or should be. Only you know that but you have to tell your program that.
Ronielson LIma
Ronielson LIma am 3 Nov. 2021
It worked, thank you!

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2020b

Gefragt:

am 15 Mär. 2021

Kommentiert:

am 28 Mär. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by