EntityStore für Integraltransformationen
Eine Integraltransformation ist eine mathematische Operation, die eine Funktion auf eine andere
mithilfe der Vorschrift
abbildet, wobei
der Kern ist. Integraltransformationen sind sehr wichtig in vielen Bereichen wie der Signalverarbeitung, in der medizinischen Bildgebung und der Wahrscheinlichkeitstheorie. In diesem Beispiel illustrieren wir das Anlegen eines Entity-Stores mit Eigenschaften wichtiger Transformationen.
Der Entity-Store kann manuell codiert werden, indem Sie die wichtigsten Eigenschaften von Integraltransformationen in einer EntityStore-Datenstruktur notieren.
![Click for copyable input](assets.de/integral-transform-entitystore/In_150.png)
EntityStore[<|
"Types" -> <|
"IntegralTransform" -> <|
"Entities" -> <|
"ExponentialFourierTransform" -> <|
"Label" -> "exponential Fourier transform",
"StandardName" -> "ExponentialFourierTransform",
"StandardNotation" -> Hold[f[t]],
"Definition" -> Inactive[FourierTransform][f[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
Inactive[Integrate][
E^(I t z) f[t], {t, -\[Infinity], \[Infinity]}]/Sqrt[
2 \[Pi]],
"GeneralProperties" -> <|
"Linearity" -> {Inactive[FourierTransform][
a f[t] + b g[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
a Inactive[FourierTransform][f[t], t, z] +
b Inactive[FourierTransform][g[t], t, z],
Inactive[FourierTransform][f[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
Inactive[FourierTransform][f[-t] UnitStep[t], t, -z] +
Inactive[FourierTransform][f[t] UnitStep[t], t, z]},
"Reflection" -> {Inactive[FourierTransform][f[-t], t,
z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) Inactive[FourierTransform][f[t], t, -z]},
"Dilation" -> {ConditionalExpression[
Inactive[FourierTransform][f[a t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) Inactive[FourierTransform][f[t], t, z/a]/Abs[a],
a \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals && a \!\(\*
TagBox["!=",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"!="]\) 0]},
"Shifting or translation" -> {ConditionalExpression[
Inactive[FourierTransform][f[-a + t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) E^(I a z) Inactive[FourierTransform][f[t], t, z],
a \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals]}|>|>|>|>|>|>]
![](assets.de/integral-transform-entitystore/O_108.png)
Eine komplettere Version können Sie aus folgendem CloudObject abrufen.
![Click for copyable input](assets.de/integral-transform-entitystore/In_151.png)
itstore =
CloudGet[CloudObject[
"https://www.wolframcloud.com/objects/c21b356b-607a-406c-af91-\
5088f435fe99"]]
![](assets.de/integral-transform-entitystore/O_109.png)
Registrieren Sie den Store für diese Sitzung.
![Click for copyable input](assets.de/integral-transform-entitystore/In_152.png)
PrependTo[$EntityStores, itstore];
Sehen Sie sich die Entitäten im Store an.
![Click for copyable input](assets.de/integral-transform-entitystore/In_153.png)
EntityValue["IntegralTransform", "Entities"]
![](assets.de/integral-transform-entitystore/O_110.png)
Fügen Sie eine neue Transformation hinzu.
![Click for copyable input](assets.de/integral-transform-entitystore/In_154.png)
Entity["IntegralTransform", "HilbertTransform"]["Label"] =
"Hilbert transform";
Entity["IntegralTransform", "HilbertTransform"]["Definition"] =
Inactive[HilbertTransform][f[t], t, x] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
1/\[Pi] Inactive[Integrate][f[t]/(
t - x), {t, -\[Infinity], \[Infinity]}, PrincipalValue -> True,
Assumptions -> x \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals];
Geben Sie die derzeit verfügbaren Eigenschaften für Integraltransformationen zurück.
![Click for copyable input](assets.de/integral-transform-entitystore/In_155.png)
EntityValue["IntegralTransform", "Properties"]
![](assets.de/integral-transform-entitystore/O_111.png)
Rufen Sie die Definitionen für exponentielle Fourier- und Mellin-Transformationen ab.
![Click for copyable input](assets.de/integral-transform-entitystore/In_156.png)
EntityValue[
Entity["IntegralTransform", "LaplaceTransform"], "Definition"]
![](assets.de/integral-transform-entitystore/O_112.png)
![Click for copyable input](assets.de/integral-transform-entitystore/In_157.png)
EntityValue[
Entity["IntegralTransform", "MellinTransform"], "Definition"]
![](assets.de/integral-transform-entitystore/O_113.png)
Vergleichen Sie diese mit dem Ergebnis der eingebauten Funktion.
![Click for copyable input](assets.de/integral-transform-entitystore/In_158.png)
Activate[EntityValue[Entity["IntegralTransform", "LaplaceTransform"],
"Definition"][[2]] /. f :> Function[t, ArcTan[t]]]
![](assets.de/integral-transform-entitystore/O_114.png)
![Click for copyable input](assets.de/integral-transform-entitystore/In_159.png)
LaplaceTransform[ArcTan[t], t, z]
![](assets.de/integral-transform-entitystore/O_115.png)
Zeigen Sie die Faltung der Z-Transformation an.
![Click for copyable input](assets.de/integral-transform-entitystore/In_160.png)
Entity["IntegralTransform", "ZTransform"][
"GeneralProperties"]["Convolution"]
![](assets.de/integral-transform-entitystore/O_116.png)
Vergleichen Sie die derzeit gespeicherten Eigenschaften der exponentiellen Fourier- und Mellin-Transformationen.
![](assets.de/integral-transform-entitystore/O_117.png)