This Challenge is to efficiently create the Sombrero function of various sizes, resolutions, and frequencies.
Figure Example: Freq=1; XY_max_value=3; Num Rows / Cols 64
Create the 2-D array m(row,col)=sin(pi*R*freq)/(pi*R*freq) where R is the distance from the center of the array. The array is [nrc,nrc] with X(1,1)=Y(1,1)= - xymax and X(nrc,nrc)=Y(nrc,nrc)=xymax.
Input: [xymax,nrc,freq]
Output: [m] an array of size(nrc,nrc) representing the sin(x)/x function
Hints:
Matlab provides excellent functions and array operators to readily create vectors and grids. [ linspace, meshgrid ]
Future:
Polar grid creation to produce Zernike surfaces
Cody, unfortunately, is not recognizing the sinc function of the image processing toolbox. Usage of sinc make for nice tight code
The usage of nan as a solution has required imposing an additional check. The Challenge intent was to use sinc but Cody is sinc-less thus a 0 divide check is required.
Khaled solves the Zero divide dilemna.
Isn't this a known trick?
Solutions with no fixup for sin(0)/0 cheat a little (since NaNs are ignored in max(...)<0.01)--this solution cheats a lot.
ha, good catch!
Vitaly makes beautiful usage of complex to find the radial distance.
466 Solvers
Back to basics 8 - Matrix Diagonals
707 Solvers
157 Solvers
61 Solvers
Number of digits in an integer
272 Solvers