How to convert ascii data to floating point?
조회 수: 9 (최근 30일)
이전 댓글 표시
Hi guys.
i have a problem with my project and i need your help.
the problem is about data type conversion.
i use an app to send gravity_sensor data via UDP on my phone.
This is a desription of the app i use.
%%%%%%%%%%%%%
USAGE INSTRUCTIONS:
The data is stored within the app as a float array. See the format below.
Format: [ X Acceleration, Y Acceleration, Z Acceleration, X Gravity, Y Gravity, Z Gravity, X Rotation Rate, Y Rotation Rate, Z Rotation Rate, X Orientation (Azimuth), Y Orientation (Pitch), Z Orientation (Roll), deprecated, deprecated, Ambient Light, Proximity, Keyboard Buttons 1 - 8 ]
%%%%%%%%%%%%%
and, i wrote these lines and get result in MATLAB.
fopen(UDPComIn);
csvdata=fscanf(UDPComIn)
ans =
KKun
this is the problem. what i wanted was floating point data like (-0.001). but, the result data type looked like ASCII code type.
so here are my question.
1) Is there any method to extract floating point data from a float array in UDP ?
2) if not, how can i convert ascii data to floating point?
i will wait your reply soon
댓글 수: 0
채택된 답변
Walter Roberson
2016년 11월 26일
The default for fscanf on UDP objects is %c format, but the packets do not contain text. You should be using fread() on the UDP object, specifying '*float' . You might also need to specify the endian order; see https://www.mathworks.com/help/instrument/byteorder.html
추가 답변 (1개)
Image Analyst
2016년 11월 26일
That won't work. If you passed UDPComIn into fopen(), then it's a string with a filename in it. So you can't pass that in to fscanf. Anyway, you didn't even pass a file ID or a format specifier string into fscanf(). Check the documentation for fscanf(). Or use str2double() instead, if you can get your numbers in an ASCII string.
댓글 수: 1
Walter Roberson
2016년 11월 26일
"If you passed UDPComIn into fopen(), then it's a string with a filename in it."
That is not correct. You can fopen() on Serial objects and TCP objects and UDP objects.
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!