please, any one help me to trunct the integer number from real number without any round to nearest integers in matlab ,e.g: if i have 255/64=3.98 I need just 3 not 4. 开发者_如何学编程I used fix in my program but not work. my cod is:
S=imread('image0286.jpg')/64;
disp(fix(S);
this give me the output after rounds the elements of S to the nearest integers not cut the integer.
fix
does do what you want.
>>fix(255/64)
ans =
3
maybe some other part of your code isn't doing what you think it is doing. could you post more code and your expected and real output
EDIT: Imread returns the values as uint8, and division in this class seems to carry out the rounding you don't want. try recasting to double before dividing
S = double(imread('image0286.jpg'))/64
floor(x)
does this, though beware of negative numbers.
but fix
should work too.
Also note that imread
might return a byte
array or int
array rather than floats. so your division might be int-division, and automatically truncate without the need for fix
or floor
.
精彩评论