Wolfram Language

Acesso mais produtivo à base de conhecimento

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.

In[1]:=
Click for copyable input
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]}|>|>|>|>|>|>]
Out[1]=

Uma versão mais completa pode ser obtida da seguinte CloudObject.

In[2]:=
Click for copyable input
itstore = CloudGet[CloudObject[ "https://www.wolframcloud.com/objects/c21b356b-607a-406c-af91-\ 5088f435fe99"]]
Out[2]=

Registre o banco de dados para esta sessão.

In[3]:=
Click for copyable input
PrependTo[$EntityStores, itstore];

Veja as entidades no banco de dados.

In[4]:=
Click for copyable input
EntityValue["IntegralTransform", "Entities"]
Out[4]=

Adicione uma nova transformada.

In[5]:=
Click for copyable input
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.

In[6]:=
Click for copyable input
EntityValue["IntegralTransform", "Properties"]
Out[6]=

Extraia as definições para transformadas exponenciais de Fourier e Mellin.

In[7]:=
Click for copyable input
EntityValue[ Entity["IntegralTransform", "LaplaceTransform"], "Definition"]
Out[7]=
In[8]:=
Click for copyable input
EntityValue[ Entity["IntegralTransform", "MellinTransform"], "Definition"]
Out[8]=

Compare com as expressões dadas pelas funções integradass correspondentes.

In[9]:=
Click for copyable input
Activate[EntityValue[Entity["IntegralTransform", "LaplaceTransform"], "Definition"][[2]] /. f :> Function[t, ArcTan[t]]]
Out[9]=
In[10]:=
Click for copyable input
LaplaceTransform[ArcTan[t], t, z]
Out[10]=

Mostre a propriedade de convolução da transformada Z.

In[11]:=
Click for copyable input
Entity["IntegralTransform", "ZTransform"][ "GeneralProperties"]["Convolution"]
Out[11]=

Compare as propriedades atualmente armazenadas das transformadas exponenciais de Fourier e Mellin.

mostre o input completo da Wolfram Language
In[12]:=
Click for copyable input
format[l_] := If[MatchQ[l, _Missing], "\[LongDash]", Activate[HoldForm @@ ({Column[l]} /. HoldPattern[ConditionalExpression[a_, b_]] :> Row[{a, Style[ " for ", Gray], b}])]]
In[13]:=
Click for copyable input
mt = Entity["IntegralTransform", "MellinTransform"][ "GeneralProperties"]; eft = Entity["IntegralTransform", "ExponentialFourierTransform"][ "GeneralProperties"];
In[14]:=
Click for copyable input
Grid[Take[ Flatten[{{Style[#, Bold], Style[#, Bold]}, {format@mt[#], format@eft[#]}} & /@ DeleteDuplicates[Join[Keys[mt], Keys[eft]]], 1], 10], Dividers -> All, Background -> {None, {{LightBlue, White}}}] // TraditionalForm
Out[14]//TraditionalForm=

Exemplos Relacionados

de en es fr ja ko ru zh