Ermitteln Sie den Wert eines Sacks Münzen
Ein 1 Pfund schwerer Sack voll neuer US-amerikanischer Münzen wird aus einer Bank gestohlen. Was kann man, ohne den Sack zu öffnen, über dessen Geldwert aussagen? Eine offensichtliche und leicht zu messende Charakteristik ist das Gewicht des Sackes. Kombinieren Sie unter der Annahme eines Sack Münzen mit dem Gewicht eines Pfunds das Währungswissen der Wolfram Knowledgebase und die eingebaute Fähigkeit zur Lösung linearer Gleichungen, um den Erwartungswert des erbeuteten Geldsacks zu berechnen.
Ermitteln Sie als ersten Schritt eine Liste der sich derzeit im Umlauf befindenden US-amerikanischen Münzen.
EntityClass["CurrencyDenomination", {EntityProperty[
"CurrencyDenomination", "IssuingCountry"] ->
Entity["Country", "UnitedStates"],
EntityProperty["CurrencyDenomination", "Format"] -> "coin"}]
Erweitern Sie die implizit definierte Entitätsklasse, indem Sie auf [+] klicken, finden Sie deren Mitglieder und sortieren Sie diese nach Wert.
coinsUS = EntityList[
EntityClass[
"CurrencyDenomination", {
EntityProperty[
"CurrencyDenomination", "IssuingCountry"] -> Entity[
"Country", "UnitedStates"],
EntityProperty["CurrencyDenomination", "Format"] -> "coin"}]] //
SortBy[#[EntityProperty["CurrencyDenomination", "Value"]] &]
Erstellen Sie eine Collage von Münzenbildern.
ImageCollage[
EntityValue[coinsUS,
EntityProperty["CurrencyDenomination", "Image"]],
Background -> White]
Fassen Sie die Münzeigenschaften in einer Tabelle zusammen.
TextGrid[{ImageResize[#2, 60], #1,
Row[Riffle[#3, Style[" | ", Gray]]]} & @@@
EntityValue[
coinsUS, {EntityProperty["CurrencyDenomination", "Entity"],
EntityProperty["CurrencyDenomination", "Image"],
EntityProperty["CurrencyDenomination", "PeopleOnCurrency"]}],
Alignment -> {Left, Center}, Dividers -> All] // TraditionalForm
Ermitteln Sie die Münzbezeichnungen (in Cents) und die jeweilige Masse (in Gramm) und konvertieren Sie die Massewerte in rationale Zahlen.
{values, masses} =
Transpose[EntityValue[coinsUS, {"Value", "Weight"}]]
coinsandweights = Transpose[{
QuantityMagnitude[UnitConvert[values, "USCents"]],
Rationalize[QuantityMagnitude[N[UnitConvert[masses, "Grams"]]]]
}]
lcm = LCM @@ Denominator[Rationalize[coinsandweights][[All, 2]]];
rationalcoinweights = lcm #2 & @@@ Rationalize[coinsandweights]
Ermitteln Sie alle Münzverteilungen, die mit einem Gewicht von 1 Pfund (Messfehler von ± 0.1%) kompatibel sind (unter der Annahme, dass das Eigengewicht des Sacks vernachlässigbar gering ist).
meanWeight =
QuantityMagnitude[UnitConvert[Quantity[1, "Pounds"], "Grams"]];
error = Normal[Quantity[0.1, "Percent"]];
{minScaledWeight,
maxScaledWeight} = {Floor[lcm meanWeight (1 - error/2)],
Ceiling[lcm meanWeight (1 + error/2)]}
Bestimmen Sie mit FrobeniusSolve alle möglichen Münzkombinationen, die das gefragte Gesamtgewicht ergeben.
Flatten[allSolutions, 1] // Length
Ermitteln Sie den Mindest-, Median, Median- und Maximalwert des Gesamtwerts der Münzen im Sack (unter der Annahme, dass alle Kombinationen gleich wahrscheinlich sind).
Erstellen Sie ein Histogramm der Verteilung des Gesamtgeldwerts.
Histogram[dollarValues, Automatic, "PDF",
AxesLabel -> {Quantity[None, "USDollars"], "fraction"}]
Die Gewichtsverteilung aller Säcke ist ziemlich einheitlich.
Histogram[weightvalues, 50, "PDF",
AxesLabel -> {Quantity[None, "USDollars"], "fraction"}]
Plotten Sie die Verteilung der Münzanzahl.
Histogram[Total /@ Flatten[allSolutions, 1], {5}]
Die bivariate Verteilung des Geldwerts versus die Münzanzahl im Sack.
Histogram3D[{coins.#/100., Total[#]} & /@ Flatten[allSolutions, 1],
AxesLabel -> {Quantity[None, "USDollars"], "coins"}]