Was ist der einfachste Weg, um die Ausgabe einer eingebauten Funktion in Mathematica zu beschränken? Sag, dass Sin nur ungerade Zahlen zurückgibt?

8

Beispiel: Für eine eingebaute Funktion in Mathematica gibt f, ursprünglich f [1] {1,2,3}, aber ich möchte, dass Mathematica nur {1,3 ergibt }. Eine einfache Methode zum Umschreiben ist wünschenswert. Ich möchte keine neue Funktion definieren oder komplett neu schreiben oder mich nur mit Original-Ausgangssignalen beschäftigen. Ich möchte f umschreiben.

Danke. :)

    
FreshApple 20.05.2011, 14:30
quelle

4 Antworten

11

Sie können den Villegas-Gayley-Trick Dafür.

Für die Funktion Sin :

%Vor%     
Alexey Popkov 20.05.2011, 15:43
quelle
6

Ich bevorzuge eine Methode, die funktional ist und mich an Dekoratoren in Python erinnert. Ссылка

Zuerst erstellen wir den Decorator:

%Vor%

Es kann dann als Präfix verwendet werden:

%Vor%     
Searke 20.05.2011 19:57
quelle
6

Eine Variante von Searkes Methode, die ich bevorzuge, ist:

%Vor%

Dies entfernt automatisch Ergebnisse, die nicht ungerade sind, und es wird auf die Funktion selbst angewendet, was ich bequemer finde.

Beispiele:

%Vor%     
Mr.Wizard 20.05.2011 23:58
quelle
4

Könnte eine Regel des Formulars anwenden

%Vor%

Daniel Lichtblau

    
Daniel Lichtblau 20.05.2011 15:43
quelle

Tags und Links