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 Commenti

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
Jay Vaidya
Jay Vaidya il 28 Apr 2020
Modificato: Jay Vaidya il 28 Apr 2020
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....

Accedi per commentare.

 Risposta accettata

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

3 Commenti

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?

Accedi per commentare.

Più risposte (1)

KSSV
KSSV il 28 Apr 2020
  1. Load data from csv files using csvread.
  2. Use the function bin2dec to convert binary to decimal.

3 Commenti

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));

Accedi per commentare.

Categorie

Prodotti

Release

R2019b

Richiesto:

il 28 Apr 2020

Commentato:

il 16 Mag 2020

Community Treasure Hunt

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

Start Hunting!

Translated by