How do I convert the binary valued column to decimal?

조회 수: 7 (최근 30일)
Jay Vaidya
Jay Vaidya 2020년 4월 28일
댓글: darova 2020년 5월 16일
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
darova
darova 2020년 4월 28일
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 2020년 4월 28일
편집: Jay Vaidya 2020년 4월 28일
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....

댓글을 달려면 로그인하십시오.

채택된 답변

darova
darova 2020년 4월 28일
Try this
A = readtable('just_adder_1p2_ABS_matlab.csv');
A1 = table2array(A(:,2));
A2 = bin2dec(num2str(A1));
  댓글 수: 3
sarah emi
sarah emi 2020년 5월 16일
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 .
darova
darova 2020년 5월 16일
What can help you with?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

KSSV
KSSV 2020년 4월 28일
  1. Load data from csv files using csvread.
  2. Use the function bin2dec to convert binary to decimal.
  댓글 수: 3
KSSV
KSSV 2020년 4월 28일
Try with xlsread, readtable.
Jay Vaidya
Jay Vaidya 2020년 4월 28일
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));

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Large Files and Big Data에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by