tag:www.mathworks.com,2005:/matlabcentral/fileexchange/feedMATLAB Central File Exchangeicon.pnglogo.pngMATLAB Central - File Exchange - type:Function product:"MATLAB" product:"MATLAB Compiler"User-contributed code library2014-12-19T11:11:25-05:001081100tag:www.mathworks.com,2005:FileInfo/480782014-10-29T15:07:32Z2014-12-10T21:07:24ZExample Deployable SimBiology® App for Evaluating PK/PD Drug EfficacyAn example deployable MATLAB® app for simulating a mechanistic PK/PD model built using SimBiology®.<p>This package contains an example of a MATLAB® application built using GUIDE for simulating a SimBiology® model. The SimBiology® model that is included is based on a tumor growth model developed by Koch, Walz, Lahu, and Schropp. Users can use the app as an example interface for entering an initial tumor weight, cell line, and dosing schedule, in order to simulate tumor growth inhibition in response to different drug therapies and generate a report. Using MATLAB Compiler®, the SimBiology® model can be deployed as part of a standalone MATLAB® app for distribution to other users.
<br />
<br />This package includes the MATLAB® GUIDE files, MATLAB Compiler® deployment script, tumor growth SimBiology® model, and MATLAB Report Generator® files.
<br />
<br />To run the app, execute the following command at the MATLAB® command prompt:
<br />
<br />>> TumorGrowthInhibition
<br />
<br />To deploy the app using MATLAB Compiler®, execute the following command:
<br />
<br />>> deployApp
<br />
<br />In MATLAB Report Generator® 4.0 (R2014b), the new Document Object Model (DOM) API is used for generating reports.
<br />Technical Article:
<br /><a href="http://www.mathworks.com/company/newsletters/articles/building-deployable-applications-for-evaluating-pkpd-drug-efficacy.html">http://www.mathworks.com/company/newsletters/articles/building-deployable-applications-for-evaluating-pkpd-drug-efficacy.html</a></p>
<p>References:
<br />Koch, G., Walz A., Lahu, G., and Schropp, J. (2009) Modeling of tumor growth and anticancer effects of combination therapy. Journal of Pharmacokinetics and Pharmacodynamics. 36:179-197.</p>Anitahttp://www.mathworks.com/matlabcentral/fileexchange/authors/158010MATLAB 8.4 (R2014b)MATLAB CompilerMATLAB Report GeneratorSimBiologyMATLABThis requires MATLAB R2012b or later.falsetag:www.mathworks.com,2005:FileInfo/486892014-12-08T17:15:55Z2014-12-08T17:15:55ZBOBYQA algorithmM.J.D. Powell's BOBYQA algorithm using a mexfunction created with dlib's C++ implementation<p>This is a gateway function to use M.J.D. Powell's BOBYQA algorithm (Bound Optimization BY Quadratic Approximation) in MATLAB.
<br />The C++ implementation of dlib (<a href="http://dlib.net">http://dlib.net</a>) is compiled into a mex function to evaluate a MATLAB objective function.</p>
<p>The algorithm consits of three parts:</p>
<p>* The "bobyqa.m" MATLAB file contains the documentation, sets default values and calls the mex function (in .zip file).
<br />* The "bobyqa_alg.cpp" file contains the C++ source code to create the mex function (in .zip file).
<br />* The dlib source code containing the BOBYQA algorithm (download latest release at <a href="http://sourceforge.net/projects/dclib/files/latest/download">http://sourceforge.net/projects/dclib/files/latest/download</a>).</p>
<p>The subfolder "/dlib" and the two files have to be copied into the same directory.</p>
<p>Run</p>
<p> mex(strcat('-I"',pwd,'"'), 'bobyqa_alg.cpp')</p>
<p>to compile the mex file.
<br />Further information as well as an example can be found inside the "bobyqa.m" file.</p>
<p>Comment: An analogous gateway function can probably be set up for the other C++ implementations if you find a good library.</p>Ulrich Römerhttp://www.mathworks.com/matlabcentral/fileexchange/authors/533422MATLAB 8.3 (R2014a)MATLAB CompilerMATLABfalsetag:www.mathworks.com,2005:FileInfo/477842014-11-21T15:44:24Z2014-11-21T15:44:24ZMachine Learning for Mining & Metals2 examples for Machine Learning for Mining, Regression & Classification<p>As presented in the Webinar "Machine Learning for the Mining Industry"
<br />Example 1:
<br />Goal is to build a model that can detect defects in steel plate
<br />manufacturing.
<br />This demo shows:
<br /> a) Machine Learning techniques (Neural Networks, Naive Bayesian, Tree Bagger), Feature Selection,
<br /> b)Parallel Computing
<br /> c) MATLAB Compiler & Builder Ex
<br /> d) Spreadsheet Link</p>
<p>Example 2:
<br />This demo shows how machine learning can be used to improve the accuracy of modelling and predicting the impurities output of an iron ore processing plant. A number of variables in the plant were measured over time including the silica (SiO2) and magnesia (MgO) concentration at the output of the plant. The goal of the modelling is to determine what parameters in the plant need to be adjusted to keep the silica and magnesia concentration at the desired level. The demo uses 1 year of real data captured in an iron-ore processing plant. </p>
<p>This demo shows:
<br /> a) Preparing time series data for analysis
<br /> b) Interpolating missing data
<br /> c) Time aligning and joining multiple data sets using tables
<br /> d) Using decision trees and neural networks to improve the model calculated using multiple linear regression
<br /> e) Using sequential feature selection to identify the important parameters in the plant</p>David Willinghamhttp://www.mathworks.com/matlabcentral/fileexchange/authors/29788MATLAB 8.3 (R2014a)MATLAB Builder EXMATLAB CompilerNeural Network ToolboxParallel Computing ToolboxStatistics ToolboxMATLABSystem Identification ToolboxDatafeed ToolboxSystem Identification ToolboxDatafeed Toolboxfalsetag:www.mathworks.com,2005:FileInfo/431562013-08-20T21:27:06Z2014-11-13T03:50:24ZDynamic Time Warping (DTW)This package implements Dynamic Time Warping (DTW). <p>DTW is implemented in both Matlab and C/MEX. The C/MEX function is very fast. The algorithm we use is the standard one from wiki: <a href="http://en.wikipedia.org/wiki/Dynamic_time_warping">http://en.wikipedia.org/wiki/Dynamic_time_warping</a>
<br />There is a demo in the package. To use, just call:
<br />d=dtw(s,t,w) or d=dtw_c(s,t,w)</p>Quan Wanghttp://www.mathworks.com/matlabcentral/fileexchange/authors/130634MATLAB 8.0 (R2012b)MATLAB CompilerMATLABfalsetag:www.mathworks.com,2005:FileInfo/484282014-11-12T00:38:11Z2014-11-12T00:46:40ZCOSBOS: COlor-Sensor-Based Occupancy SensingOccupancy distribution estimation for smart light delivery with perturbation-modulated light sensing<p>This is the software package for using color sensors and perturbation-modulated light (color-controllable fixtures required) to estimate the occupancy distribution in an indoor space. It corresponds to these papers:
<br />[1] Quan Wang, Xinchi Zhang, Kim L. Boyer, "Occupancy distribution estimation for smart light delivery with perturbation-modulated light sensing", Journal of Solid State Lighting 2014 1:17, ISSN 2196-1107,
<br />doi:10.1186/s40539-014-0017-2. </p>
<p>[2] Quan Wang, Xinchi Zhang, Meng Wang, Kim L. Boyer, "Learning Room Occupancy Patterns from Sparsely Recovered Light Transport Models", 22nd International Conference on Pattern Recognition (ICPR), 2014. </p>
<p>[3] Quan Wang, Xinchi Zhang, Kim L. Boyer, "3D Scene Estimation with Perturbation-Modulated Light and Distributed Sensors", 10th IEEE Workshop on Perception Beyond the Visible Spectrum (PBVS). </p>
<p>[4] Xinchi Zhang, Quan Wang, Kim L. Boyer, "Illumination Adaptation with Rapid-Response Color Sensors", SPIE Optical Engineering + Applications, 2014. </p>
<p>The YouTube video introducing this technique:
<br /><a href="https://www.youtube.com/watch?v=Gby3XJEJ7H8">https://www.youtube.com/watch?v=Gby3XJEJ7H8</a></p>Quan Wanghttp://www.mathworks.com/matlabcentral/fileexchange/authors/130634MATLAB 8.0 (R2012b)MATLAB Compilerfalsetag:www.mathworks.com,2005:FileInfo/478752014-09-18T04:18:37Z2014-09-22T20:39:17ZQR decomposition with constrained diagonal phases (Lapack interface)The code computes the QR decomposition with specific diagonal phases.<p>Matlab provides QR decomposition routines based on Lapack subroutines ZGEQRF/ZGEQPF and ZUNGQR. Such routines make the diagonal entries be real.
<br />For general diagonal conditions, this code 'qr_lapack' supports that any given diagonal complex phases are allowed in QR decomposition such as all non-negative, the same as in the original matrix A, or any others. For example,
<br /> DIAG_VEC = diag(A);
<br /> [Q, R] = qr_lapack (A, ECON, DIAG_VEC);
<br />This code accesses Lapack routines directly, not using matlab command qr. After QR decomposion based on Lapack, Q and R are recomputed to have specific phases of the diagonal entries of R.
<br />There are other sample codes for specific tests:
<br />* qr_diag_pos.m: QR making diagonal positive real.
<br />* qr_diag_phase.m: QR making the same diagonal phases as in A.
<br />* qr_diag_arg.m: another implementation using argment measure.</p>
<p>Note that qr_lapack.m uses the code in qr_diag_phase.m for control the diagonal phases.</p>
<p>qrd.m file provides options to select user subroutines among qr_lapack, qr_diag_pos, qr or others. Now we can use:
<br /> [Q, R] = qrd (A, ECON, DIAG_VEC);</p>
<p>test_qrd.m is for usage examples.</p>
<p>For fat matrices, it computes the LQ decomposition of A = L*Q, where A' = Q'*L' and [L,Q] = qr_lapack (A).
</p>Sung-Eun Johttp://www.mathworks.com/matlabcentral/fileexchange/authors/491691MATLAB 8.1 (R2013a)MATLAB CompilerMATLAB1677747472falsetag:www.mathworks.com,2005:FileInfo/478712014-09-17T19:55:19Z2014-09-17T22:46:16ZManagement of Accession Numbers and sequencesA GUI designed to management of big amount of accession numbers.<p>Working with differents formats and database.
<br />Internet connections and administrative permissions may be required.</p>José Luis Ruizhttp://www.mathworks.com/matlabcentral/fileexchange/authors/503589MATLAB 8.1 (R2013a)Bioinformatics ToolboxMATLAB CompilerMATLABfalsetag:www.mathworks.com,2005:FileInfo/478032014-09-10T16:41:36Z2014-09-11T20:26:35ZTridiagonalization of a Hermitian or symmetric matrix based on Lapack interfaceThe code computes the tridiagonal decomposition of a Hermitian matrix by calling Lapack routines.<p>This code provides a reliable tridiagonal matrix decomposition routine based on Lapack subroutines ZHETRD and ZUNGTR.
<br />Lapack is one of most reliable fortran routines in numerical analysis.
<br />In Lapack, the tridiagonalization is used to calculate eigenvalue decomposition of a Hermitian matrix.
<br />See <a href="http://www.netlib.org/lapack/lug/node48.html">http://www.netlib.org/lapack/lug/node48.html</a> But, Matlab does not support it as a standalone style.
<br />Thus, this submission helps people to use tridiagonalization of a Hermitian/symmetric matrix, A = Q * T * Q',
<br />where A is Hermitian or symmetric, T is real symmetric tridiagonal, and Q is unitary or orthogonal.
<br />The original Lapack interface routine comes from the previous work by Tim Toolan in "File Exchange".
<br />Note that the Hermitian tridiagonalization is a good tool for matrix reduction preserving eigenvalues.
<br />For non-Hermitian/-symmetric matrices, Hessenberg decomposition (hess) is the best choice for matrix reduction.
<br />The tridiagonalization is not unique: It has many decomposition sets according to the choice of the first column vector of Q.
<br />This code can be used for understanding the Lapack interface.
<br />This code is also compatible with Octave platform.
<br />The following is the function header for the usage example.
<br />----
<br />function [varargout]=tridiag_lapack(varargin)
<br />% TRIDIAG_LAPACK computes the matrix tridiagonal decomposition
<br />% by calling LAPACK subroutines.
<br />%
<br />% [Q, T] = tridiag_lapack (A)
<br />% [Q, T] = tridiag_lapack (A, UPLO)
<br />% R = tridiag_lapack (A, ...)
<br />% [Q, D, E] = tridiag_lapack (A, ...)
<br />% [Q, D, E, err] = tridiag_lapack (A, ...)
<br />%
<br />% Compute a real symmetric tridiagonal matrix decomposition of
<br />% a complex Hermitian matrix A:
<br />% A = Q*T*Q'
<br />% where A is complex Hermitian or real symmetric,
<br />% Q is unitary or orthogonal, and
<br />% T is real symmetric tridiagonal.
<br />%
<br />% The tridiagonalization has applications in matrix reduction
<br />% preserving eigenvalues. Thus, the eigenvalues of T are
<br />% identical to those of A.
<br />%
<br />% When called with one return value, it returns R, a compressed form of T
<br />% and Householder reflector of Q, which is computed in LAPACK
<br />% subroutine ZHETRD.
<br />%
<br />% If the second argument UPLO is used, the order of the reflector
<br />% vectors are chosen according to UPLO value 'L' (default) or 'U'.
<br />% See <a href="http://www.netlib.org/lapack/explore-html/df/d7d/zhetrd_8f_source.html">http://www.netlib.org/lapack/explore-html/df/d7d/zhetrd_8f_source.html</a>
<br />%
<br />% When called with 3 return values, it returns D and E, which are
<br />% the diagonal vector and the off-diagonal vector of T:
<br />% T = diag(D) + diag(E,1) + diag(E,-1)
<br />%
<br />% When called with 4 return values, it returns the residual error:
<br />% err = norm(A-Q*T*Q')/norm(A).
<br />%
<br />% See also: svd, hess, eig, qr.
<br />% See LAPACK subroutines ZHETRD and ZUNGTR.
</p>Sung-Eun Johttp://www.mathworks.com/matlabcentral/fileexchange/authors/491691MATLAB 7.14 (R2012a)MATLAB CompilerMATLAB1677747472falsetag:www.mathworks.com,2005:FileInfo/474722014-08-07T02:22:43Z2014-09-11T17:10:14ZBidiagonalization of a matrix based on Lapack interfaceThe code computes the bidiagonal matrix decomposition of a matrix by calling Lapack routines.<p>This code provides a reliable bidiagonal decomposition routine based on Lapack subroutines. Lapack is one of most reliable fortran routines in numerical analysis.
<br />In Lapack, the bidiagonalization is used to calculate SVD of a matrix via routines zgebrd and zungbr. See <a href="http://www.netlib.org/lapack/lug/node53.html">http://www.netlib.org/lapack/lug/node53.html</a> But, Matlab does not support the bidiagonal routine as a standalone style.
<br />Thus, this submission helps people to use bidiagonalization of a matrix, A = Q * B * P', where A is non-square and complex or real, B is bidiagonal and real, and Q and P are unitary or orthogonal.
<br />The original Lapack interface routine comes from the work by Tim Toolan in "File Exchange".
<br />This code can be used for understanding the Lapack interface.
<br />This code is also compatible with Octave platform.
<br />Note that the bidiagonalization is a good tool for matrix reduction preserving singular values. Instead, if you reduce a matrix preserving eigenvalues, you may want to use similarity transforms such as Hessenberg reduction (hess) or symmetric tridiagonalization.
<br />These reductions are pre-calculated before Schur decomposition (schur), eigenvalue decomposition (eig), or singular values decomposition (svd) for speed.
<br />The following is the function header for the usage example.
<br />----
<br />function [varargout]=bidiag_lapack(varargin)
<br />% BIDIAG_LAPACK computes the matrix bidiagonal decomposition
<br />% by calling LAPACK subroutines.
<br />%
<br />% [Q, B, P] = bidiag_lapack (A)
<br />% [Q, B, P] = bidiag_lapack (A, ECON)
<br />% R = bidiag_lapack (A)
<br />% B = bidiag_lapack (A, ECON)
<br />% [D, E] = bidiag_lapack (A)
<br />% [Q, B, P, err] = bidiag_lapack (A, ...)
<br />% [Q, B, P, err, R] = bidiag_lapack (A, ...)
<br />%
<br />% Compute the bidiagonal matrix decomposition of matrix A
<br />% A = Q*B*P'
<br />% where A is complex or real (not necessarily square),
<br />% Q and P are unitary or orthogonal, and
<br />% B is always real bidiagonal.
<br />% Also, the signs of column vectors of Q are properly chosen to have
<br />% the non-negative real diagonal entries of B.
<br />%
<br />% The bidiagonalization has applications in matrix reduction
<br />% preserving singular values. Thus, the singular values of B are
<br />% identical to those of A. (Note eigenvalues are not same.)
<br />%
<br />% ECON argument makes B square and Unitary matrices compact,
<br />% where the unnecessary rows or columns of B, Q and P are eliminated.
<br />%
<br />% When called with one return value, it returns R, a compressed form of B
<br />% and Householder reflectors of P and Q, which are computed in LAPACK
<br />% subroutine zgebrd.
<br />%
<br />% When called with two return values, it returns D and E, which are
<br />% the diagonal vector and the off-diagonal vector of B.
<br />% B = diag(D) + diag(E,1) when m>=n;
<br />% Otherwise, B = diag(D) + diag(E,-1).
<br />%
<br />% When called with 4 return values or more, it returns the residual error:
<br />% err = norm(A-Q*B*P')/norm(A).
<br />%
<br />% See also: svd, hess, eig, qr.
<br />% See LAPACK subroutines zgebrd and zungbr.
</p>Sung-Eun Johttp://www.mathworks.com/matlabcentral/fileexchange/authors/491691MATLAB 8.1 (R2013a)MATLAB CompilerMATLAB16777falsetag:www.mathworks.com,2005:FileInfo/468442014-06-13T20:07:35Z2014-06-13T20:07:35ZDeployAnywhere.zipExample code for "Deploy Anywhere" article in "Art of MATLAB" blog.<p>Demonstrates how to deploy substantially the same functionality from MATLAB to three different environments: MATLAB, the desktop and a Java host program.</p>Peter Webbhttp://www.mathworks.com/matlabcentral/fileexchange/authors/4660MATLAB 8.3 (R2014a)MATLAB Builder JAMATLAB CompilerMATLABJava 7 JDKfalse