Help on converting dubble to uint8 ?
2 ビュー (過去 30 日間)
古いコメントを表示
Hey,
I have wave signal that change between 2-20 and it's type of dubble. I need to convert it to type uint8, for example:
The wave signale is INDX(change from 2 to 20) type of dubble. Convert signal is: ADR = uint8(INDX);
the result of that conversion gives me values from 0 to 20. Even when ADR is runs from 0 to 18 or 1 to 19 I get the same result : ADR = 0 to 20 ?
Is it possible to get the same values of INDX after using INDX input ? for example, if INDX is running from 3 to 17, the result (ADR=uint8(INDX)) will be 3 to 17 instead 0f 0 to 20 ? or, if INDX is running from 2 to 18, the result (ADR=uint8(INDX)) will be 2 to 18 instead 0f 0 to 20 ? or, if INDX is running from 2 to 20, the result (ADR=uint8(INDX)) will be 2 to 20 instead 0f 0 to 20 ?
I need to keep the same values of the start and end(of INDX) after using uint8(INDX). uint8 type ,must be use.
Thanks, Henry
0 件のコメント
採用された回答
Walter Roberson
2016 年 9 月 18 日
You must have made a mistake somewhere.
>> uint8(3:17)
ans =
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
In the expression 3:17 the values are double precision values, so this shows that converting double precision values to uint8 works as expected for small non-negative values.
5 件のコメント
Walter Roberson
2016 年 9 月 18 日
Not being a vector is irrelevant.
>> A = 53*(reshape(3:17, 3, 5) + rand(3,5)); B = 48; INDX = uint8(A/B)
INDX =
4 8 10 14 17
5 9 12 15 19
6 9 13 16 19
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!