Advertisement
Guest User

Untitled

a guest
Jun 9th, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. hilbertTransformSmoothFinite[f_, x_?NumericQ, supp_, s_: 1] :=
  2. Module[{esupp, ef},
  3. esupp = {supp[[1]] - Abs[f[supp[[1]]]]/s,
  4. supp[[2]] + Abs[f[supp[[2]]]]/s};
  5. ef = Function[X, Piecewise[{{f[X], supp[[1]] < X <= supp[[2]]},
  6. {f[supp[[1]]] + Sign[f[supp[[1]]]] s (X - supp[[1]]),
  7. esupp[[1]] < X <= supp[[1]]},
  8. {f[supp[[2]]] - Sign[f[supp[[2]]]] s (X - supp[[2]]),
  9. supp[[2]] < X <= esupp[[2]]}, {0, True}}]];
  10. NIntegrate[
  11. 1/\[Pi] (ef[\[Xi]] - ef[x])/(\[Xi] - x), {\[Xi], esupp[[1]],
  12. esupp[[2]]}] +
  13. 1/\[Pi] ef[x] Log[(esupp[[2]] - x)/(x - esupp[[1]])]]
  14. hh = h /. NDSolve[{h'[x] == x, h[0] == 0}, h, {x, 0, 1}][[1]];
  15. p = Function[x, hilbertTransformSmoothFinite[hh, x, {0, 1}]];
  16. Plot[p[x], {x, 0, 1}]
  17. Plot[p'[x], {x, 0, 1}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement