EntityStore de transformadas integrais
Uma transformada integral é uma operação matemática que mapeia uma função com outra
por meio de uma integral de forma
onde
é conhecida como o núcleo. Transformadas integrais são extremamente importantes em muitas áreas de interesse, incluindo o processamento de sinais, imagens médicas e teoria da probabilidade. Aqui, a construção de um banco de dados de entidades contendo propriedades de transformações importantes é ilustrada.
O banco de dados de entidade pode ser codificado gravando as propriedades mais importantes das transformadas integrais em uma estrutura de dados EntityStore.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_154.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.pt-br/integral-transform-entitystore/O_106.png)
Uma versão mais completa pode ser obtida da seguinte CloudObject.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_155.png)
itstore =
CloudGet[CloudObject[
"https://www.wolframcloud.com/objects/c21b356b-607a-406c-af91-\
5088f435fe99"]]
![](assets.pt-br/integral-transform-entitystore/O_107.png)
Registre o banco de dados para esta sessão.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_156.png)
PrependTo[$EntityStores, itstore];
Veja as entidades no banco de dados.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_157.png)
EntityValue["IntegralTransform", "Entities"]
![](assets.pt-br/integral-transform-entitystore/O_108.png)
Adicione uma nova transformada.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_158.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];
Retorne as propriedades atualmente disponíveis para transformadas integrais.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_159.png)
EntityValue["IntegralTransform", "Properties"]
![](assets.pt-br/integral-transform-entitystore/O_109.png)
Extraia as definições para transformadas exponenciais de Fourier e Mellin.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_160.png)
EntityValue[
Entity["IntegralTransform", "LaplaceTransform"], "Definition"]
![](assets.pt-br/integral-transform-entitystore/O_110.png)
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_161.png)
EntityValue[
Entity["IntegralTransform", "MellinTransform"], "Definition"]
![](assets.pt-br/integral-transform-entitystore/O_111.png)
Compare com as expressões dadas pelas funções integradass correspondentes.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_162.png)
Activate[EntityValue[Entity["IntegralTransform", "LaplaceTransform"],
"Definition"][[2]] /. f :> Function[t, ArcTan[t]]]
![](assets.pt-br/integral-transform-entitystore/O_112.png)
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_163.png)
LaplaceTransform[ArcTan[t], t, z]
![](assets.pt-br/integral-transform-entitystore/O_113.png)
Mostre a propriedade de convolução da transformada Z.
![Click for copyable input](assets.pt-br/integral-transform-entitystore/In_164.png)
Entity["IntegralTransform", "ZTransform"][
"GeneralProperties"]["Convolution"]
![](assets.pt-br/integral-transform-entitystore/O_114.png)
Compare as propriedades atualmente armazenadas das transformadas exponenciais de Fourier e Mellin.
![](assets.pt-br/integral-transform-entitystore/O_115.png)