There is an 'if' loop inside a 'for' loop. This loop takes values according to the values of z. For example, when real (z)> 0 and imag (z)> 0, it enters an if loop again. and if (real (z) <1) & (imag (z) <1) gets bhat = 0,0,0,0. but this loop is not working and I could not find the problem. thanks for the answers. code ;
for k = 1 :length(z) if (real(z)>0) & (imag(z)>0) if (real(z)<1) & (imag(z)<1) bhat(k) = [0;0;0;0]; elseif(real(z)>1) & (imag(z)<1) bhat(k) = [0;1;0;0]; elseif(real(z)>1) & (imag(z)>1) bhat(k) = [0;1;0;1]; elseif (real(z)<1) & (imag(z)>1) bhat(k) = [0;0;0;1]; end elseif (real(z)<0) & (imag(z)>0) if (real(z)>-1) & (imag(z)<1) bhat(k) = [1;0;0;0]; elseif (real(z)<-1) & (imag(z)<1) bhat(k) = [1;1;0;0]; elseif(real(z)<-1) & (imag(z)>1) bhat(k) = [1;1;0;1]; elseif (real(z)>-1) & (imag(z)<1) bhat(k) = [1;0;0;1]; end elseif (real(z)<0) & (imag(z)<0) if (real(z)>-1) & (imag(z)>-1) bhat(k) = [1;0;1;0]; elseif (real(z)<-1) & (imag(z)>-1) bhat(k) = [1;1;1;0]; elseif (real(z)<-1) & (imag(z)<-1) bhat(k) = [1;1;1;1]; elseif (real(z)>-1) & (imag(z)<-1) bhat(k) = [1;0;1;1]; end elseif (real(z)>0) & (imag(z)<0) if (real(z)<1) & (imag(z)>-1) bhat(k) = [0;0;1;0]; elseif (real(z)>1) & (imag(z)>-1) bhat(k) = [0;1;1;0]; elseif (real(z)>1) & (imag(z)<-1) bhat(k) = [0;1;1;1]; elseif (real(z)<1) & (imag(z)<-1) bhat(k) = [0;0;1;1]; end end end
Best Answer