Problem 1959. German tank problem

The German tank problem is a well-known statistical problem that attempts to estimate the maximum of a discrete distribution from a limited number of samples (you may know it from some of its far reaching implications...)

You do not know how many tanks are in circulation (let's call this number N), but you know that they have been assigned serial numbers sequentially starting at 1 (ranging from 1 to N). You manage to observe a random subset of k tanks, and find that, among the observed tanks, the maximum serial number is n. Your job is to predict N, the total number of tanks in circulation, from this observation alone (from the values of k and n).


You observe the serial number of 3 tanks, which are 36, 77, and 28. You know that there must be at least 77 tanks in circulation (although it seems unlikely that there were only 77). What is your best estimate of the total number of tanks in circulation?


Your function takes the values n and k and must return your best estimate of the value of N.

To pass this problem you must be exactly correct in at least 10% of the testsuite cases.

Test suite checks 10,000 cases, with N values ranging from 10 to 100, and k values ranging from 1 to 10.

Hints: (why my solution is not working?)

In a typical scenario you do not really care about being "exactly correct". This problem is intended to have you thinking about frequentist approaches, Bayesian, and maximum likelihood estimators

Solution Stats

18.7% Correct | 81.3% Incorrect
Last solution submitted on Jan 15, 2017

Problem Comments

Solution Comments

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!