tag:www.mathworks.com,2005:/matlabcentral/fileexchange/feedMATLAB Central File Exchangeicon.pnglogo.pngMATLAB Central - File ExchangeUser-contributed code library2015-02-28T20:35:01-05:00231731100tag:www.mathworks.com,2005:FileInfo/498652015-02-28T23:09:18Z2015-02-28T23:09:18Zidst2(A)Calculate the inverse sine transform of 2D matrix A<p>function out = idst2(A)
<br />% Calculate the inverse sine transform of 2D matrix A
<br />N = length(A) + 1;
<br />U = zeros(N,N);
<br />for i = 1:N
<br /> for j = 1:N
<br /> holder = 0;
<br /> for m = 1:length(A)
<br /> for n = 1:length(A)
<br /> holder = holder + ...
<br /> A(m,n) * ...
<br /> sin(pi * m * (i-1) / (N - 1)) * ...
<br /> sin(pi * n * (j-1) / (N - 1));
<br /> end
<br /> end
<br /> U(i,j) = holder;
<br /> end
<br />end
<br />out = U;</p>Koorosh Gobalhttp://www.mathworks.com/matlabcentral/profile/authors/6053464-koorosh-gobalMATLAB 8.3 (R2014a)falsetag:www.mathworks.com,2005:FileInfo/498642015-02-28T23:02:50Z2015-02-28T23:02:50Zdst2(U)Calculate the 2D discrete sign transform of function y.<p>function out = dst2(U)
<br />% DST calculate the 2D discrete sign transform of function y.
<br />N = length(U);
<br />A = zeros(N-1,N-1);
<br />for m=1:N-1
<br /> for n=1:N-1
<br /> holder = 0;
<br /> for i=1:N-1
<br /> for j=1:N-1
<br /> holder = holder + ...
<br /> 1 / (N - 1)^2 * ...
<br /> ( U(i,j) * sin(pi * m * (i-1) / (N-1)) * ...
<br /> sin(pi * n * (j-1) / (N-1)) + ...
<br /> U(i,j+1) * sin(pi * m * (i-1) / (N-1)) * ...
<br /> sin(pi * n * j / (N-1)) + ...
<br /> U(i+1,j) * sin(pi * m * i / (N-1)) * ...
<br /> sin(pi * n * (j-1) / (N-1)) + ...
<br /> U(i+1,j+1) * sin(pi * m * i / (N-1)) * ...
<br /> sin(pi * n * j / (N-1)) );
<br /> end
<br /> end
<br /> A(m,n) = holder;
<br /> end
<br />end
<br />out = A;</p>Koorosh Gobalhttp://www.mathworks.com/matlabcentral/profile/authors/6053464-koorosh-gobalMATLAB 8.3 (R2014a)falsetag:www.mathworks.com,2005:FileInfo/498632015-02-28T22:58:10Z2015-02-28T22:58:10ZDecentralizedPathPlanningForCoverageUsingGradientDescent()Interesting Closed Path Controller<p>"Decentralized Path Planning For Coverage using Gradient Descent Adaptive Control" is a recent IJRR paper submitted by Soltero et. al. The first algorithm presented in this paper is simulated.An interesting closed path controller has been implemented in the algorithm. This is done using the Voronoi cost function and the optimization is done using gradient descent method. In a map there are a few interesting regions which give sensory input to the robot. This algorithm helps the path of the robot to adapt according to the map provided and maximize the time spent on the interesting areas. Here the path changes for each iteration and tends to converge to the interesting region. The initial path of the robot is important since the map is not known to the robot the initial path should preferably cover all the regions on the map so that we can obtain all the interesting regions. The code lets you change the interesting region, hence play with it have fun!!!</p>Srikanth Kandanuru Venkata Sudarshanhttp://www.mathworks.com/matlabcentral/profile/authors/5900325-srikanth-kandanuru-venkata-sudarshanMATLAB 8.4 (R2014b)falsetag:www.mathworks.com,2005:FileInfo/497892015-02-21T20:44:56Z2015-02-28T22:39:05ZLeast-Squares SmootherSmooths Noisy Data by Minimizing a Cost Function<p>LSSMOOTH solves an overdetermined system of equations to minimize a combination of output-input squared error and squared high-order derivative in the output. The idea of minimizing this cost function is credited to ID:48799. In LSSMOOTH, the solution method and user controls are different, for numerics and convenience, and with some cost in speed. A companion smoother IRLSSMOOTH (ID:49788) takes this smoothing approach one step farther.</p>
<p>The user specifies the smoother response time in units of samples, which translates to roughly the same bandwidth as a moving average of that many samples. The output is much smoother though, due to greater high-frequency attenuation.</p>
<p>Optionally, the user can specify the highest derivative not to penalize, which affects the smoother's transient response. The default is 2. Lower numbers produce more damping and higher numbers less. In practice the differences are usually subtle. More details about the inputs are found in the code header.</p>
<p>A rare and nice feature of this smoothing approach is that the question of how to treat the ends of the sequence never arises. Every output sample is part of the vector solution to the cost minimization.</p>
<p>See also IRLSSMOOTH, ID:49788</p>Jimhttp://www.mathworks.com/matlabcentral/profile/authors/42338-jimMATLAB 6.5 (R13)48799falsetag:www.mathworks.com,2005:FileInfo/497882015-02-21T20:38:58Z2015-02-28T22:36:37ZRobust Least-Squares SmootherSmooths Noisy, Outlier-Infested Data by Minimizing a Cost Function<p>IRLSSMOOTH takes the same smoothing approach as LSSMOOTH (ID:49789) but adds Iterative Reweighting to deweight outliers, preventing them from swaying the smoothed output sequence. The user controls are the same, but IRLSSMOOTH typically makes 7 - 10 iterations, so it's less speedy. The cost function minimization idea, used in both LSSMOOTH and IRLSSMOOTH is credited to ID:48799.</p>
<p>The user specifies the smoother response time in units of samples, which translates to roughly the same bandwidth as a moving average of that many samples. The output is much smoother though, due to greater high-frequency attenuation.</p>
<p>Optionally, the user can specify the highest derivative not to penalize, which affects the smoother's transient response. The default is 2. Lower numbers produce more damping and higher numbers less. In practice the differences are usually subtle. More details about the inputs are found in the code header.</p>
<p>In IRLSSMOOTH , as in LSSMOOTH, the question of how to treat the ends of the sequence never arises. Every output sample is part of the vector solution to the cost minimization.</p>
<p>See also LSSMOOTH, ID:49789</p>Jimhttp://www.mathworks.com/matlabcentral/profile/authors/42338-jimMATLAB 6.5 (R13)48799falsetag:www.mathworks.com,2005:FileInfo/460702014-03-28T15:12:11Z2015-02-28T22:33:32Zplot_subroutinesplots the subroutines in a function, and their dependencies on each other<p>plot_subfun('foo.m') plots a node map of the subroutines in a function, and their dependencies.
<br />The screenshot is a sample output for the function plot_subfun.m itself.</p>Christopher Pedersenhttp://www.mathworks.com/matlabcentral/profile/authors/2130826-christopher-pedersenMATLAB 8.4 (R2014b)MATLAB1592427608falsetag:www.mathworks.com,2005:FileInfo/464972014-05-05T20:31:44Z2015-02-28T18:18:53Zpreselectordesigner()a tool for receiver design engineers<p>This is a tool for laying out the frequency plan for an RF downconverter. It employs the classic spur chart along with a more secriptive window of at what frequencies an interferer might fall in band. The user can also choose which mixer spurs to worry about to accommodate high dynamic range mixers.</p>Art Blairhttp://www.mathworks.com/matlabcentral/profile/authors/4944620-art-blairMATLAB 8.1 (R2013a)MATLABfalsetag:www.mathworks.com,2005:FileInfo/450162014-01-13T22:20:46Z2015-02-28T18:08:58ZGNI receiver design toolAnalyzes & optimizes a receiver chain of amps, mixers, etc<p>This is a tool for doing RF receiver design. It analyzes a cascade of components like amplifiers, frequency mixers, etc to calculate the noise figure, 3rd order 2-tone intermodulation intercept point, and both spur and compression free dynamic ranges. The gain distribution among amplifiers can be optimized with a click of a button after the amps are marked for optimization. It can use the optimizer from the optimization toolbox if present or a crude built in optimizer. The chain can be saved in or loaded from a file.</p>Art Blairhttp://www.mathworks.com/matlabcentral/profile/authors/4944620-art-blairMATLAB 7.12 (R2011a)MATLABDont lose track of the included image files with the icons.falsetag:www.mathworks.com,2005:FileInfo/498622015-02-28T17:45:30Z2015-02-28T17:50:31ZDiscriminant Diffusion Maps AnalysisDemo of discriminant diffusion maps analysis (DDMA) using a three-arm spiral data set<p>The demo shows how the discriminant diffusion maps analysis (DDMA) projects data from high-dimensional space to a low-dimensional space by generating a three-arm spiral data set of 3D, and then reducing the original data space to a 2-dimensional space.
<br />The codes are shared here for expediating the communication of research results among scientific communities. They can be freely used at your own risk, given that the authors' contributions are appropriatedly cited or acknowledged in your publications.
<br />References:
<br />[1] Yixiang Huang, et al. Discriminant Diffusion Maps Analysis: A Robust Manifold Learner For Dimensionality Reduction And Its Applications in machine condition monitoring and fault diagnosis. Mechanical Systems and Signal Processing, 34(1-2), 2013: 277-297.</p>David Huanghttp://www.mathworks.com/matlabcentral/profile/authors/2553740-david-huangMATLAB 8.4 (R2014b)falsetag:www.mathworks.com,2005:FileInfo/498612015-02-28T16:22:48Z2015-02-28T16:22:48ZA Fingerprint Segmentation Technique Based on Morphological ProcessingH = imagesegment (F); where F is the input fingerprint image and H is the segmented image.<p>Fingerprint segmentation is one of the most important preprocessing steps in an automatic fingerprint identification system (AFIS). It is used to separate a fingerprint area (foreground) from the image background. Accurate segmentation of a fingerprint will greatly reduce the computation time of the following processing steps, and discard many spurious minutiae. In this paper, a new segmentation algorithm is presented. Apart from its simplicity, it is characterized by being neither depend on empirical thresholds chosen by experts or a learned model trained by elements generated from manually segmented fingerprints. The algorithm uses the block range as a feature to achieve fingerprint segmentation. Then, some Morphological closing and opening operations are performed, to extract the foreground from the image. The performance of the proposed technique is checked by evaluating the classification error (Err). Experimental results have shown that when analyzing FVC2004, FVC2002, and FVC2000 databases using the proposed algorithm, the average classification error rates are much less than those obtained by other approaches. Several illustrative examples are given to verify this conclusion.</p>Mina Bishayhttp://www.mathworks.com/matlabcentral/profile/authors/6204521-mina-bishayMATLAB 7.12 (R2011a)false