A knocking determination method for an internal combustion engine, comprising the steps of: detecting a crank angle of said internal combustion engine; detecting a magnitude of vibration of said internal combustion engine, said magnitude being associated with a crank angle; detecting a waveform of vibration in a first interval of crank angle, based on the magnitude of vibration of said internal combustion engine; calculating a first value based on a difference between a magnitude on said detected waveform and a magnitude on a waveform model determined in advance as a reference waveform of vibration of said internal combustion engine, in a second interval of crank angle; calculating a second value; calculating a third value based on said first value and said second value; and determining whether or not knocking has occurred in said internal combustion engine, based on said third value; wherein: said step of calculating the first value includes the step of calculating said first value by summing differences that are each a difference between the magnitude on said detected waveform and the magnitude on said waveform model, in said second interval, said step of calculating the third value includes the step of calculating said third value by dividing said first value by said second value, and said step of determining whether or not knocking has occurred includes the step of determining that knocking has occurred in said internal combustion engine in a case where said third value is smaller than a predetermined value, characterized by calculating said second value such that the second value is smaller as the number of revolutions of an output shaft of said internal combustion engine is smaller, wherein said step of calculating the second value includes the step of calculating said second value by summing values each determined by subtracting a positive reference value from the magnitude on said waveform model in said second interval, in a case where the number of revolutions of the output shaft of said internal combustion engine is smaller then a first number of revolutions, and calculating said second value by summing magnitudes on said waveform model in said second interval, in a case where the number of revolutions of the output shaft of said internal combustion engine is a second number of revolutions larger than said first number of revolutions. detecting a crank angle of said internal combustion engine; detecting a magnitude of vibration of said internal combustion engine, said magnitude being associated with a crank angle; detecting a waveform of vibration in a first interval of crank angle, based on the magnitude of vibration of said internal combustion engine; calculating a first value based on a difference between a magnitude on said detected waveform and a magnitude on a waveform model determined in advance as a reference waveform of vibration of said internal combustion engine, in a second interval of crank angle; calculating a second value; calculating a third value based on said first value and said second value; and determining whether or not knocking has occurred in said internal combustion engine, based on said third value; wherein: said step of calculating the first value includes the step of calculating said first value by summing differences that are each a difference between the magnitude on said detected waveform and the magnitude on said waveform model, in said second interval, said step of calculating the third value includes the step of calculating said third value by dividing said first value by said second value, and said step of determining whether or not knocking has occurred includes the step of determining that knocking has occurred in said internal combustion engine in a case where said third value is smaller than a predetermined value, said step of calculating the first value includes the step of calculating said first value by summing differences that are each a difference between the magnitude on said detected waveform and the magnitude on said waveform model, in said second interval, said step of calculating the third value includes the step of calculating said third value by dividing said first value by said second value, and said step of determining whether or not knocking has occurred includes the step of determining that knocking has occurred in said internal combustion engine in a case where said third value is smaller than a predetermined value,