convert decimal values to binary?

3 views (last 30 days)
xa(1)=0;
ya(1)=0;
a=1.4;
b=0.3;
sa=0;
for i=2:41616
xa(i)=1-a*(xa(i-1)^2)+ya(i-1);
ya(i)=b*xa(i-1);
sa(i) = mod (ya(i)* (10^12) , 256);
sabinary(i) = dec2bin(round(sa(i) * (2^10)), 8) - '0';
end
This is the code to find 'sa'. I got values for sa(i) but i cant convert those values of 1D array to binary. Please help me with the above code.
  1 Comment
Stephen23
Stephen23 on 19 Jul 2017
Edited: Stephen23 on 19 Jul 2017
@SNEHA P S: what do you expect the output to be? How do you expect to put a non-scalar char vector (the output from dec2bin) into one single element of sabinary ?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jul 2017
The following is for R2016b or later, specifically to use a facility that allows the entire binary value to be stored into a single location, since that is how you seem to expect the output to be.
xa(1)=0;
ya(1)=0;
a=1.4;
b=0.3;
sa=0;
N = 41616;
sabinary = strings(1, N);
sabinary(1) = string('00000000');
for K = 2:N
xa(K)=1-a*(xa(K-1)^2)+ya(K-1);
ya(K)=b*xa(K-1);
sa(K) = mod (ya(K)* (10^12) , 256);
sabinary(K) = string(dec2bin(round(sa(K) * (2^10)), 8));
end
sa_recovered = bin2dec(sabinary) / 2^10;

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!