# Tag Info

5

Mathematica's FourierTransform can be a bit difficult at times, so I'll let someone else address whether your code can be tweaked to work, and instead show how to do it symbolically. Defining $$f(\mathbf{r})=\exp\left(-|W\mathbf{r}|\right)$$ where W=\left( \begin{array}{ccc} \sqrt{w_x} & 0 & 0 \\ 0 & \sqrt{w_y} & 0 \\ 0 & 0 & ...

3

The issue here is a subtle issue: one must be careful when choosing plot ranges in order to make sure that one is getting a good picture of what the data looks like. For starters, let's take a look at the initial masks data: ApertureSize = {300, 300}; DiscRadius = 20; PhaseDisc0 = 10; Disc1 = {50, 150}; PhaseDisc1 = 10; Disc2 = {150, 150}; PhaseDisc2 = ...

3

I'm sure you know that a line will almost never run through exact pixel positions. Therefore, you have two choices. First, you interpolate your image matrix and then you can sample as many points along the line as you like. In this case, I probably wouldn't recommend it because the values depend on the interpolation itself. Another, very easy way is to use ...

2

Here's a qualitative way to do the computation using FFTs. First, make some data (in this, the disks all have phase 1, but that can be easily fixed): w1 = 600; w2 = 800; dat = Sum[ RotateRight[ DiskMatrix[ RandomInteger[{1, 150}], {w1, w2}], {RandomInteger[{-1000, 1000}], RandomInteger[{-1000, 1000}]}], {k, 6}]; Here's a plot of ...

9

As was noted by @DumpsterDoofus, the FT of cosh(x) does not exist. So in a sense this is GIGO. Whether FourierTransform should be able to detect this nonexistence is a question I will raise in house. So why does one get 0 for that transform? I have not checked in detail but will hazaed a guess that Integrate (called by FourierTransform under the hood) is ...

6

It is not hard to see where the 0 is coming from. It has to do with the FourierTransform part. By the time we get to the Inverse, it is too late. The damage has been done. f = TrigToExp[Cosh[t]] f1 = FourierTransform[f, t, w] Now Mathematica decided to give zero for each part of the above: FourierTransform[(1/2) ExpToTrig[Exp[-t]], t, w] (* 0 *) ...

1

This is an extended comment. In MMA10.0.1 on Win7, FullSimplify[I InverseFourierTransform[FourierTransform[Cosh[t],t,w]/w,w,x]] returns 0 as you state. FourierTransform[Cosh[t], t, w] (* returns FourierTransform[Cosh[t], t, w] *) FourierTransform[Sinh[t], t, w] (* returns FourierTransform[Sinh[t], t, w] *) FourierTransform[Tanh[t], t, w] (* returns ...

5

Your function \$HistoryLength = 0; a = -2; b = 5 I - 5; f[x_, y_] := 1/(x^2 + a y^2 + b); have long and sharp tails Plot3D[Re[f[x, y]], {x, -20, 20}, {y, -20, 20}, PlotPoints -> 200, MaxRecursion -> 5, PlotRange -> All, AxesLabel -> {x, y}] However there is a common procedure to calculate the Fourier transform numerically. It is tricky ...

Top 50 recent answers are included