tag:www.mathworks.com,2005:/matlabcentral/fileexchange/feedMATLAB Central File Exchangeicon.pnglogo.pngMATLAB Central - File ExchangeUser-contributed code library2015-09-05T10:16:15-04:00248491100tag:www.mathworks.com,2005:FileInfo/528792015-09-05T11:15:07Z2015-09-05T11:15:07Zansweranswer<p>answer for tutorial</p>sasitaran baskaranhttp://www.mathworks.com/matlabcentral/profile/authors/6765752-sasitaran-baskaranMATLAB 8.6 (R2015b)25532falsetag:www.mathworks.com,2005:FileInfo/528472015-09-04T13:33:21Z2015-09-05T10:05:38Zinvchol_durbin(T)Inverse of the Cholesky factor of the p.d. Hermitian sym Toeplitz matrix T using Durbin recursions<p>Finds the inverse of the Cholesky factor of the positive definite Hermitian symmetric Toeplitz matrix T (N>=2) using Durbin recursions [1].
<br />Aravindh Krishnamoorthy, <a href="mailto:aravindh.krishnamoorthy@fau.de">aravindh.krishnamoorthy@fau.de</a>, 04-Sep-2015.
<br />Released under the 2-clause BSD license.
<br />[1] Gene H. Golub, Charles F. Van Loan, Matrix Computations, Third Edition, Algorithm 4.7.1 (Durbin).</p>Aravindh Krishnamoorthyhttp://www.mathworks.com/matlabcentral/profile/authors/3862426-aravindh-krishnamoorthyMATLAB 7.14 (R2012a)falsetag:www.mathworks.com,2005:FileInfo/278262010-06-03T18:55:55Z2015-09-05T09:19:40ZFast assembly of stiffness and matrices in finite element method using nodal elementsvectorization of FEM matrices assembly<p>This code demonstrates vectorization concepts from the paper:
<br />Talal Rahman and Jan Valdman: Fast MATLAB assembly of FEM matrices in 2D and 3D: nodal elements, Applied Mathematics and Computation 219, 7151–7158 (2013).
<br />A link to the paper can be found at the author web page located at <a href="http://sites.google.com/site/janvaldman/publications">http://sites.google.com/site/janvaldman/publications</a></p>
<p>Please cite the paper when you find the code useful.</p>
<p>Description; To run the code, call </p>
<p>"start_assembly_P1_3D" or "start_assembly_P1_2D" </p>
<p>in the Matlab window to perform tests for nodal P1 (linear) elements defined on 2D triangular or 3D tetrahedral mesh. For a given mesh, mass and stiffness matrices are generated in a fast vectorized way.</p>
<p>Functionality is extended to generate mass and stiffness matrices for a (vector) linear elasticity problem.</p>
<p>To run the code, call </p>
<p>"start_assembly_P1_3D_elasticity" or "start_assembly_P1_2D_elasticity". </p>
<p>Tien Dat Ngo (EFPL Lausanne) added assembly of stiffness matrices in linear elasticity for linear elements on a hexahedral mesh </p>
<p>To run the code, call</p>
<p>"start_assembly_Q1_3D_elasticity".</p>Jan Valdmanhttp://www.mathworks.com/matlabcentral/profile/authors/822529-jan-valdmanMATLAB 8.4 (R2014b)falsetag:www.mathworks.com,2005:FileInfo/527372015-08-29T20:28:57Z2015-09-05T08:20:17Zsmoothmedian(x,dim,Tol)A smoothed median<p>If x is a vector, find the univariate smoothed median of x. If x is a 2D matrix, compute the univariate smoothed median value for each column and return them in a row vector. If the optional argument dim is given, operate along this dimension.
<br />Smoothing the median is achieved by minimizing the following objective function [1]:
<br />S (p) = sum over i < j (((x(i) - p)^2 + (x(j) - p)^2) .^ 0.5)
<br />With the ordinary median as the initial value of p, this function minimizes the objective function by finding the root of the first derivative using a Newton-Bisection hybrid algorithm. By default, the tolerance (Tol) for the first derivative is set at single machine precision.
<br />This smoothing results in a small drop in the breakdown point of the median from 0.5 to a value of 0.341 and has good properties for bootstrap applications. Bootstrap confidence intervals using the smooth median have good coverage for the ordinary median of the population distribution and can be used to obtain second order accurate intervals with Studentized bootstrap and calibrated percentile bootstrap methods [1]. Unlike kernel-based smoothing approaches, bootstrapping smoothmedian does not require explicit choice of a smoothing parameter or a probability density function. The algorithm used is suitable for small-to-mediam sample sizes.
<br />Reference:
<br />[1] Brown, Hall and Young (2001) The smoothed median and the bootstrap. Biometrika 88(2):519-534</p>Andrew Pennhttp://www.mathworks.com/matlabcentral/profile/authors/6835632-andrew-pennMATLAB 6.5 (R13)MATLABfalsetag:www.mathworks.com,2005:FileInfo/528772015-09-05T06:41:22Z2015-09-05T06:46:55Zhonunu/SketchRecognizerA Sketch Recognizer that recognize hand-drawn free body diagrams<p>The recognizer identifies mass spring damper, and their linkage. The recognizer also plays the animation of the system.
<br />The github repo:
<br /><a href="https://github.com/honunu/SketchRecognizer">https://github.com/honunu/SketchRecognizer</a></p>
<p>Video demo can be found in here:
<br /><a href="https://www.youtube.com/watch?v=OT-i_Pl1nnk">https://www.youtube.com/watch?v=OT-i_Pl1nnk</a></p>Yiweihttp://www.mathworks.com/matlabcentral/profile/authors/5037050-yiweiMATLAB 8.2 (R2013b)falsetag:www.mathworks.com,2005:FileInfo/479212014-09-24T03:54:09Z2015-09-05T05:03:40ZPlotPub - Publication Quality Graphs in MATLABPlotPub is a MATLAB library for creating beautiful, publication quality figures.<p>PlotPub is a free and open source MATLAB library for creating beautiful, publication quality graphs from instantly generated MATLAB figures or saved MATLAB fig files. This library provides a simple and easy way to modify almost all aspects of a MATLAB figure. It can export figures in EPS, PDF, JPEG, PNG and TIFF with adjustable resolution. The default settings in PlotPub can produce decent, publication ready graphs right out of the box.</p>
<p>New features of v2.x
<br />----------------------------------------------
<br />- Simple and elegant object oriented approach: all aspects of the MATLAB figure is encapsulated in the Plot class.
<br />- Create new plots, open saved figures or change existing figure using the same call, Plot().
<br />- Control every aspect of a MATLAB figure using the Plot class object.
<br />- Property changes are immediately visible, useful when using from the command window.
<br />- Even easier to use.
<br />- Fully compatible to v1.x.</p>
<p>What’s New in v1.3?
<br />----------------------------------------------
<br />- Several bugs are fixed including marker spacing.
<br />- New options for axis color, axis line width, tick direction, tick length, minor ticks, legend box, legend text color etc.
<br />- New, more appealing default look.</p>
<p>Features of v1.x
<br />----------------------------------------------
<br />- The default settings can generate beautiful, publication quality graphs out of the box.
<br />- Supports instantly generated MATLAB figures and saved MATLAB fig files
<br />- Export figures in EPS, PDF, JPEG, PNG and TIFF with adjustable resolution.
<br />- Adjustable marker spacing.
<br />- Change almost all aspects of a figure using simple and intuitive code.
<br />- A lot of example codes. A decent tutorial and good documentation.
<br />- Tested in Ubuntu and OSX with MATLAB 7.10. But it should work in other operating systems with other versions of MATLAB.
<br />- Distributed under BSD license which allows you to do anything you like.</p>
<p>Documentations
<br />----------------------------------------------
<br />Please visit the project page at <a href="http://masumhabib.com/publication-quality-graphs-matlab/">http://masumhabib.com/publication-quality-graphs-matlab/</a> for tutorial and documentation.</p>
<p>Installation
<br />----------------------------------------------
<br />Download and extract the zip file from the link given above. Install PlotPub using any one of the three possible ways: (1) copy all the *.m files inside the lib folder to either your MATLAB path or (2) copy those files to your current project folder or (3) put plotPub-master in any convenient folder and add the following line in your MATLAB code:</p>
<p>addpath('D:/MATLAB/PlotPub-2.0');</p>
<p>where, I assume that you put PlotPub-2.0 in D:/MATLAB folder. The sample codes can be found inside the examples folder.</p>
<p>Bugs and Feature Request
<br />----------------------------------------------
<br />If you find any bug/problems/issues, please report it on the GitHub page at <a href="https://github.com/masumhabib/PlotPub">https://github.com/masumhabib/PlotPub</a>. If you want new features, please add a request there.</p>
<p>Known issues
<br />----------------------------------------------
<br />- Does not work with sub-figures.</p>K M Masum Habibhttp://www.mathworks.com/matlabcentral/profile/authors/4734915-k-m-masum-habibMATLAB 8.2 (R2013b)MATLABFIXPSLINESTYLE1792823629falsetag:www.mathworks.com,2005:FileInfo/466372014-05-16T11:40:09Z2015-09-05T05:03:05ZA Simple Finite Volume Solver for MatlabA simple yet general purpose FVM solver for transient convection diffusion PDE<p>A simple Finite volume tool
<br />This code is the result of the efforts of a chemical/petroleum engineer to develop a simple tool to solve the general form of convection-diffusion equation:
<br />α∂ϕ/∂t+∇.(uϕ)+∇.(−D∇ϕ)+βϕ=γ
<br />on simple uniform/nonuniform mesh over 1D, 1D axisymmetric (radial), 2D, 2D axisymmetric (cylindrical), and 3D domains.
<br />The code accepts Dirichlet, Neumann, and Robin boundary conditions (which can be achieved by changing a, b, and c in the following equation) on a whole or part of a boundary:
<br />a∇ϕ.n+bϕ=c.
<br />It also accepts periodic boundary conditions.
<br />The main purpose of this code is to serve as a handy tool for those who try to play with mathematical models, solve the model numerically in 1D, compare it to analytical solutions, and extend their numerical code to 2D and 3D with the minimum number of modifications in the 1D code.
<br />The discretizaion schemes include
<br /> * central difference
<br /> * upwind scheme for convective terms
<br /> * TVD schemes for convective terms with many flux limiters
<br />To get started, go to the `Test` folder and run the test scripts.
<br />A few calculus functions (divergence, gradient, etc) and averaging techniques (arithmetic average, harmonic average, etc) are available, which can be helpful specially for solving nonlinear or coupled equations or implementing explicit schemes.
<br />I have used the code to solve coupled nonlinear systems of PDE. You can find some of them in the Examples/advanced folder.</p>
<p>There are a few functions in the 'PhysicalProperties' folder for the calculation of the physical properties of fluids. Some of them are not mine, which is specified inside the file.</p>
<p>I'll try to update the documents regularly, in the github repository. Please give me your feedback/questions by writing a comment in my weblog: <<a href="http://fvt.simulkade.com/">http://fvt.simulkade.com/</a>>
<br />Special thanks: I vastly benefited from the ideas behind Fipy <<a href="http://www.ctcms.nist.gov/fipy/">http://www.ctcms.nist.gov/fipy/</a>>, a python-based finite volume solver.</p>
<p>To start the solver, download and extract the zip archive, open and run 'FVToolStartUp' function.
<br />To see the code in action, copy and paste the following in your Matlab command window:</p>
<p>clc; clear;
<br />L = 50; % domain length
<br />Nx = 20; % number of cells
<br />m = createMesh3D(Nx,Nx,Nx, L,L,L);
<br />BC = createBC(m); % all Neumann boundary condition structure
<br />BC.left.a(:) = 0; BC.left.b(:)=1; BC.left.c(:)=1; % Dirichlet for the left boundary
<br />BC.right.a(:) = 0; BC.right.b(:)=1; BC.right.c(:)=0; % Dirichlet for the right boundary
<br />D_val = 1; % value of the diffusion coefficient
<br />D = createCellVariable(m, D_val); % assign the diffusion coefficient to the cells
<br />D_face = harmonicMean(D); % calculate harmonic average of the diffusion coef on the cell faces
<br />Mdiff = diffusionTerm(D_face); % matrix of coefficients for the diffusion term
<br />[Mbc, RHSbc] = boundaryCondition(BC); % matix of coefficients and RHS vector for the BC
<br />M = Mdiff + Mbc; % matrix of cefficients for the PDE
<br />c = solvePDE(m,M, RHSbc); % send M and RHS to the solver
<br />visualizeCells(c); % visualize the results</p>
<p>You can find some animated results of this code in my youtube channel:
<br /><a href="https://www.youtube.com/user/processsimulation/videos">https://www.youtube.com/user/processsimulation/videos</a></p>Ehsanhttp://www.mathworks.com/matlabcentral/profile/authors/2336153-ehsanMATLAB 8.3 (R2014a)MATLAB35710falsetag:www.mathworks.com,2005:FileInfo/507692015-05-06T17:29:50Z2015-09-05T05:02:03Zecg-kitA Matlab toolbox for cardiovascular signal processing<p>This toolbox is a collection of Matlab tools that I used, adapted or developed during my PhD and post-doc work with the Besicos group at University of Zaragoza, Spain and at the National Technological University of Buenos Aires, Argentina. The ecg-kit has tools for reading, processing and presenting results. The main feature of the this toolbox is the possibility to use several popular algorithms for ECG processing, such as:
<br />- Algorithms from Physionet's WFDB software package
<br />- QRS detectors, such as gqrs, wqrs, wavedet, ecgpuwave, Pan & Tompkins, EP limited
<br />- Wavedet ECG delineator
<br />- Pulse wave detectors as wabp and wavePPG
<br />- a2hbc and EP limited heartbeat classifiers.
<br />And other scritps for inspecting, correcting and reporting all these results.</p>marianuxhttp://www.mathworks.com/matlabcentral/profile/authors/1707610-marianuxMATLAB 8.2 (R2013b)Signal Processing ToolboxStatistics and Machine Learning ToolboxMATLABNonefalsetag:www.mathworks.com,2005:FileInfo/487072014-12-10T15:29:25Z2015-09-05T05:01:53ZbraidlabA Matlab package for analyzing data using braids<p>braidlab is a Matlab package for analyzing data using braids. It was designed to be fast, so it can be used on relatively large problems. It uses the object-oriented features of Matlab to provide a class for braids on punctured disks and a class for equivalence classes of simple closed loops. The growth of loops under iterated action by braids is used to compute the topological entropy of braids, as well as for determining the equality of braids.
<br />braidlab was written by Jean-Luc Thiffeault and Marko Budisic.
<br />See <a href="https://github.com/jeanluct/braidlab">https://github.com/jeanluct/braidlab</a> for more information and the braidlab guide.</p>Jean-Luchttp://www.mathworks.com/matlabcentral/profile/authors/3084257-jean-lucMATLAB 8.4 (R2014b)falsetag:www.mathworks.com,2005:FileInfo/475312014-08-13T09:53:09Z2015-09-05T05:01:30Zjosecamachop/MEDA-ToolboxMultivariate Exploratory Data Analysis Toolbox for Matlab<p>The Multivariate Exploratory Data Analysis (MEDA) Toolbox in Matlab is a set of multivariate analysis tools for the exploration of data sets. In the MEDA Toolbox, traditional exploratory plots based on Principal Component Analysis (PCA) or Partial Least Squares (PLS), such as score, loading and residual plots, are combined with new methods like MEDA, oMEDA and SVI plots. The latter are aimed at solving some of the limitations found in the former to
<br />adequately extract conclusions from a data set. Also, other useful tools such as cross-validation algorithms, Multivariate Statistical Process Control (MSPC) charts and data simulation/approximation algorithms (ADICOV) are included in the toolbox. Finally, most of the exploratory tools are extended for their use with very large data sets (Big Data), with unlimited number of observations.</p>Joséhttp://www.mathworks.com/matlabcentral/profile/authors/3921882-joseMATLAB 8.3 (R2014a)MATLABfalse