Clear Filters
Clear Filters

why i get the undefined variable message?

2 views (last 30 days)
I have this code for QAM:
p=(sign(randn(N,1))+2)/2;
for i=1:length(p/2)-1
if p(i)==0 && p(i+1)==0
s(i)=1+1i;
elseif p(i)==0 && p(i+1)==1
s(i)=1-1i;
elseif p(i)==1 && p(i+1)==1
s(i)=-1-1i;
elseif p(i)==1 && p(i+1)==0
s(i)=-1+1i;
end
end
scatterplot(s);
and when i try to run this thing i get the message :undefined variable 's'.
Do you know what should i do to fix this.I dont think its a code fault but its a matlab problem .
Thank you.
  1 Comment
Adam Danz
Adam Danz on 15 Oct 2019
Edited: Adam Danz on 15 Oct 2019
If none of your conditions are met, s will never be defined. So when you get to the last line of your code, s is undefined.
The problem is that none of your conditions are being met and 's' has no default value for when that happens.

Sign in to comment.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 15 Oct 2019
Edited: KALYAN ACHARJYA on 15 Oct 2019
and when i try to run this thing i get the message :undefined variable 's'.
First:
Because you did not defined N
Second for S, considering N=10 here, whatever you choose the value of N, p reflects numbers of 0.5 and 1.5
Also
p =
0.5000
1.5000
1.5000
0.5000
1.5000
0.5000
0.5000
1.5000
1.5000
1.5000
Neither the any if condition is true for p value, so "s" value didnot get assign. Beacuse p(i) and p(i+1) ==0 or 1 is not true for any case

More Answers (0)

Community Treasure Hunt

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

Start Hunting!