why i get the undefined variable message?

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

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)

Categories

Community Treasure Hunt

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

Start Hunting!