Matlab rounding to zero?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have some arrays that are ADC values and I simply need to convert them into actual voltage. This is easily done by ADC*Gain however when I do this Matlab gives me zero every time. Below is the code and I am multiplying (.05/65536), the ADC values are int16 data type. My ADC values are like 6000-8000 and so I should be getting around .005 or on the order of mV for my voltage. Any help would be appreciated.
for i=1:10000
A(i,:) = (ans.Channels(1,1).Acquisitions(i,:))*(.05/65536);
end
0 Kommentare
Akzeptierte Antwort
Gurudatha Pai
am 17 Jun. 2011
Like Sean said, convert all variables to some floating point format. You might do something like,
for i=1:10000
A(i,:) = double((ans.Channels(1,1).Acquisitions(i,:)))*(.05/65536);
end
0 Kommentare
Weitere Antworten (1)
Sean de Wolski
am 17 Jun. 2011
int16((.05/65536))
ans =
0
Multiplication by zero is always zero... Convert to single or double precision.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Numeric Types finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!