HELP ME PLEASE??
    3 次查看(过去 30 天)
  
       显示 更早的评论
    
Write a function called integerize that takes as its input a matrix A of integers of type double, and returns the name of the “smallest” signed integer class to which A can be converted without loss of information. If no such class exists, the text 'NONE' is returned. For example, if the smallest element of A is -100 and the largest is +100, then the function would return 'int8'. As another example, if there is an element of A equal to -1e20, then the function would return 'NONE'
My code is;
function x = integerize(A)
    maxA = max(A(:));
    minA = min(A(:));
    if maxA<=((2^7)-1) && minA>=-(2^7);
        x='int8';
      elseif maxA<=((2^15)-1) && maxA>((2^7)-1) && minA>=-(2^15) && minA< -(2^7);
          x='int16';
      elseif maxA<=((2^31)-1) && maxA>((2^15)-1) && minA >=-(2^31) && minA <-(2^15);
          x='int32';
      elseif maxA<=((2^63)-1) && maxA>((2^31)-1) && minA >=-(2^63) && minA< -(2^31);
        x='int64';
      else
          x=NONE;
      end
  end
But it is noncorrect;
Problem 1 (integerize):
                                       Testing with argument(s) 0
    Feedback: Your function performed correctly for argument(s) 0
                                       Testing with argument(s) 1
    Feedback: Your function performed correctly for argument(s) 1
                                       Testing with argument(s) -1
    Feedback: Your function performed correctly for argument(s) -1
                                       Testing with argument(s) -127
    Feedback: Your function performed correctly for argument(s) -127
                                       Testing with argument(s) -128
    Feedback: Your function performed correctly for argument(s) -128
                                       Testing with argument(s) 126
    Feedback: Your function performed correctly for argument(s) 126
                                       Testing with argument(s) 127
    Feedback: Your function performed correctly for argument(s) 127
                                       Testing with argument(s) 128
    Feedback: Your program made an error for argument(s) 128
Your solution is _not_ correct.
I dont understant my fault pleas help me
4 个评论
回答(1 个)
  Walter Roberson
      
      
 2017-11-6
        You are only returning the signed integer classes. You have forgotten the unsigned integer classes like uint8
2 个评论
  Steven Lord
    
      
 2017-11-6
				That's correct, there is no function named NONE in MATLAB or any MathWorks products and no variable by that name in your code. But reread the homework assignment carefully -- in the case where none of the integer types fit, what exactly should be returned? What type should that return value be?
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!