How do I convert the binary valued column to decimal?

cadence_data = readtable('just_adder_1p2_ABS_matlab.csv','ReadVariableNames',0);
cadence_data = cadence_data{:,:};
cadence_data(1,:) = [];
%% bi2de
% [rows_A cols_A] = size(cadence_data);
cadence_data = cellfun(@str2double,cadence_data);
for i = 1:1:size(cadence_data,1)
cadence_data(i,7) = bi2de(cadence_data(i,4));
end
Error:
Error using bi2de>validateInputs (line 81)
The elements of the matrix are larger than the base can represent.
Error in bi2de (line 35)
[b_double, inType, p, msbFlag] = validateInputs(b, varargin{:});
Error in cadence_just_adder (line 15)
cadence_data(i,7) = bi2de(cadence_data(i,4));
The excel file attached has binary valued cells (columns 2,4 and 6). How can I convert those 16 bit binary bits in to decimal values?
Thanks in advance

2 Comments

Part of your data
S X,S LogicBus,A X,A LogicBus,B X,B LogicBus
0,1.101E+15,0,1.11011E+14,0,1.11111E+15
5.32E-11,1.11111E+15,5.00E-09,1.00001E+13,5.00E-09,1.10001E+15
8.78E-11,1.01111E+15,1.00E-08,1.01E+15,1.00E-08,1.11001E+13
Don't see any binary data
It is a 16 bit binary data
For example:
1.01111E+15 when you see as a expanded column in excel, it will be 101111....

Sign in to comment.

 Accepted Answer

Try this
A = readtable('just_adder_1p2_ABS_matlab.csv');
A1 = table2array(A(:,2));
A2 = bin2dec(num2str(A1));

3 Comments

thanks for the soultion , Programming is not an easy to do . I search solution on many websites . Finally found on here . I do programming with logo designing in uae so we need some sugestion when we stuck in to problems .
What can help you with?

Sign in to comment.

More Answers (1)

  1. Load data from csv files using csvread.
  2. Use the function bin2dec to convert binary to decimal.

3 Comments

Hi, I got this error. Cant I use xlsread?
Error using dlmread (line 147)
Mismatch between file and format character vector.
Trouble reading 'Numeric' field from file (row number 1, field number 1) ==> S X,S LogicBus,A X,A LogicBus,B X,B
LogicBus\n
Error in csvread (line 48)
m=dlmread(filename, ',', r, c);
Try with xlsread, readtable.
I get the following error
Error using bi2de>validateInputs (line 81)
The elements of the matrix are larger than the base can represent.
Error in bi2de (line 35)
[b_double, inType, p, msbFlag] = validateInputs(b, varargin{:});
Error in cadence_just_adder (line 15)
cadence_data(i,7) = bi2de(cadence_data(i,4));

Sign in to comment.

Categories

Products

Release

R2019b

Asked:

on 28 Apr 2020

Commented:

on 16 May 2020

Community Treasure Hunt

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

Start Hunting!