Effacer les filtres
Effacer les filtres

I don't understand what is the problem.....i tried it, but get an error. So plz help me to solve the problem...

1 vue (au cours des 30 derniers jours)
"Write a function called integerize that takes as its input a matrix A of non-negative integers of type double, and returns the name of the “smallest” unsigned integer class to which A can be accurately converted. If no such class exists, the string 'NONE' is returned. For example, if the largest integer A is 14, then the function would return 'uint8', but if the largest integer in A is 1e20, then the function would return 'NONE'."

Réponses (5)

Walter Roberson
Walter Roberson le 30 Mai 2015
hint: log2()

Image Analyst
Image Analyst le 30 Mai 2015
Hint: see functions intmax() and max()
mavValue = max(A(:))
if maxValue < intmax('uint8')
and so on...
  3 commentaires
Muhammad Usman Saleem
Muhammad Usman Saleem le 1 Juin 2015
@image in another approach i use..
function integ=integerize(A)
if int(A) && uint(A)
if max(A)<=intmax('uint16')
integ='uint16';
elseif max(A) <= intmax('uint32')
integ='uint32';
elseif max(A) <= intmax('uint64')
integ='uint64';
elseif mod(A,1)=>0
integ='NONE';
end
end
end
but the error remains same as mentioned above..
Image Analyst
Image Analyst le 1 Juin 2015
Muhammad, It looks like you've gotten your own thread started in this other thread so we'll just have the discussion over there.

Connectez-vous pour commenter.


Mostafa Farhoudi
Mostafa Farhoudi le 15 Juil 2015
Modifié(e) : Walter Roberson le 16 Juil 2015
function integ=integerize(A)
integ = 'none';
maxValue=max(A(:));
disp(maxValue);
if maxValue <= intmax('uint8')
integ='uint8';
elseif maxValue<=intmax('uint16')
integ='uint16';
elseif maxValue <= intmax('uint32')
integ='uint32';
elseif maxValue <= intmax('uint64')
integ='uint64';
else
integ='NONE';
end
end

charu sharma
charu sharma le 20 Août 2015

Pranash Azrot
Pranash Azrot le 25 Août 2015
yaar mera answer teek see.
function u = integerize(A)
g =max(max(A));
if (g>255 && g<=intmax('uint16'))
u = 'uint16';
elseif (g<0 || g>intmax('uint64'))
u = 'NONE';
elseif (g>intmax('uint16') && g<=intmax('uint32'))
u = 'uint32';
elseif (g>intmax('uint32') && g<=intmax('uint64'))
u = 'uint64';
else
u = 'uint8';
end

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by