MESH2D is a MATLAB-based Delaunay mesh-generator for two-dimensional geometries. It is designed to generate high-quality constrained Delaunay triangulations for general polygonal regions in the plane. MESH2D provides simple and yet effective implementations of "Delaunay-refinement" and "Frontal-Delaunay" triangulation techniques, in additional to "hill-climbing" type mesh-optimisation. Support for user-defined "mesh-spacing" functions and "multi-part" geometry definitions are provided, allowing varying levels of mesh-resolution to be specified within complex domains. Algorithms implemented in MESH2D are "provably-good" - ensuring convergence, geometrical and topological correctness, and providing guarantees on algorithm termination and worst-case element quality bounds. MESH2D typically generates very high-quality output, appropriate for a variety of finite-volume/element type applications.See TRIDEMO to get started with a set of example problems:tridemo(0); % a very simple example to get everything started.tridemo(1); % investigate the impact of the "radius-edge" threshold.tridemo(2); % Frontal-Delaunay vs. Delaunay-refinement algorithms.tridemo(3); % explore impact of user-defined mesh-size constraints.tridemo(4); % explore impact of "hill-climbing" mesh optimisations.tridemo(5); % assemble triangulations for "multi-part" geometries.tridemo(6); % assemble triangulations with "internal" constraints.tridemo(7); % investigate the use of "quadtree"-type refinement.tridemo(8); % explore use of custom, user-defined mesh-size functions.tridemo(9); % larger-scale problem, mesh refinement + optimisation. tridemo(10); % medium-scale problem, mesh refinement + optimisation. Additional information and references are available via the GitHub repository: http://github.com/dengwirda/mesh2d.MESH2D is a simplified version of my three-dimensional mesh-generation algorithm JIGSAW, providing an implementation of "provably-good" Delaunay-refinement and Frontal-Delaunay triangulation techniques. JIGSAW is available here: http://github.com/dengwirda/jigsaw-matlab.MESH2D also makes use of my AABBTREE and FINDTRIA packages to compute efficient spatial queries and intersection tests. See http://github.com/dengwirda/aabb-tree and http://github.com/dengwirda/find-tria for details.

This toolbox contains a standard set of MATLAB functions for analyzing and displaying climate data. The functions are computationally efficient, easy to use, and come with many tutorials that describe not only how to use CDT functions, but also offer guidance on how to interpret the results in the context of Earth science processes.CDT logo illustration by Adam S. Nelsen (http://www.adamnelsen.com)

These codes are extracted from a novel astrophysics-inspired meta-heuristic optimization algorithm, which is based on a famous exoplanet exploration method, namely Transit Search (TS). The algorithm has been published in 2022.In the transit algorithm, by studying the light received from the stars at certain intervals, the changes in luminosity are examined and if a decrease in the amount of the received light is observed, it indicates that a planet passes from the star front. In order to evaluate the capability of the proposed algorithm, 73 constrained and unconstrained problems are considered and the results have been compared with 13 well- known optimization algorithms. This set of examples includes a wide range of types of problems including mathematical functions (28 high-dimensional and 15 low-dimensional problems), CEC functions (10 problems), constrained mathematical benchmark problems (G01–G13), as well as 7 constrained engineering problems. The results indicated that the overall average error for the proposed algorithm is the lowest amount for the benchmark problems in comparison with the other efficient algorithms

Converts an input numerical value into an engineering-formatted string (as a character vector), in either scientific format with multiples-of-three exponent, or using SI prefixes e.g. k, M, n, p etc. It can also process the tick labels of graphs and colorbars. Please see the Examples tab for an extensive list of num2eng examples.What makes this submission unique amongst the several num2eng and num2si functions on the file exchange is that it: • Supports scalar, vector, and matrix inputs• Can process axes and colorbar tick labels, including keeping the tick labels up-to-date if the ticks change (e.g. due to limit change, figure resize, etc.)• Supports complex number inputs• Properly handles edge-cases such as rounding, empty inputs, Inf, NaN, non-numerical inputs etc.• Uses either SI prefixes or engineering-formatted scientific notation• Optionally uses the Greek lower-case mu (Unicode U+03BC) as the SI prefix for numbers with magnitude in the range [1e-6, 1e-3)• Optionally uses the true minus character (Unicode U+2212) instead of hyphen-minus (U+002D) for negative numbers• Optionally uses the infinity symbol (Unicode U+221E) for infinite inputs• Optionally pads output strings using left or right justification• Optionally inserts trailing zeros to pad output string to the specified number of significant figures• Optionally outputs as a unified character vector for vector and 2D array inputs, rather than the default cell array of character vectors• Optionally prevents use of exponent or SI prefix for numbers with magnitude in the range [0.1, 1) (i.e., tenths)• When not using SI prefixes:-- Optionally pads the exponent with zeros to a specified width-- Optionally only shows a sign character in the exponent for negative exponents-- Optionally forces the exponent to always be included, even if it is zero-- Offers the choice of lower-case e, capital E, or small capital E (Unicode U+1D07) for the exponent• Optionally forces the mantissa to lie in the range [0.001, 1), rather than the more usual [1, 1000). One reason to use this option is to unambiguously convey accuracy via the number of significant figures in the output.• Optionally uses a comma, instead of a point, as the decimal separator• Allows the user to specify the units, to be appended to the end of the string (with additional control over whether this word is automatically pluralised or not)The function has two alternative call syntaxes:1. string = num2eng(number,[useSI],[useMu],[spaceAfterNum],[sigFigs],[fullName],[useMinus],[useInf],[trailZeros],[pad],[cellOutput]), where input variables in square brackets are optional - i.e. The function accepts anywhere from 1 to 11 inputs, inclusive.2. string = num2eng(number,optionsStruct), where the control options are passed in a structure. This syntax offers more options than syntax one.Using an options structure instead of individual option inputs:When num2eng was originally developed, the individual option-input approach was selected in order to make function hints as helpful as possible. However, as the number of options has grown, the function call has become unwieldy, especially if you only want to set one of the later options and leave the others at the default value. It’s also difficult to see at a glance what options are being used in a call to num2eng, when reading code that you’ve written earlier. This is where using syntax 2 comes in. You can pass num2eng an options structure as the second input. This structure can have anywhere from one to 21 fields, named as per the options listed above, with the additional options: noExp4Tenths, expWidth, expSign, expForce, unit, noPlural, capE, smallCapE, fracMant, useComma, axes.

Skeleton3D: Parallel medial axis thinning of a 3D binary volumeThis code calculates the 3D medial axis skeleton of an arbitrary 3d binary volume. It is an optimized MATLAB implementation of the homotopic thinning algorithm described in [1]. We developed it to quantify the network of cell processes in bone [2], but it should work on images of any tubular or filamentous structures. An example volume (testvol.mat) is included, along with an example script (Test_Skeleton3D.m). Any comments, corrections or suggestions are highly welcome.Usage:skel = Skeleton3D(bin)where "bin" is a 3D binary image, and "skel" the resulting image containing only the skeleton voxels, orskel = Skeleton3D(bin,mask)to mask all foreground voxels in 'mask' from skeletonization, e.g. to preserve certain structures in a image volume.For additional cleanup, e.g. pruning of short branches, please use my Skel2Graph3D package on MATLAB File Exchange.This code is inspired by the ITK implementation by Hanno Homann [3] and the Fiji/ImageJ plugin by Ignacio Arganda-Carreras [4]. If you include this in your own work, please cite our original publicaton [2].Philip Kollmannsberger 09/2013philipk@gmx.netReferences:[1] Ta-Chih Lee, Rangasami L. Kashyap and Chong-Nam Chu"Building skeleton models via 3-D medial surface/axis thinning algorithms."Computer Vision, Graphics, and Image Processing, 56(6):462–478, 1994.[2] Kollmannsberger, Kerschnitzki et al.,"The small world of osteocytes: connectomics of the lacuno-canalicular network in bone."New Journal of Physics 19:073019, 2017.[3] http://hdl.handle.net/1926/1292[4] http://fiji.sc/wiki/index.php/Skeletonize3D

The present submission is a set of four Matlab functions that provides a generation of:1) Pink (flicker) noise - power spectral density slope -3 dB/oct., -10 dB/dec.2) Red (Brownian) noise - power spectral density slope -6 dB/oct., -20 dB/dec.3) Blue noise - power spectral density slope +3 dB/oct., +10 dB/dec.4) Violet (Purple) noise - power spectral density slope +6 dB/oct., +20 dB/dec.A few examples are given to clarify the usage of the functions. For convenience, the input and output arguments are given in the beginning of each function. The generated noise signal has a unity standard deviation and zero mean value.The code is based on the theory described in:[1] H. Zhivomirov. A Method for Colored Noise Generation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XV, No. 1, pp. 14-19, 2018. (http://rjav.sra.ro/index.php/rjav/article/view/40/29)

The present code is a Matlab function that provides a Short-Time Fourier Transform (STFT) of a given signal x[n]. The function is an alternative of the Matlab command “spectrogram”. The output of the function is:1) a matrix with the complex STFT coefficients with time across the columns and frequency across the rows;2) a frequency vector;3) a time vector.An example is given in order to clarify the usage of the function. For convenience, the input and output arguments are given in the beginning of the function.The code is based on the theory described in:[1] H. Zhivomirov. On the Development of STFT-analysis and ISTFT-synthesis Routines and their Practical Implementation. TEM Journal, ISSN: 2217-8309, DOI: 10.18421/TEM81-07, Vol. 8, No. 1, pp. 56-64, Feb. 2019. (http://www.temjournal.com/content/81/TEMJournalFebruary2019_56_64.pdf)

BEAST: A Bayesian Ensemble Algorithm for Change-Point Detection and Time Series DecompositionBEAST (Bayesian Estimator of Abrupt change, Seasonality, and Trend) is a fast, generic Bayesian model averaging algorithm to decompose time series or 1D sequential data into individual components, such as abrupt changes, trends, and periodic/seasonal variations, as described in Zhao et al. (2019). BEAST is useful for changepoint detection (e.g., breakpoints, structural breaks, regime shifts, or anomalies), trend analysis, time series decomposition (e.g., trend vs seasonality), time series segmentation, and interrupted time series analysis. See a list of selected studies using BEAST .Quick InstallationBEAST was impemented in C/C++ but accessible from R, Python, and Matlab. Run the following to install:Python: pip install RbeastMatlab: eval(webread('http://b.link/rbeast',weboptions('cert','')))R lang: install.packages("Rbeast")Quick UsageOne-liner code for Python, Matlab and R. Check below or github.com/zhaokg/Rbeast for more details.# Python exampleimport Rbeast as rb; (Nile, Year)=rb.load_example('nile'); o=rb.beast(Nile,season='none'); rb.plot(o)# Matlab exampleload('Nile'); o = beast(Nile, 'season','none'); plotbeast(o)# R examplelibrary(Rbeast); data(Nile); o = beast(Nile); plot(o)Installation for R Rbeast in CRAN-TASK-VIEW: [Time Series Analysis] [Bayesian inference] [Environmetrics]An R package Rbeast has been deposited at CRAN. ( On CRAN, there is another Bayesian time-series package named "beast", which has nothing to do with the BEAST algorithim. Our package is Rbeast. Also, our package has nothing to do with the famous "Bayesian evolutionary analysis by sampling trees" aglorithm.) Install Rbeast in R usinginstall.packages("Rbeast")Run and test Rbeast in RThe main functions in Rbeast are beast(Y, ...), beast.irreg(Y, ...), and beast123(Y, metadata, prior, mcmc, extra). The code snippet below provides a starting point for the basic usage.library(Rbeast)data(Nile) # annual streamflow of the Nile River out = beast(Nile, season='none') # 'none': trend-only data without seasonlaity print(out) plot(out)?Rbeast # See more details about the usage of `beast` tetris() # if you dare to waste a few moments of your life minesweeper() # if you dare to waste a few more moments of your life Installation for Matlab Install the Matlab version of BEAST automatically to a local folder of your choice by runningbeastPath = 'C:\beast\' eval( webread('http://b.link/rbeast') ) %%%%%%%%%%%%%%%%%%%%%%%%%%% Note on Automatic Installtion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Write permission needed for your chosen path; the variable name must be 'beastPath'. %% 2. If webread has a certificate error, run the following line instead: % eval( webread( 'http://b.link/rbeast', weboptions('cert','') ) ) %% 3. If the automatic installation fails, please manually download all the files (see blow) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%The above will download all the files in the Rbeast\Matlab folder at Github to the chosen folder: if beastPath is missing, a default temporary folder (e.g., C:\Users\$user_name$\AppData\Local\Temp\Rbeast for Windows 10) will be used. If the automatic script fails, please download the Matlab files from Github manually. These files include a Matlab mex library compiled from the C soure code (e.g., Rbeast.mexw64 for Windows, Rbeast.mexa64 for Linux, Rbeast.mexmaci64 for MacOS) and some Matlab wrapper functions (e.g.,beast.m, and beast123.m) similar to the R interface, as well as some test datasets (e.g., Nile.mat, and co2.mat).We generated the Matlab mex binary library on our own machines with Win10, Ubuntu 22.04, and macOS High Sierra. If they fail on your machine, the mex library can be compiled from the C source code files under Rbeast\Source. If needed, we are happy to work with you to compile for your specific OS or machines. Additional information on compilations from the C source is also given below.Run and test Rbeast in MatlabThe Matlab API is similar to those of R. Below is a quick example: help beast help beast123 load('Nile.mat') % annual streamflow of the Nile River startin from year 1871 out = beast(Nile, 'season', 'none','start', 1871) % trend-only data without seasonality printbeast(out) plotbeast(out)Installation for Python A package Rbeast has been deposited at PyPI: https://pypi.org/project/Rbeast/. Run the command below in a console to install: pip install RbeastCurrently, a binary wheel file was built only for Windows and Python 3.8. For other OS platforms or Python versions, the installation requires a compiler to build the package from the C/C++ code, which is a hassle-free process in Linux (requiring gcc) or Mac (requiring xcode). If needed, contact Kaiguang Zhao (zhao.1423@osu.edu) to help build the package for your specific OS platforms and Python versions.Run and test Rbeast in PythonNile is annual streamflow of the River Nile, starting from Year 1871. As annual observations, it has no periodic component (i.e., season='none').import Rbeast as rb # Import the Rbeast package as `rb`nile, year = rb.load_example('nile') # a sample time serieso = rb.beast( nile, start=1871, season='none')rb.plot(o)rb.print(o)o # see a list of output fields in the output variable oThe second example beach is a monthly time series of the Google Search popularity of the word beach over the US. This time series is reguarly-spaced (i.e., deltat=1 month =1/12 year); it has a cyclyic component with a period of 1 year (e.g., freq = period / deltat = 1 year / 1 month = 1/(1/12) = 12).We follow R's terminology to use freq to refer to the number of data points per period -- freq = period/deltaT; apparently, this differs from the standard definiton in physics -- freq = 1/period.beach, year = rb.load_example('beach')o = rb.beast(beach, start= 2004, deltat=1/12, freq =12)rb.plot(o)rb.print(o)Julia/IDLWrappers in Julia and IDL are being developed: We welcome contributions and help from interested developers. If interested, contact Kaiguang Zhao at zhao.1423@osu.edu.DescriptionInterpretation of time series data is affected by model choices. Different models can give different or even contradicting estimates of patterns, trends, and mechanisms for the same data–a limitation alleviated by the Bayesian estimator of abrupt change,seasonality, and trend (BEAST) of this package. BEAST seeks to improve time series decomposition by forgoing the "single-best-model" concept and embracing all competing models into the inference via a Bayesian model averaging scheme. It is a flexible tool to uncover abrupt changes (i.e., change-points), cyclic variations (e.g., seasonality), and nonlinear trends in time-series observations. BEAST not just tells when changes occur but also quantifies how likely the detected changes are true. It detects not just piecewise linear trends but also arbitrary nonlinear trends. BEAST is applicable to real-valued time series data of all kinds, be it for remote sensing, finance, public health, economics, climate sciences, ecology, and hydrology. Example applications include its use to identify regime shifts in ecological data, map forest disturbance and land degradation from satellite imagery, detect market trends in economic data, pinpoint anomaly and extreme events in climate data, and unravel system dynamics in biological data. Details on BEAST are reported in Zhao et al. (2019). The paper is available at https://go.osu.edu/beast2019.Note on computationAs a Bayesian algorithm, BEAST is fast and is possibly among the fastest implementations of Bayesian time-series analysis algorithms of the same nature. (But it is still slower, compared to nonBayesian methods.) For applications dealing with a few to thousands of time series, the computation won't be an practical concern. But for remote sensing/geospatial applications that may easily involve millions or billions of time series, computation will be a big challenge for Desktop computer users. We suggest first testing BEAST on a single time series or small image chips first to determine whether BEAST is appropriate for your applications and, if yes, estimate how long it may take to process the whole image.In any case, for those users handling stacked time-series images, do not use beast or beast.irreg. Use beast123 instead, which can handle 3D data cubes and allow parallel computing. We also welcome consultation with Kaiguang Zhao (zhao.1423@osu.edu) to give specific suggestions if you see some value of BEAST for your applications.ReferenceZhao, K., Wulder, M. A., Hu, T., Bright, R., Wu, Q., Qin, H., Li, Y., Toman, E., Mallick B., Zhang, X., & Brown, M. (2019). Detecting change-point, trend, and seasonality in satellite time series data to track abrupt changes and nonlinear dynamics: A Bayesian ensemble algorithm. Remote Sensing of Environment, 232, 111181. (the BEAST paper)Zhao, K., Valle, D., Popescu, S., Zhang, X. and Mallick, B., 2013. Hyperspectral remote sensing of plant biochemistry using Bayesian model averaging with variable and band selection. Remote Sensing of Environment, 132, pp.102-119. (the mcmc sampler used for BEAST)Hu, T., Toman, E.M., Chen, G., Shao, G., Zhou, Y., Li, Y., Zhao, K. and Feng, Y., 2021. Mapping fine-scale human disturbances in a working landscape with Landsat time series on Google Earth Engine. ISPRS Journal of Photogrammetry and Remote Sensing, 176, pp.250-261. (an application paper) Selected publications using BEAST/Rbeast Despite being published originally for ecological and enviornmental applications, BEAST is developed as a generic tool applicable to time series or time-series-like data arising from all disciplines. BEAST is not a heuristic algorithm but a rigorous statistical model. Below is a list of selected peer-reviewed pulications that used BEAST for statistical data analysis.DisciplinePublication TitleRemote SensingLi, J., Li, Z., Wu, H., and You, N., 2022. Trend, seasonality, and abrupt change detection method for land surface temperature time-series analysis: Evaluation and improvement. Remote Sensing of Environment, 10.1016/j.rse.2022.113222Population EcologyHenderson, P. A. (2021). Southwood's Ecological Methods (5th edition). Oxford University Press., page 475-476CardiologyOzier, D., Rafiq, T., de Souza, R. and Singh, S.M., 2023. Use of Sacubitril/Valsartan Prior to Primary Prevention Implantable Cardioverter Defibrillator Implantation. CJC Open.Political ScienceReuning, K., Whitesell, A. and Hannah, A.L., 2022. Facebook algorithm changes may have amplified local republican parties. Research & Politics, 9(2), p.20531680221103809.Hydraulic EngineeringXu, X., Yang, J., Ma, C., Qu, X., Chen, J. and Cheng, L., 2022. Segmented modeling method of dam displacement based on BEAST time series decomposition. Measurement, 202, p.111811.Ecosystem SciencesLyu, R., Zhao, W., Pang, J., Tian, X., Zhang, J. and Wang, N., 2022. Towards a sustainable nature reserve management: Using Bayesian network to quantify the threat of disturbance to ecosystem services. Ecosystem Services, 58, p.101483.Environmental SciencesNickerson, S., Chen, G., Fearnside, P., Allan, C.J., Hu, T., de Carvalho, L.M. and Zhao, K., 2022. Forest loss is significantly higher near clustered small dams than single large dams per megawatt of hydroelectricity installed in the Brazilian Amazon. Environmental Research Letters.Climate SciencesDuke, N.C., Mackenzie, J.R., Canning, A.D., Hutley, L.B., Bourke, A.J., Kovacs, J.M., Cormier, R., Staben, G., Lymburner, L. and Ai, E., 2022. ENSO-driven extreme oscillations in mean sea level destabilise critical shoreline mangroves—An emerging threat. PLOS Climate, 1(8), p.e000003FinanceCandelaria, Christopher A., Shelby M. McNeill, and Kenneth A. Shores. (2022). What is a School Finance Reform? Uncovering the ubiquity and diversity of school finance reforms using a Bayesian changepoint estimator.(EdWorkingPaper: 22-587). Retrieved from Annenberg Institute at Brown University: https://doi.org/10.26300/4vey-3w10Public healthLinnell, K., Fudolig, M., Schwartz, A., Ricketts, T.H., O'Neil-Dunne, J.P., Dodds, P.S. and Danforth, C.M., 2022. Spatial changes in park visitation at the onset of the pandemic. arXiv preprint arXiv:2205.15937.BiometerologyLi, Y., Liu, Y., Bohrer, G., Cai, Y., Wilson, A., Hu, T., Wang, Z. and Zhao, K., 2022. Impacts of forest loss on local climate across the conterminous United States: Evidence from satellite time-series observations. Science of The Total Environment, 802, p.149651.Applied MathFerguson, Daniel, and François G. Meyer. Probability density estimation for sets of large graphs with respect to spectral information using stochastic block models. arXiv preprint arXiv:2207.02168 (2022).Water qualityHe, Ziming, Jiayu Yao, Yancen Lu, and Danlu Guo. "Detecting and explaining long‐term changes in river water quality in south‐eastern Australia." Hydrological Processes: e14741.HydrologyZohaib, M. and Choi, M., 2020. Satellite-based global-scale irrigation water use and its contemporary trends. Science of The Total Environment, 714, p.136719.Energy EngineeringLindig, S., Theristis, M. and Moser, D., 2022. Best practices for photovoltaic performance loss rate calculations. Progress in Energy, 4(2), p.022003.VirologyShen, L., Sun, M., Song, S., Hu, Q., Wang, N., Ou, G., Guo, Z., Du, J., Shao, Z., Bai, Y. and Liu, K., 2022. The impact of anti-COVID19 nonpharmaceutical interventions on hand, foot, and mouth disease—A spatiotemporal perspective in Xi'an, northwestern China. Journal of medical virology.Pharmaceutical SciencesPatzkowski, M.S., Costantino, R.C., Kane, T.M., Nghiem, V.T., Kroma, R.B. and Highland, K.B., 2022. Military Health System Opioid, Tramadol, and Gabapentinoid Prescription Volumes Before and After a Defense Health Agency Policy Release. Clinical Drug Investigation, pp.1-8.GeographyCai, Y., Liu, S. and Lin, H., 2020. Monitoring the vegetation dynamics in the Dongting Lake Wetland from 2000 to 2019 using the BEAST algorithm based on dense Landsat time series. Applied Sciences, 10(12), p.4209.OceanographyPitarch, J., Bellacicco, M., Marullo, S. and Van Der Woerd, H.J., 2021. Global maps of Forel–Ule index, hue angle and Secchi disk depth derived from 21 years of monthly ESA Ocean Colour Climate Change Initiative data. Earth System Science Data, 13(2), pp.481-490.PhotovoltaicsMicheli, L., Theristis, M., Livera, A., Stein, J.S., Georghiou, G.E., Muller, M., Almonacid, F. and Fernández, E.F., 2021. Improved PV soiling extraction through the detection of cleanings and change points. IEEE Journal of Photovoltaics, 11(2), pp.519-526.Climate SciencesWhite, J.H., Walsh, J.E. and Thoman Jr, R.L., 2021. Using Bayesian statistics to detect trends in Alaskan precipitation. International Journal of Climatology, 41(3), pp.2045-2059.Field HydrologyMerk, M., Goeppert, N. and Goldscheider, N., 2021. Deep desiccation of soils observed by long-term high-resolution measurements on a large inclined lysimeter. Hydrology and Earth System Sciences, 25(6), pp.3519-3538.Forest EcologyMoreno-Fernández, D., Viana-Soto, A., Camarero, J.J., Zavala, M.A., Tijerín, J. and García, M., 2021. Using spectral indices as early warning signals of forest dieback: The case of drought-prone Pinus pinaster forests. Science of The Total Environment, 793, p.148578.Atmospheric SciencesTingwei, C., Tingxuan, H., Bing, M., Fei, G., Yanfang, X., Rongjie, L., Yi, M. and Jie, Z., 2021. Spatiotemporal pattern of aerosol types over the Bohai and Yellow Seas observed by CALIOP. Infrared and Laser Engineering, 50(6), p.20211030.Terrestrial ecologyDashti, H., Pandit, K., Glenn, N.F., Shinneman, D.J., Flerchinger, G.N., Hudak, A.T., de Graaf, M.A., Flores, A., Ustin, S., Ilangakoon, N. and Fellows, A.W., 2021. Performance of the ecosystem demography model (EDv2. 2) in simulating gross primary production capacity and activity in a dryland study area. Agricultural and Forest Meteorology, 297, p.108270.Environmental EngineeringBainbridge, R., Lim, M., Dunning, S., Winter, M.G., Diaz-Moreno, A., Martin, J., Torun, H., Sparkes, B., Khan, M.W. and Jin, N., 2022. Detection and forecasting of shallow landslides: lessons from a natural laboratory. Geomatics, Natural Hazards and Risk, 13(1), pp.686-704.HydrologyYang, X., Tian, S., You, W. and Jiang, Z., 2021. Reconstruction of continuous GRACE/GRACE-FO terrestrial water storage anomalies based on time series decomposition. Journal of Hydrology, 603, p.127018.Landscape EcologyAdams, B.T., Matthews, S.N., Iverson, L.R., Prasad, A.M., Peters, M.P. and Zhao, K., 2021. Spring phenological variability promoted by topography and vegetation assembly processes in a temperate forest landscape. Agricultural and Forest Meteorology, 308, p.108578.Compilation from C source code (for developers and experts only)Though not needed but if preferred, the code can be compiled for your specific machines. Check the Rbeast\Source folder at GitHub for details.Reporting Bugs or getting helpBEAST is distributed as is and without warranty of suitability for application. The one distributed above is still a beta version, with potential room for further improvement. If you encounter flaws with the software (i.e. bugs) please report the issue. Providing a detailed description of the conditions under which the bug occurred will help to identify the bug, you can directly email its maintainer Dr. Kaiguang Zhao at zhao.1423@osu.edu. Alternatively, Use the Issues tracker on GitHub to report issues with the software and to request feature enhancements.Acknowledgement:The initial version of BEAST was supported by a USGS 104B grant before 2019. The continous development afterwards is made possible by the support of a Harmful Algal Bloom Research Initiative grant from the Ohio Department of Higher Education.

MPLAB Device Blocks for SimulinkMPLAB Device Blocks for Simulink target boards equipped with a dsPIC ®️, PIC32 ®️, SAMx2, SAMx5 or SAMx7.This support package is functional from Matlab R2015a up to current version (R2022b).Installation / Updateclean previous installationYou might want to clean previous installation: type picclean at matlab prompt.as an add-onWith Matlab add-on feature, search MPLAB Device Block for Simulink. Use "Download Toolbox".Open the doc at the end of the installation process to check compiler and MPLAB IDE installation (mlx script).If you used download only, go to the mchp subfolder and run picsetup to set-up matlab path.as an independant packageDownload the zip from mathWorks website, or alternatively from the github repositoryunzip and execute the .p installer script. From matlab, right clik on the install.p file and execute.The MCHP_example folder is created in the current folder with a copy of simple examples.commandspicclean: clean-up matlab path from previous installations.picsetup: from the mchp sub-folder, re-configure the matlab path if required.picInfo('check'): Verify installation of compilers and tool to program chipspicInfo('examples'): copy example in current working folderpicInfo('cmd'): list commandVisit the Microchip blockset forumPresentationLibrary blocks configure peripherals and inserts code in the MathWorks generated code by embedded coder. (non-exhaustive peripheral block list: ADC, QEI, PWM, IC, OC, CN, I2C, SPI, UART, Op-Amp, Comparator, DAC...)No embedded programming knowledge is required. The toolbox transforms any board equipped with a supported MCU into a rapid control prototyping tool and enable a model-based design development scheme.FeaturesBuilt-in scheduler including single-tasking and multi-tasking option for multi-rate models.Advanced configuration of ADC / PWM peripheral enable PMSM motor algorithm where ADC sample time is triggered precisely within a PWM duty-cycle. The time step might also be triggered by end of ADC conversion minimizing delays.A custom protocol allows visualizing and recording data through the UART. The custom picgui interface allows plotting using your own matlab script incoming data in real-time. Data log enable further analysis or offline identification and allow to feed a simulation with real data.The custom "C function" block allows including your own code if required.The blockset also support MathWorks features:Processor in the loop (PIL)External mode.Code replacement to benefit from DSP architecture of dsPICThis version embed a third part tool adding blocks for UAVs projects (GPS, MAVLink, Receiver S.BUS, S.Port and F.Port blocks for dsPIC). Type picInfo to find out how to install the UxV blocks.RequirementsMathWorks (from R2015a to R2020b)MatlabSimulinkEmbedded CoderMatlab CoderSimulink CoderMicrochip IdeMPLAB X IDE downloadMicrochip Compiler:xc16 compiler for 16 bits devices download (dsPIC)xc32 compiler for 32 bits devices download (PIC32, SAMx5, SAMx7)Microchip programmer:PicKit4ICD4J-32Snap programmerReal-IcePicKit3ICD3Microchip kit Embedded programmer (EDBG)...Forum: https://www.microchip.com/forums/f192.aspxRelease notesv3.50.33External mode:Fixed single tasking implementation with XCPclean dsPIC CK PWM start and stopimproved interface when Host UART is not set prior to start external modeRemove MPLAB X 6.05 MDB interface used to program chip. The MDB v6.05 command line chip programming is broken. System will use either IPE v6.05, or another MDB version if available.Fixed dsPIC Matrix replacement memory leak when output is a vector transposedfixed linux issue when toolbox was installed in a path containing parenthesis like "(1)"improved custom linker script path issue in specifics conditionsv3.50.32fixed one typo within package causing issue with SAM new CAN block and dsPIC UART Circular buffer DMA driver.v3.50.31revert using programmer in debug mode to force starts of the program (MPLAB X 6.05 should get fixed instead)minor improvements on toolstrip and programming functions (upated IPE)v3.50.30Fixed program not starting until disconnecting programmer / press reset button if availablevarious fixes on XCP and UART DMA driver for dsPICv3.50.29Added Microchip toolstirpAdded CAN support for SAME7Updated QDEC quadrature function block for SAMxadded UART Circular buffer with DMA on dsPICFixed PIC32 SPI SCK2 missing mappingFixed pin mapping errors with dsPIC / PIC32Upated External mode XCP support on dsPICv3.50.27added support for dsPIC32MK EFE/EFF/EFK familysupport SPI on SAMx7support I2C on SAMx7Fixed I2C for chip with non continuous I2C references (1 2 4 5..)Fixed SPI potential timing issue with fast clock chips (PIC32)added example using custom code to write SAMx FLASH (EEPROM emulator)Add Timers functionality on SAMx chipsImproved PIL support with Test HarnessFixed Low priority interrupt with PIC32MZ that might trig an exceptionv3.50.26fixed SPI code not generated with PIC32v3.50.25PIL: Added support for PIL Top-Model and PIL Referenced Model approachv3.50.24Added dsPIC CK 128 & 256Fixed code Replacement for dsPIC not compiling in debug mode -O0 optionPIC32 ADC High Speed SAR fixed channel of class 3 below 32 were handled as class 2 (break compilation)v3.50.23missing file for Code Replacement for the dsPIC atan2 functionv3.50.22Improved PIL on LinuxFixed issue on SAMx7 when analog port is used and no othet peripheral used the same port (Letter)Fixed SPI & I2C peripheral block, broken with SAMx2 and SAMX5.Complete support for dsPIC CK MCdsPIC Improved Code Replacement accuracy. Fix one typo preventing compilation in rare casesdsPIC, Code replaced (sin, cos, atan2) works with revolution unit, not limited to radian.v3.50.20Updated datasheet block to locate pdf from Microchip websiteFixed dsPIC Optimized assembly code issue resulting in wrong output with XC16 v2.00 set with -Ox optimization enabled.Fixed Idle task call to math function not compilingFixed SAMx7 analog pin configuration that might have a bias due to internal peripheral connectionImprove compatibility with protected IP submodelImproved PIl supportExperimental support for dsPIC CK MCv5.50.19Programming interface updated. Extend number of kit programmed from matlab (use latest MPLAB X version. current release is 6.0.0)PIL target initialisation code improved. Fixed possible code issue with initialisation function signature mismatchPIL UART interface compatible with USB-COM port available on kits. Enabling host data flow controlv5.50.18SAMx7: Fixed USART generated code typo with interrupt implementationdsPIC CK: Fixed Change Notification User Interrupt triggered twiceImproved UART block User InterfaceSAMx7: Add Fuse configuration ensuring Fuse get programmedSAMx7: Disable ICE functions on PORT B when pin is used for another purposeSAMx: Add compilation of intermediate model (library)Add PIL and External Mode example for Xplained Ultra boardUpdate Installerv3.50.17:Fixed programming not working form Linux (issue from 3.50.16)Update installer. Simplify installation as an add-on.v3.50.16:C Function Call: fixed issue breaking simulink datatype class settingsMatlab R2021b: code generator report not showing-up. Renamed compilation from .X to _XImproving DFP & CMSIS search scriptSAMx7 ADC: remove pull-up on analog chanelsSAMx5 UART: add distinct priority for Tx & RxSAMx5 UART: some baudrate setting were not working (no output)SAMx: removed register keyword wich might cause issue at compilationdsPIC PWM FEP: not working wheh channel 1 were not useddsPIC with dual core: always re-compile Main model code required.dsPIC: fixed code generated issue with SPI peripheraldsPIC: remove default fuse set for Brown Out resetdsPIC: fixed short double setting in MPLAB X projectImproved MPLAB X project creationExternal mode: Add XCP protocol option (experimental)v3.50.13:dsPIC CH (dual core): Fixed Main/Secondary Interface. MSI Fuse not configuredv3.50.12:SAMx: Fixed Link Time Optimizer incorrect syntaxSAMx: Added CAN example for SAMx7SAMx: Optimized DCache updateSAMx7: Fixed typo on UART Tx when set with DMA & single bufferv3.50.11:Improved robustness for long or special path with Windows & LinuxSAMx7 QDEC peripheral: added Index edge optionv3.50.10:dsPIC CH update Slave->Secondary call convention for XC16 1.70v3.50.09:Fixed Watch dog not Disabled for some (ds)PIC chips reseting after few seconds.Updated PIL & External mode for dsPIC with R2020b + updated example with dsPIC33CK Curiosity boardFixed SAMx7 AFEC (ADC) possible issue with channel inversion (wrong block outputs)SAMx7 improved library inclusion in MPLAB X projectv3.50.08:Added SPI & I2C Support for SAMx2 & SAMx5picflash issue when multiple MPLAB X above v5.45 installedSAMx5 Number of UART listed might be incorrectSAMx5 ADC Time Step Trigger Parameters lost when model is savedSAMx Improved performance by removing some instruction barriere (DSP & ISB)dsPIC ADC HS SAR Fractional mode : typo prevent compilation.v3.50.07:SAMx5 & SAMx7 Busy flag (for CPU load measurement ) stuck to 1 after short period of timeSAMx chip: Add CMSIS DSP librar to MPLAB X project when using CRL (Required Mathworks Support Package for ARM Cortex-M)SAMx7 PWM event set to instant 0 had no effectSAMx7 ADC: Fixes on AFEC 1 behaviour (not working when used without AFEC0, Issue with triggering time step when used with AFEC 0)v3.50.06:dsPIC 33FJxxGS had incorrect fuse option name (compilation break)Internal error might cause incorrect peripheral behaviour with blocks supporting multiple instantiationFixed issue introduced with 3.50.04 that break compilation of model embedding a model reference block (sub-model)v3.50.05:DFP & CMSIS DSP library search path not proposing newly installed package/libraryLinux: CMSIS DSP lib failed at compilation timeMPLAB X project not created (R2020b, SAMx7)v3.50.04:Added SAMx7 PWM Override blockSAMx Peripheral Port mapping issue when a peripheral set-up several time the same pin (i.e. ADC multiple conversion of the same input pin on SAMx7)Fixed issue with MW environment block Sim/CodeGen for mixed model (simulation & code generation) (update)v3.50.03:Fixed issue with MW environment block Sim/CodeGen for mixed model (simulation & code generation)v3.50.02:Fixed CMSIS DSP Library possibly added with incorrect path for SAMx5 & SAMx2Enabled CMSIS DSP library link optionFixed SAMx7 PWM1 trigger not set on ADC depending on PWM0 and on blocks PWM0/1 execution orderv3.50.01:Fixed UART DMA Tx implementation for SAMx7v3.50Support SAM C2x / D2x / DA1SAMx5 ADC: Multiple conversion per ADC, Trig ADC, Synchronize with Time Step, initialize with NVM factory calibration.SAMx5 QDEC: Add further options and simplify GUI.Linux support (except PIL & External Mode)dsPIC Code Replacement fixed on R2021adSPIC CH/CK fixed issue on PWM HS for noncontiguous channel setup. Duty cycle block input swapped (Ch1-Ch3)CHANGE BEHAVIOUR !! SAMx7 PWM: Dead Time initial value were divided by 2. (1us on GUI set 0.5us on board)Issue if no CMSIS installedImproved Simulink compiler option set in MPLAB project created.Improve doc block ability to locate online chip datasheetpicgui updatev3.49.02PWM HS FEP fixed several issuesprogramming interface update. overall speed improvementSupport Seeger programming hardware (J-32 / J flash Seeger driver)...v3.49.01:Fixed PIL issue with dsPIC / R2018bv3.49:Updated External-Mode & PIL. Added examplesSAMx scheduler robust to overloadPICGUI: data visualisation run in backgroundMPLAB X project creation is more robustdsPIC UART Driver update (typo fixed, robust in idle tasks sending data)dsPIC EV watch dog setting fixedTask State block fixed pin settinf for SAMxUpdate makefile with R2020b templatedsPIC 30f default fuse value is not 1 by default. Write all fusesdsPIC CK/CH fixed code replacement FastMemCpy implementationdsPIC CCPx timer typo for some blocks that use timerUpdated PIC32 IPL switch functionv3.48:Added SPI & I2C for SAMx5 familyADC for SAMx5: fixed AIN0 channel input not workingAdded support for 64 bit MPLAB X Ide (v5.45 and above)Fixed I2C & SPI register names for some dsPICs (EV, FJ)dsPIC Change Notification / Input Capture: Fixed GUI Error when copy-past block to a model with a different chipRelaxed conditions triggering SINCOS Code Replacement.v3.47.00:Added SPI support for dsPIC GS, CH, CKFixed pin mapping inconsistency on dualcore dsPIC for Secondary CoreFixed generic issue with former Matlab releaseFixed MPLAB X project creation with R2019av3.46.064:Improved SAMx5 support. Added SPI supportFixed issue with dual core dsPIC support. Renamed core appelation with Main and Secondary.Fixed MPLAB X project not created with R2020bAdded PIC32 GPK MCG and GPGv3.46.063:Support for SAMx5 famillyFixed search issue for recent XC compilersSupport external CMSIS and DFP packagesRenamed scripts pad and padr to picgui.pad/padr (Conflict with MathWorks scripts on recent versions)v3.46.05:Fixed compiling issue when using a model reference block (compiling submodel as a library)v3.46.04:PIC32: Extend limited choice for output pin function (Pin mapping)v3.46.03:fixed Java related issue with programmer interfacev3.46.02:SPI fixed DMA support for PIC32. Added 8 bit mode with DMA enabled for dsPICv3.46.01:Programmer interface (Java might not be found)SAMx7 chip issues with doc block ; MPLAB X projectInstaller script propose old installation method (might fix add-ons issues related to user permissions in classroom/lab configuration)v3.46.00:Added support for dual core dsPIC CHv3.45.05:Fixed QEI typo in generated code (PIC32MK)fixed SPI typo affecting slave mode (PIC32)v3.45.04:Fixed possible issue with MPLAB X project creation with model targeting PIC32Fixed Typo on Timer code generator for PIC32 (project not compiling when problem occurs)Added an External Mode example for PIC32MZ + minor update on other example and script compiling all modelsv3.45.03:Fixed wrong heap linker flag at command line for PIC32 when using Compiler Option blockFixed PIL and External Mode GUI not showing the model UART block settings.v3.45.02:Added IPE or MDB choice for programming (previously automatically selected)Added support for comparator for dsPIC33FJxxMC 02/06Added support for SNAP and PICKIT 4 programmer with MDB interfaceRemoved files generated by programmer interface (MDB or IPE) in working folder.Fixed some issue with SAMx70 and SAMx71 familyReduced Wait State for SAMVUpdated motor example for SAME70 PIM with MCLV2 boardAdded missing dsPIC33CKImproved compatibility with Matlab R2010aExtended block GUI text fields which can evaluate workspace variablesUxV toolbox: improved compatibility with R2010aSupported MCUs (568)dsPIC30F30F201030F201130F201230F301030F301130F301230F301330F301430F401130F401230F401330F501130F501330F501530F501630F601030F601130F601230F601330F601430F6015PIC32MK GPG32MK0256GPG04832MK0256GPG06432MK0512GPG04832MK0512GPG064PIC32MK MCJ32MK0256MCJ04832MK0256MCJ06432MK0512MCJ04832MK0512MCJ064PIC32MK GPK32MK0512GPK06432MK0512GPK10032MK1024GPK06432MK1024GPK100PIC32MK MCF32MK0512MCF06432MK0512MCF10032MK1024MCF06432MK1024MCF100PIC32MK MCM32MK0512MCM06432MK0512MCM10032MK1024MCM06432MK1024MCM100PIC32MZ EFE32MZ0512EFE06432MZ0512EFE10032MZ0512EFE12432MZ0512EFE14432MZ1024EFE06432MZ1024EFE10032MZ1024EFE12432MZ1024EFE144PIC32MZ EFF32MZ0512EFF06432MZ0512EFF10032MZ0512EFF12432MZ0512EFF14432MZ1024EFF06432MZ1024EFF10032MZ1024EFF12432MZ1024EFF144PIC32MZ EFK32MZ0512EFK06432MZ0512EFK10032MZ0512EFK12432MZ0512EFK14432MZ1024EFK06432MZ1024EFK10032MZ1024EFK12432MZ1024EFK144PIC32MZ EFG32MZ1024EFG06432MZ1024EFG10032MZ1024EFG12432MZ1024EFG14432MZ2048EFG06432MZ2048EFG10032MZ2048EFG12432MZ2048EFG144PIC32MZ EFH32MZ1024EFH06432MZ1024EFH10032MZ1024EFH12432MZ1024EFH14432MZ2048EFH06432MZ2048EFH10032MZ2048EFH12432MZ2048EFH144PIC32MZ EFM32MZ1024EFM06432MZ1024EFM10032MZ1024EFM12432MZ1024EFM14432MZ2048EFM06432MZ2048EFM10032MZ2048EFM12432MZ2048EFM144dsPIC33CH MP33CH128MP20233CH128MP20333CH128MP20533CH128MP20633CH128MP20833CH128MP50233CH128MP50333CH128MP50533CH128MP50633CH128MP50833CH256MP20533CH256MP20633CH256MP20833CH256MP21833CH256MP50533CH256MP50633CH256MP50833CH512MP20533CH512MP20633CH512MP20833CH512MP50533CH512MP50633CH512MP50833CH64MP20233CH64MP20333CH64MP20533CH64MP20633CH64MP20833CH64MP50233CH64MP50333CH64MP50533CH64MP50633CH64MP508dsPIC33CK MC33CK128MC10233CK128MC10333CK128MC10533CK128MC10633CK128MC50233CK128MC50333CK128MC50533CK128MC50633CK256MC10233CK256MC10333CK256MC10533CK256MC10633CK256MC50233CK256MC50333CK256MC50533CK256MC50633CK32MC10233CK32MC10333CK32MC10533CK64MC10233CK64MC10333CK64MC105dsPIC33CK MP33CK128MP20233CK128MP20333CK128MP20533CK128MP20633CK128MP20833CK128MP50233CK128MP50333CK128MP50533CK128MP50633CK128MP50833CK256MP20233CK256MP20333CK256MP20533CK256MP20633CK256MP20833CK256MP30533CK256MP30633CK256MP30833CK256MP50233CK256MP50333CK256MP50533CK256MP50633CK256MP50833CK256MP60533CK256MP60633CK256MP60833CK32MP10233CK32MP10333CK32MP10533CK32MP20233CK32MP20333CK32MP20533CK32MP20633CK32MP50233CK32MP50333CK32MP50533CK32MP50633CK512MP30533CK512MP30633CK512MP30833CK512MP60533CK512MP60633CK512MP60833CK64MP10233CK64MP10333CK64MP10533CK64MP20233CK64MP20333CK64MP20533CK64MP20633CK64MP20833CK64MP50233CK64MP50333CK64MP50533CK64MP50633CK64MP508dsPIC33EP GM33EP128GM30433EP128GM30633EP128GM31033EP128GM60433EP128GM70633EP128GM71033EP256GM30433EP256GM30633EP256GM31033EP256GM60433EP256GM70633EP256GM71033EP512GM30433EP512GM30633EP512GM31033EP512GM60433EP512GM70633EP512GM710dsPIC33EP GP33EP128GP50233EP128GP50433EP128GP50633EP256GP50233EP256GP50433EP256GP50633EP32GP50233EP32GP50333EP32GP50433EP512GP50233EP512GP50433EP512GP50633EP512GP80633EP64GP50233EP64GP50333EP64GP50433EP64GP506dsPIC33EP GS33EP128GS70233EP128GS70433EP128GS70533EP128GS70633EP128GS70833EP128GS80433EP128GS80533EP128GS80633EP128GS80833EP16GS20233EP16GS50233EP16GS50433EP16GS50533EP16GS50633EP32GS20233EP32GS50233EP32GS50433EP32GS50533EP32GS50633EP64GS50233EP64GS50433EP64GS50533EP64GS50633EP64GS70833EP64GS80433EP64GS80533EP64GS80633EP64GS808dsPIC33EP MC33EP128MC20233EP128MC20433EP128MC20633EP128MC50233EP128MC50433EP128MC50633EP256MC20233EP256MC20433EP256MC20633EP256MC50233EP256MC50433EP256MC50633EP32MC20233EP32MC20333EP32MC20433EP32MC50233EP32MC50333EP32MC50433EP512MC20233EP512MC20433EP512MC20633EP512MC50233EP512MC50433EP512MC50633EP512MC80633EP64MC20233EP64MC20333EP64MC20433EP64MC20633EP64MC50233EP64MC50333EP64MC50433EP64MC506dsPIC33EP MU33EP256MU80633EP256MU81033EP256MU81433EP512MU81033EP512MU814dsPIC33EV GM33EV128GM00233EV128GM00333EV128GM00433EV128GM00633EV128GM10233EV128GM10333EV128GM10433EV128GM10633EV256GM00233EV256GM00333EV256GM00433EV256GM00633EV256GM10233EV256GM10333EV256GM10433EV256GM10633EV32GM00233EV32GM00333EV32GM00433EV32GM00633EV32GM10233EV32GM10333EV32GM10433EV32GM10633EV64GM00233EV64GM00333EV64GM00433EV64GM00633EV64GM10233EV64GM10333EV64GM10433EV64GM106dsPIC33FJ GP33FJ128GP20233FJ128GP20433FJ128GP20633FJ128GP206A33FJ128GP30633FJ128GP306A33FJ128GP31033FJ128GP310A33FJ128GP70633FJ128GP706A33FJ128GP70833FJ128GP708A33FJ128GP71033FJ128GP710A33FJ128GP80233FJ128GP80433FJ12GP20133FJ12GP20233FJ16GP30433FJ256GP50633FJ256GP506A33FJ256GP51033FJ256GP510A33FJ256GP71033FJ256GP710A33FJ32GP20233FJ32GP20433FJ32GP30233FJ32GP30433FJ64GP20233FJ64GP20433FJ64GP20633FJ64GP206A33FJ64GP30633FJ64GP306A33FJ64GP31033FJ64GP310A33FJ64GP70633FJ64GP706A33FJ64GP70833FJ64GP708A33FJ64GP71033FJ64GP710A33FJ64GP80233FJ64GP804dsPIC33FJ MC33FJ128MC20233FJ128MC20433FJ128MC50633FJ128MC506A33FJ128MC51033FJ128MC510A33FJ128MC70633FJ128MC706A33FJ128MC70833FJ128MC708A33FJ128MC71033FJ128MC710A33FJ128MC80233FJ128MC80433FJ12MC20133FJ12MC20233FJ16MC30433FJ256MC51033FJ256MC510A33FJ256MC71033FJ256MC710A33FJ32MC20233FJ32MC20433FJ32MC30233FJ32MC30433FJ64MC20233FJ64MC20433FJ64MC50633FJ64MC506A33FJ64MC50833FJ64MC508A33FJ64MC51033FJ64MC510A33FJ64MC70633FJ64MC706A33FJ64MC71033FJ64MC710A33FJ64MC80233FJ64MC804PIC32PIC32CM1216MC00032PIC32CM1216MC00048PIC32CM6408MC00032PIC32CM6408MC00048SAMC20SAMC20E15ASAMC20E16ASAMC20E17ASAMC20E18ASAMC20G15ASAMC20G16ASAMC20G17ASAMC20G18ASAMC20J15ASAMC20J16ASAMC20J17ASAMC20J17AUSAMC20J18ASAMC20J18AUSAMC20N17ASAMC20N18ASAMC21SAMC21E15ASAMC21E16ASAMC21E17ASAMC21E18ASAMC21G15ASAMC21G16ASAMC21G17ASAMC21G18ASAMC21J15ASAMC21J16ASAMC21J17ASAMC21J17AUSAMC21J18ASAMC21J18AUSAMC21N17ASAMC21N18ASAMD20SAMD20E14SAMD20E14BSAMD20E15SAMD20E15BSAMD20E15BUSAMD20E16SAMD20E16BSAMD20E16BUSAMD20E17SAMD20E18SAMD20E1FSAMD20G14SAMD20G14BSAMD20G15SAMD20G15BSAMD20G16SAMD20G16BSAMD20G17SAMD20G17USAMD20G18SAMD20G18USAMD20J14SAMD20J14BSAMD20J15SAMD20J15BSAMD20J16SAMD20J16BSAMD20J17SAMD20J18SAMD21SAMD21E15ASAMD21E15BSAMD21E15BUSAMD21E15CUSAMD21E15LSAMD21E16ASAMD21E16BSAMD21E16BUSAMD21E16CUSAMD21E16LSAMD21E17ASAMD21E17DSAMD21E17DUSAMD21E17LSAMD21E18ASAMD21F17LSAMD21G15ASAMD21G15BSAMD21G15LSAMD21G16ASAMD21G16BSAMD21G16LSAMD21G17ASAMD21G17AUSAMD21G17DSAMD21G17LSAMD21G18ASAMD21G18AUSAMD21J15ASAMD21J15BSAMD21J16ASAMD21J16BSAMD21J17ASAMD21J17DSAMD21J18ASAME51SAME51G18ASAME51G19ASAME51J18ASAME51J19ASAME51J20ASAME51N19ASAME51N20ASAME53SAME53J18ASAME53J19ASAME53J20ASAME53N19ASAME53N20ASAME54SAME54N19ASAME54N20ASAME54P19ASAME54P20ASAME70SAME70J19BSAME70J20BSAME70J21BSAME70N19BSAME70N20BSAME70N21BSAME70Q19BSAME70Q20BSAME70Q21BSAMRH71SAMRH71F20BSAMRH71F20CSAMS70SAMS70J19BSAMS70J20BSAMS70J21BSAMS70N19BSAMS70N20BSAMS70N21BSAMS70Q19BSAMS70Q20BSAMS70Q21BSAMV70SAMV70J19BSAMV70J20BSAMV70N19BSAMV70N20BSAMV70Q19BSAMV70Q20BSAMV71SAMV71J19BSAMV71J20BSAMV71J21BSAMV71N19BSAMV71N20BSAMV71N21BSAMV71Q19BSAMV71Q20BSAMV71Q21B

This is simple basic PSO function.This function is well illustrated and analogically programed to understand and visualize Particle Swarm Optimization theory in better way and how it implemented.To run this you also need to have a function MinMaxCheck.m(File Id: #43251)PSO Description: http://en.wikipedia.org/wiki/Particle_swarm_optimizationProgram Description:%%% INPUT VARIABLES% Bird_in_swarm=Number of particle=agents=candidate% Number_of_quality_in_Bird=Number of Variable%% MinMaxRange: jx2 matrix; jth row contains minimum and maximum values of the jth variable% say you have a variable N1 % which can have maximum value M1 and minimum value m1% then your matrix will be [m1 M1] % for more:% [m1 M1; m2 M2; mj Mj]%% Food_availability=Objective function with one input variable (for more than one variable you may use array)% example for two variable% function f = funfunc(array)% a=array(1);% b=array(2);% f = a+b ;% end% Food_availability is a string, for above example : 'funfunc'%% availability_type is string 'min' or 'max' to check depending upon need to minimize or maximize the Food_availability% velocity_clamping_factor (normally 2)% cognitive_constant=c1=individual learning rate (normally 2)% social_constant=c2=social parameter (normally 2)% normally C1+C2>=4%% Inertia_weight=At the beginning of the search procedure, diversification is heavily weighted, while intensification is heavily weighted at the end of the search procedure.% Min_Inertia_weight=min of inertia weight (normally 0.4)% Max_Inertia_weight=max of inertia weight (normally 0.9)% max_iteration=how many times readjust the position of the flock/swarm of birds its quest for food% %% OUTPUT VARIABLE% optimised_parameters : Optimal parametersRequired MATLAB function MinMaxCheck.m (File Id: #43251)http://www.mathworks.in/matlabcentral/fileexchange/43251-bound-values-of-an-arrayIf the program helps you in any way in your seminar/project/research/thesis etc. work, then please cite our work (either this page or the paper). Thank you.

EEGLAB is an open-source signal processing environment for electrophysiological signals running on Matlab and developed at the SCCN/UCSD. Download from the project website rather than GitHub to make sure all dependencies are correctly installed.

Fitness-Distance Balance (FDB): A New Selection Method for Meta-Heuristic Search Algorithms

1) runMe.m(use arrow keys to interact with pattern)2) OpticalFlowTutorialPart1.pdfNOTE 1: This is a beta version. I would like to know about bugs so that I can improve this major update. We are working on a publication, so please check back for a proper reference if you plan on using this for your work.Note 2: There are NO toolboxes required to run this. If it says differently below, ignore it.Some of the material that was intended for use in parts 2 and 3 have ended up in proprietary software, so I hope those who were waiting for that will accept my apologies. To compensate, I am working hard to make part 1 (the only part) especially easy to use.http://islab.hh.se/mediawiki/index.php/Stefan_Karlsson/PersonalPageA Quick view on applications:http://www.youtube.com/watch?v=h4umf0iCrFUGet Started:http://youtu.be/u1jSwcVoFcM

fieldfun: Apply a function to the matching fields of structures SummaryS = fieldfun(fun,S1,...,SN) passes the values for each field in structures S1,...,SN to function fun and returns the result in scalar structure S. Each field F in S, i.e. S.(F), is the result of fun(S1.(F),...,SN.(F)).fieldfun allows the organization of data by structure and field name while allowing the data to be easily processed according to the semantically meaninful fields, improving code readability. When only one structure is supplied, fieldfun can also be used as an alternative to structfun, the difference being that the output of structfun is an array, while fieldfun returns a structure, retaining the input format, again improving readability.Inputsfun is either a function handle or a text scalar giving the function's name or operator. The function must take N input arguments, i.e. equal to the number of input structures, and return a value. fun is called once for each field F in S1,...,SN.S1 is a scalar structure or array of structures.S2,...,SN are scalar structures, arrays of structures, or variables of any other class. If S2,...,SN are structures, their fields and field order must match S1. If S2,...,SN are not structures, then they are converted to structures, with the value being assigned to each field.OutputS is a scalar structure with the same fields and field order as S1. The value of each field F in S, i.e. S.(F), is the result of fun(S1.(F),...,SN.(F)).ExampletreatmentGroup(1) = struct( 'name', "John", 'age', 30, 'vaccinated', true );treatmentGroup(2) = struct( 'name', "Jane", 'age', 80, 'vaccinated', false );controlGroup = struct( 'name', "Jim", 'age', 50, 'vaccinated', true );allParticipants = fieldfun( @horzcat, treatmentGroup, controlGroup )allParticipants = struct with fields: name: ["John" "Jane" "Jim"] age: [30 80 50] vaccinated: [1 0 1]More examples available in examples.mlx / examples.pdf.Compatibility, License and CitationCreated in 2022b. Compatible with MATLAB release 2019b and later. Compatible with all platforms.Published under MIT License (see LICENSE.txt).Please cite George Abrahams (https://github.com/WD40andTape/fieldfun, https://www.linkedin.com/in/georgeabrahams).

Jx-DLT : Deep Learning Toolbox* This toolbox contains the convolution neural network (CNN) * The < Main.m file > shows examples of how to use CNN programs with the benchmark data set. Note we demo the CNN using one to three convolution layers setup.* Detail of this toolbox can be found at https://github.com/JingweiToo/Deep-Learning-Toolbox**********************************************************************************************************************************

Previously titled "Another Particle Swarm Toolbox"IntroductionParticle swarm optimization (PSO) is a derivative-free global optimum solver. It is inspired by the surprisingly organized behaviour of large groups of simple animals, such as flocks of birds, schools of fish, or swarms of locusts. The individual creatures, or "particles", in this algorithm are primitive, knowing only four simple things: 1 & 2) their own current location in the search space and fitness value, 3) their previous personal best location, and 4) the overall best location found by all the particles in the "swarm". There are no gradients or Hessians to calculate. Each particle continually adjusts its speed and trajectory in the search space based on this information, moving closer towards the global optimum with each iteration. As seen in nature, this computational swarm displays a remarkable level of coherence and coordination despite the simplicity of its individual particles.Ease of UseIf you are already using the Genetic Algorithm (GA) included with MATLAB's Global Optimization Toolbox, then this PSO toolbox will save you a great deal of time. It can be called from the MATLAB command line using the same syntax as the GA, with some additional options specific to PSO. This will allow a high degree of code re-usability between the PSO toolbox and the GA toolbox. Certain GA-specific parameters such as cross-over and mutation functions will obviously not be applicable to the PSO algorithm. However, many of the commonly used options for the Genetic Algorithm Toolbox may be used interchangeably with PSO since they are both iterative population-based solvers. See >> help pso (from the ./psopt directory) for more details.Features * Support for distributed computing using MATLAB's parallel computing toolbox. * Full support for bounded, linear, and nonlinear constraints. * Modular and customizable. * Binary optimization. See PSOBINARY function for details. * Vectorized fitness functions. * Solver parameters controlled using 'options' structure similar to existing MATLAB optimization solvers. * User-defined custom plots may be written using same template as GA plotting functions. * Another optimization solver may be called as a "hybrid function" to refine PSO results.A demo function is included, with a small library of test functions. To run the demo, from the psopt directory, call >> psodemo with no inputs or outputs.Bug reports and feature requests are welcome.Special thanks to the following people for contributing code and bug fixes: * Ben Xin Kang of the University of Hong Kong * Christian Hansen of the University of Hannover * Erik Schreurs from the MATLAB Central community * J. Oliver of Brigham Young University * Michael Johnston of the IRIS toolbox * Ziqiang (Kevin) ChenBibliography * J Kennedy, RC Eberhart, YH Shi. Swarm Intelligence. Academic Press, 2001. * Particle Swarm Optimization. http://en.wikipedia.org/wiki/Particle_swarm_optimization * RE Perez, K Behdinan. Particle swarm approach for structural design optimization. Computers and Structures 85 (2007) 1579–1588. * SM Mikki, AA Kishk. Particle Swarm Optimization: A Physics-Based Approach. Morgan & Claypool, 2008.Addendum ANonlinear inequality constraints in the form c(x) ≤ 0 and nonlinear equality constraints of the form ceq(x) = 0 have now been fully implemented. The 'penalize' constraint boundary enforcement method is now default. It has been redesigned and tested extensively, and should work with all types of constraints.See the following document for the proper syntax for defining nonlinear constraint functions: http://www.mathworks.com/help/optim/ug/writing-constraints.html#brhkghv-16.To see a demonstration of nonlinear inequality constraints using a quadrifolium overlaid on Rosenbrock's function, run PSODEMO and choose 'nonlinearconstrdemo' as the test function.Addendum BSee the following guide in the GA toolbox documentation to get started on using the parallel computing toolbox.http://www.mathworks.com/help/gads/genetic-algorithm-options.html#f17234Addendum CIf you are just starting out and hoping to learn to use this toolbox for work or school, here are some essential readings: * MATLAB's Optimization Toolbox: http://www.mathworks.com/help/optim/index.html * MATLAB's Global Optimization Toolbox: http://www.mathworks.com/help/gads/index.html * MATLAB's Genetic Algorithm: http://www.mathworks.com/help/gads/genetic-algorithm.htmlAddendum DThere is now a particle swarm optimizer included with the Global Optimization Toolbox. If you have a recent version of the Global Optimization Toolbox installed, you will need to set the path appropriately in your code to use this toolbox.

A novel Stochastic Fractal Search Algorithm with Fitness-Distance Balance for Global Numerical OptimizationPlease click for the article: https://www.sciencedirect.com/science/article/abs/pii/S2210650220304740Please click for the article of FDB method: https://www.sciencedirect.com/science/article/abs/pii/S0950705119305167Please click for the FDB-SOS algorithm: https://www.mathworks.com/matlabcentral/fileexchange/72311-fdb-sos

This package contains a collection of classes and functions, which allow to comfortably work with medical images and meshes. It provides a intuitive and transparent way of dealing with spacing, origin, image orientation, etc. The package includes functions for input-output with common image formats (mhd, gipl) and mesh formats (vtk, stl), and basic (although not necessarily simple) image processing operations such as image resample, image reslice and image transform.Please do not hesitate to propose new features, examples or any constructive comments! The most up to date version can be found in the public gitlab repository:https://gitlab.com/compounding/matlab

This standalone version of the EOF function is no longer being maintained. It still works fine, but you'll find the most up-to-date version in the Climate Data Toolbox for MATLAB here: https://www.mathworks.com/matlabcentral/fileexchange/70338. If the eof function has been useful for you, please cite our Climate Data Toolbox for MATLAB paper! This function simplifies the process of applying Empirical Orthogonal Functions (spatiotemporal principal component analysis) to 3D datasets such as climate data. EOF analysis is not terribly difficult to implement, but much time is often spent trying to figure out how to reshape a big 3D dataset, get the EOFs, and then un-reshape. This function does all the reshaping for you, and performs EOF analysis in a computationally efficient manner. The analysis method is a streamlined and optimized version of Guillame MAZE's caleof function, method 2. For a full description and an in-depth tutorial describing how to perform EOF analysis on climate data, click on the Example tab above.

MATLAB code to derive the network graph of a 3D voxel skeletonThis function converts a 3D binary voxel skeleton into a network graph described by nodes and edges. The input is a 3D binary image containing a one-dimensional voxel skeleton, generated e.g. using the "Skeleton3D" thinning function available on MFEX. The output is the adjacency matrix of the graph, and the nodes and links of the network as MATLAB structure.Usage:[A,node,link] = Skel2Graph(skel,THR)where "skel" is the input 3D binary image, and "THR" is a threshold for the minimum length of branches, to filter out skeletonization artifacts.A is the adjacency matrix with the length of the links as matrix entries, and node/link are the structures describing node and link properties.A node has the following properties:- idx List of voxel indices of this node- links List of links connected to this node- conn List of destinations of links of this node- comX,comY,comZ Center of mass of all voxels of this node- ep 1 if node is endpoint (degree 1), 0 otherwiseA link has the following properties:- n1 Node where link starts- n2 Node where link ends- point List of voxel indices of this linkA second function, "Graph2Skel3D.m", converts the network graph back into a cleaned-up voxel skeleton image.An example of how to use these functions is given in the script "Test_Skel2Graph3D.m", including a test image. In this example, it is also demonstrated how to iteratively combine both conversion functions in order to obtain a completely cleaned skeleton graph.Any comments, corrections or suggestions are highly welcome. If you include this in your own work, please cite our publicaton [1].Philip Kollmannsberger 09/2013, 01/2016philipk@gmx.net[1] Kollmannsberger, Kerschnitzki et al.,"The small world of osteocytes: connectomics of the lacuno-canalicular network in bone."New Journal of Physics 19:073019, 2017.

•A hybrid metaheuristic optimization algorithm that combines strong points of firefly and particle swarm algorithms. •A local search strategy is proposed by controlling previous global best fitness value. Please cite : İbrahim Berkan Aydilek, A hybrid firefly and particle swarm optimization algorithm for computationally expensive numerical problems, Applied Soft Computing, Volume 66, May 2018, Pages 232-249

# Description:-This repository contains the SIMULINK model to control P and Q of the 3-phase VSI connected to the utility grid. The active power is regulated to track the command value using the PI controller (i.e., outer loop), and then the output of the PI regulator represents the reference direct axis current of the inverter which is regulated by the inner PI controller. The same procedure could be applied to the reactive power, but to generate the reference quadrature current of the inverter.# Usage: - Run the file directly.- The model parameters are involved in the model properties.# Requirement:-This model is compatible with `Matlab R2019b` and the most recent versions.# Contact:-For further information, please feel free to contact me:Name:- Abualkasim BakeerPosition:- Teaching-Assistant at Faculty of Engineering, Aswan University, Aswan, EgyptEmail:- abualkasim.bakeer@aswu.edu.eg

The optimal power flow (OPF) problem is the backbone tool for power system operation. The objective of the OPF problem is to determine the optimal operating state of a power system by optimizing a particular objective while satisfying certain operating constraints.This code is an illustration on how to solve the OPF problem using a metaheuristic.

The EPANET-Matlab Toolkit is an open-source software, originally developed by the KIOS Research Center for Intelligent Systems and Networks of the University of Cyprus which operates within the Matlab environment, for providing a programming interface for the latest version of EPANET, a hydraulic and quality modeling software created by the US EPA, with Matlab, a high-level technical computing software. The goal of the EPANET Matlab Toolkit is to serve as a common programming framework for research and development in the growing field of smart water networks. The EPANET-Matlab Toolkit features easy to use commands/wrappers for viewing, modifying, simulating and plotting results produced by the EPANET libraries. For support, please use the OWA community forum : http://community.wateranalytics.org/

These example models enable you to use simulation to evaluate electric and hybrid electric aircraft architectures against design criteria such as flight range and flight duration. The models are parameterized so that you can modify many aspects of the design. MATLAB code automates parameter sweeps of battery size and payload. Using these models of electric aircraft in Simulink, you can rapidly explore the design space to identify ranges that meet system requirements. Models include a fixed wing and a VTOL aircraft in separate folders.Please read the README.md file to get started.Use the "Download" button above to get files compatible with the latest release of MATLAB.Use the links below to get files compatible with earlier releases of MATLAB.For R2022b: Use Download button aboveFor R2022a: https://github.com/mathworks/Simscape-Air-Taxi/archive/22.1.3.5.zipFor R2021b: https://github.com/mathworks/Simscape-Air-Taxi/archive/21.2.3.4.zipFor R2021a: https://github.com/mathworks/Simscape-Air-Taxi/archive/21.1.3.3.zipFor R2020b: https://github.com/mathworks/Simscape-Air-Taxi/archive/20.2.3.2.zipFor R2020a: https://github.com/mathworks/Simscape-Air-Taxi/archive/20.1.3.1.zipFor R2019b: https://github.com/mathworks/Simscape-Air-Taxi/archive/19.2.3.0.zipFor R2019a: https://github.com/mathworks/Simscape-Air-Taxi/archive/19.1.2.1.zipFor R2018b: https://github.com/mathworks/Simscape-Air-Taxi/archive/18.2.2.0.zipFor R2018a: https://github.com/mathworks/Simscape-Air-Taxi/archive/18.1.1.1.zipFor R2017b: https://github.com/mathworks/Simscape-Air-Taxi/archive/17.2.1.0.zipTry these free, hands-on tutorials to learn how to use Simscape:https://www.mathworks.com/learn/tutorials/simscape-onramp.htmlhttps://www.mathworks.com/learn/tutorials/circuit-simulation-onramp.htmlFind other Simscape examples by searching posts for the keyword "physical modeling" http://www.mathworks.com/matlabcentral/fileexchange/?term=%22physical+modeling%22Learn more about MathWorks Simscape Products: http://www.mathworks.com/physical-modeling/

This is a simple class/toolbox for classification and regression ensemble learning.It enables the user to manually create heterogeneous, majority voting, weighted majority voting, mean, and stacking ensembles with MATLAB's "Statistics and Machine Learning Toolbox" classification models.Version 1.0.0 also adds boosting, bagging, random subspace, and "random forest" training approaches.

2D/3D specific surface of porous media using 2D imagesSpecific surface of the porous media has two different definitions:1-3-D Specific surface of the void/porous space, which is equal to the surface are of pores divided by their volume. In 2-D the definition is: perimeter of pores divided by their area.2-3-D Specific surface of the solid/grain space, which is equal to the surface are of grains divided by their volume. In 2-D the definition is: perimeter of grains divided by their area.This code computes all of these parameters and visualizes the grain/pore boundaries. The unit is: micron ^-1. The resolution of the image is set to be 5 micron per pixel. Consider that you can change the input resolution in beginning lines of the code. the Rabbani et al. (2014) have founded that the 3-D specific surface is approximately 1.35 timesgreater than its 2-D value. In addition this code computes the porosity of the porous media. If porosity obtained irregular you should invert the color of your input image.If you want to use this code in your researches you can cite these articles: 1- Rabbani, A., Jamshidi, S., & Salehi, S. (2014). Determination of specific surface of rock grains by 2D imaging. Journal of Geological Research, 2014. 2- Rabbani, A., & Jamshidi, S. (2014). Specific surface and porosity relationship for sandstones for prediction of permeability. International Journal of Rock Mechanics and Mining Sciences, 71, 25-32.Check out my tutorial videos on porous material modeling via Matlab on youtube:https://www.youtube.com/playlist?list=PLaYes2m4FtR3DBM7TIb6oOZYI-tG4fHLdBy Arash Rabbaniarashrabbani.comrabarash@yahoo.com

Data Envelopment Analysis Toolbox is a new package for MATLAB that includes functions to calculate efficiency and productivity measures. The package covers the radially oriented, directional, additive, allocative, Malmquist índices and Malmquist-Luenberger formulations.A journal paper describing the functionality of the toolbox can be found here: http://dx.doi.org/10.18637/jss.v095.i03Copyright 2020 Inmaculada C. Álvarez, Javier Barbero, José L. Zofío http://www.deatoolbox.com/

This simple script starts a new instance of MATLAB, and closes the instance from which it was called. Before the restart actions, there is a confirmation dialogue to confirm the restart.It's suggested that the comamnd is set as a favorite command, on the toolbar.

PurposeDynaProg is a MATLAB toolbox to solve a finite horizon multi-stage deterministic decision problem, which is a problem where a decision must be made at each stage for a system that evolves through a finite number of stages, minimizing the total cost incurred.Installing DynaProgThe most straightforward way to install DynaProg is to directly install it from MATLAB's Add-on explorer or from the File Exchange. Doing this also installs the documentation in MATLAB's Help Browser.ContactFor all questions or suggestions, feel free to contact me at federico.miretti@polito.it.

Learn how to:- Use Vehicle Dynamics Blockset™ to model complex vehicle dynamics and driving maneuvers- Create real-time simulations of virtual vehicles with Simulink Real-Time™ and Speedgoat target hardware - Employ Simulink’s interface to Unreal Engine® and visualize driving scenarios - Set up a driving simulator with pedals and a steering wheel to perform driver-in-the loop testing Key benefits:- Start with library blocks and pre-built reference applications out-of-the-box - Save time and money by replacing in-vehicle testing with virtual vehicle simulators - Customize your vehicle model and easily interface with your Simulink controls - Efficiently iterate and test edge scenarios, in a repeatable, reproducible and safe environment - Rapidly deploy your models on real-time hardware without leaving MATLAB® and Simulink The download button will let you access files compatible with the latest MATLAB release (R2021b).Use these hyperlinks to access versions from earlier releases:For R2021b: Click on "Download" button at the top of the page.For R2021a: https://github.com/Speedgoat-Application-Engineering-Team/Real-Time-Driver-in-the-Loop/archive/refs/tags/v4.0.1.zip For R2020b: https://github.com/Speedgoat-Application-Engineering-Team/Real-Time-Driver-in-the-Loop/archive/refs/tags/v3.0.3.zip For R2020a: https://github.com/Speedgoat-Application-Engineering-Team/Real-Time-Driver-in-the-Loop/archive/refs/tags/v2.0.1.zip For R2019b: https://github.com/Speedgoat-Application-Engineering-Team/Real-Time-Driver-in-the-Loop/archive/refs/tags/v1.2.1.zip

Esta Toolbox tem como objetivo resolver problemas por métodos numéricos diretos e indiretos abordados na disciplina de Cálculo numérico. Métodos Implementados:Método da Bisseção;Método de Newton-Raphson;Método da Secante;Eliminação Gaussiana;Decomposição LU.Funcinalidades:Passo a passo da resolução do problema;Tabela completa de dados;Oferece quatro critérios de parada;Representação gráfica.

The presented codes here are two Matlab functions for wide-sense stationarity (WSS) estimation of a signal (e.g., time series) using a novel method developed in two variants. The first variant uses an inference statistical approach (for instance, it implements the Wilcoxon rank sum test and the Brown-Forsythe test), while the second one is purely empirical – it estimates the WSS of the signal "as it is" via comparison of its time-localized summary statistics (mean, variance, covariance), without any assumptions about the underling process or the population.The functions provide a computation of four Boolean flags for:1) overall wide-sense stationarity i.e., simultaneous stationarity about mean, variance and autocovariance;2) stationarity about the mean;3) stationarity about the variance (and hence about the RMS-value);4) time-invariance of the autocovariance (and hence of the autocorrelation and PSD). A few examples are given in order to clarify the usage of the functions. For convenience, the input and output arguments are given in the beginning of each function. The codes are based on the theory described in: [1] H. Zhivomirov, I. Nedelchev. A Method for Signal Stationarity Estimation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XVII, No. 2, pp. 149-155, 2020. (http://rjav.sra.ro/index.php/rjav/article/view/178/103).

Finding Model is a utility that enables users to search Simulink Shipping/User-defined Models based on Block Names. The search criteria can be filtered using:1. Solver Type 2. Specific block connectivity patterns in the models3. Models using Custom Code as Simulation Target4. User Defined Models5. User Defined Libraries6. Specified Keywords used as Annotations in the models7. Code generation TargetThe user needs to download and install MLAPP corresponding to the installed MATLAB version.

The codes are named by the order of the sections of the following report:S. R. Nekoo, J. Á. Acosta, G. Heredia and A. Ollero, "A PD-type state-dependent Riccati equation with iterative learning augmentation for mechanical systems," in IEEE/CAA Journal of Automatica Sinica, doi: 10.1109/JAS.2022.105533.In the codes, a transformation of the conventional SDRE to a PD-type has been presented which could be seen in Section 3.The codes of Section 5 are for simulations and the codes of Section 6 are for experiments. To run the experiment codes, having a setup with Arduino digital board is necessary, equipped with optical encoder feedback. To run the experiment code, load the “.mat” data file first and plot the results.The details, formulations, and more information could be found in the above reference. A video of the experiments could be seen on the journal website in the media section.Please download the data “.mat” file for the last code from the journal’s website.

The package contains:1. SSDRB.m - The source code of the Semi-Supervised Deep Rule-Based Classifier;2. ASSDRB.m - The source code of the Active Semi-Supervised Deep Rule-Based Classifier;3. Semi-Supervised Deep Rule-Based Classifier.pdf - The instruction of the source code;Reference:X. Gu and P. Angelov, “Semi-supervised deep rule-based approach for image classification,” Applied Soft Computing, vol.68, pp. 53-68, 2018.This package is dependent on the Deep rule-based classifier, which can be found in https://uk.mathworks.com/matlabcentral/fileexchange/67772-deep-rule-based-classifierFor any queries about the codes, please contact Prof. Plamen P. Angelov (p.angelov@lancaster.ac.uk) and Dr. Xiaowei Gu (x.gu3@lancaster.ac.uk)Programmed by Xiaowei Gu

paper link: https://link.springer.com/article/10.1007/s10489-021-02629-3 paper link: https://rdcu.be/cqFmDBy using the dynamic FDB selection method, you can transform meta-heuristic search algorithms into a more powerful and efficient method. For this, you should analyze the guide selection process in the meta-heuristic search algorithm and integrate the dynamic FDB selection method into this process. In the uploaded source codes, we applied the dFDB method in the guide selection process of the MRFO algorithm and achieved a unique improvement in the performance of the MRFO. If you read the article that introduces the source codes and the dFDB-MRFO algorithm, you can redesign different algorithms with the dFDB selection method and improve their performance.Manta Ray Foraging Optimizer has been redesigned using the dFDB method, and thus the dFDB-MRFO algorithm has been developed with improved search performance. dFDB-MRFO is an up-to-date and powerful meta-heuristic search algorithm that can be used to solve single-objective optimization problems.FDB Selection Method: Fitness Distance Balance was first introduced in the following link:https://se.mathworks.com/matlabcentral/fileexchange/72311-fdb-sosFDB-based other Meta-heuristic Search AlgorithmsFDB-AGDE (An improved version Adaptive Guided Differential Evolution)https://se.mathworks.com/matlabcentral/fileexchange/90601-fdb-agdeFDB-SDO (An improved version of Supply-Demand Optimizer)https://www.mathworks.com/matlabcentral/fileexchange/84560-fdb-sdo-an-improved-version-of-supply-demand-optimizerLRFDB-COA (An improved version of Coyote Optimization Algorithm)Levy flight and FDB-based coyote optimization algorithm for global optimization https://www.mathworks.com/matlabcentral/fileexchange/87864-lrfdb-coaFDB-SFS (An improved version of Stochastic Fractal Search Algorithm)https://www.mathworks.com/matlabcentral/fileexchange/84405-fdb-sfs

FVTool: Finite volume toolbox for MatlabTiny Documents 📘.This is a finite volume (toy) toolbox for chemical/petroleum engineers.Right now, it can solve a transient convection-diffusion equation with variable velocity field/diffusion coefficients. The discretization schemesinclude:central difference diffusion termcentral difference convection termupwind convection termTVD convection term with various flux limiterstransient termDirichlet, Neumann, Robin, and periodic boundary conditionsWhich equation do you solve?You can solve the following PDE (or a subset of it):with the following boundary conditions:Believe it or not, the above equations describe the majority of the transport phenomena in chemical and petroleum engineering and similar fields.How to startDownload the package, start matlab, and runFVToolStartUpInspirationI started writing this tool after playing with FiPy, an amazing python-based finite volume solver.This matlab solver is not a clone, and indeed very limited compared to FiPy.I wrote it to have a very handy tool for testing new ideas (new mathematical models) by solving them in 1D uniform Cartesian grids.Then I extended the code to1D axisymmetric (radial)2D radial (r, theta)2D Cartesian3D Cartesian2D axisymmetric (cylindrical, r, z)3D cylindrical (r, theta, z)I have overloaded some of the matlab operators to simplify the switch from 1D codes to 2D and 3D.A simple exampleYou can solve a diffusion equation, i.e., $ \nabla. (-D \nabla \phi) = 0 $ by running the following code in Matlab:clcL = 50; % domain lengthNx = 20; % number of cellsm = createMesh1D(Nx, L);BC = createBC(m); % all Neumann boundary condition structureBC.left.a(:) = 0; BC.left.b(:)=1; BC.left.c(:)=1; % Dirichlet for the left boundaryBC.right.a(:) = 0; BC.right.b(:)=1; BC.right.c(:)=0; % right boundaryD_val = 1; % value of the diffusion coefficientD = createCellVariable(m, D_val); % assign the diffusion coefficient to the cellsD_face = harmonicMean(D); % calculate harmonic average of the diffusion coef on the cell facesMdiff = diffusionTerm(D_face); % matrix of coefficients for the diffusion term[Mbc, RHSbc] = boundaryCondition(BC); % matrix of coefficients and RHS vector for the BCM = Mdiff + Mbc; % matrix of coefficients for the PDEc = solvePDE(m,M, RHSbc); % send M and RHS to the solvervisualizeCells(c); % visualize the resultschange the third line to m = createMesh2D(Nx,Nx, L,L); or m = createMesh3D(Nx,Nx,Nx, L,L,L); and see the outcome for yourself.ExamplesThere are a few simple examples in the Tutorial folder.You can also find a few more advanced examples (water injection into a heterogeneous oil field, two nonlinear PDEs, coupledfully implicit solution) in the Advanced folder.DocumentsFind some preliminary documents here.But Matlab is not a free software?You can use the code in octave. The new (object oriented) version of the code works in Octave 4.0 (with the new classdef function).I've re-written the code in Julia. It works fine, but the visualization on Windows OS has still some issues.Questions and bug reportsYou can ask your questions by creating a new issue here, or by writing a comment in my blog. You can also ask your question in the Matlab file exchange page of this code. I truly appreciate your feedback and/or contribution.How to cite:If you have used the package in your work and you find it usefull, please cite it as:@misc{ali_akbar_eftekhari_2015_32745, author = {Ali Akbar Eftekhari and Kai Schüller and Ferran Brosa Planella and Martinus Werts and Behzad Hosseinzadeh}, title = {FVTool: a finite volume toolbox for Matlab}, month = oct, year = 2015, doi = {10.5281/zenodo.32745}, url = {https://doi.org/10.5281/zenodo.32745}}I will also appreciate it if you write me a couple of lines about how you have used it in your research. It encourages me to maintain the code.

bubblebath() plots circles or other polygons at random positions with varying radii. All input parameters are optional including frame size, range of radii, number of vertices per bubble (eg, polygon shape), density, the amount of space between bubbles or how much they can overlap, edge behavior, and other parameters. A figure is produced and there are four outputs that allow the user to make further changes to the plotted objects or to recreate the exact same plot using the same version of the code. See the help section for a detailed description of each optional parameter and its default value. bubblebath_examples.mlx contains many examples showing how to manipulate parameters and how to use the outputs to add color, calculated area of each circle, and other useful information. Follow this page for updates.

Collection of MATLAB implementations of Generative Adversarial Networks (GANs) suggested in research papers. It includes GAN, conditional-GAN, info-GAN, Adversarial AutoEncoder, Pix2Pix, CycleGAN and more, and the models are applied to different datasets such as MNIST, celebA and Facade.

generateDataSummaryA MATLAB/Octave function which generates 2D data clusters. Data iscreated along straight lines, which can be more or less paralleldepending on the selected input parameters.Synopsis[data, clustPoints, idx, centers, angles, lengths] = ... generateData(angleMean, angleStd, numClusts, xClustAvgSep, yClustAvgSep, ... lengthMean, lengthStd, lateralStd, totalPoints, ...)Input parametersRequired parametersParameterDescriptionangleMeanMean angle in radians of the lines on which clusters are based. Angles are drawn from the normal distribution.angleStdStandard deviation of line angles.numClustsNumber of clusters (and therefore of lines) to generate.xClustAvgSepAverage separation of line centers along the X axis.yClustAvgSepAverage separation of line centers along the Y axis.lengthMeanMean length of the lines on which clusters are based. Line lengths are drawn from the folded normal distribution.lengthStdStandard deviation of line lengths.lateralStdCluster "fatness", i.e., the standard deviation of the distance from each point to its projection on the line. The way this distance is obtained is controlled by the optional 'pointOffset' parameter.totalPointsTotal points in generated data. These will be randomly divided between clusters using the half-normal distribution with unit standard deviation.Optional named parametersParameter nameParameter valuesDefault valueDescriptionallowEmptytrue, falsefalseAllow empty clusters?pointDist'unif', 'norm'unifSpecifies the distribution of points along lines, with two possible values: 1) 'unif' distributes points uniformly along lines; or, 2) 'norm' distribute points along lines using a normal distribution (line center is the mean and the line length is equal to 3 standard deviations).pointOffset1D, 2D2DControls how points are created from their projections on the lines, with two possible values: 1) '1D' places points on a second line perpendicular to the cluster line using a normal distribution centered at their intersection; or, 2) '2D' places point using a bivariate normal distribution centered at the point projection.Return valuesValueDescriptiondataMatrix (totalPoints x 2) with the generated data.clustPointsVector (numClusts x 1) containing number of points in each cluster.idxVector (totalPoints x 1) containing the cluster indices of each point.centersMatrix (numClusts x 2) containing line centers from where clusters were generated.anglesVector (numClusts x 1) containing the effective angles of the lines used to generate clusters.lengthsVector (numClusts x 1) containing the effective lengths of the lines used to generate clusters.Usage examplesBasic usage[data cp idx] = generateData(pi / 2, pi / 8, 5, 15, 15, 5, 1, 2, 200);The previous command creates 5 clusters with a total of 200 points, witha mean angle of π/2 (std=π/8), separated in average by 15 units in bothx and y directions, with mean length of 5 units (std=1) and a"fatness" or spread of 2 units.The following command plots the generated clusters:scatter(data(:, 1), data(:, 2), 8, idx);Using optional parametersThe following command generates 7 clusters with a total of 100 000 points.Optional parameters are used to override the defaults.[data cp idx] = generateData(0, pi / 16, 7, 25, 25, 25, 5, 1, 100000, ... 'pointDist', 'norm', 'pointOffset', '1D', 'allowEmpty', true);The generated clusters can be visualized with the same scatter command usedin the previous example.Reproducible cluster generationTo make cluster generation reproducible, set the random number generator seedto a specific value (e.g. 123) before generating the data:rng(123);For GNU Octave, use the following instructions instead:rand("state", 123);randn("state", 123);Previous behaviors and reproducibility of resultsBefore v2.0.0, linessupporting clusters were parameterized with slopes instead of angles. We foundthis caused difficulties when choosing line orientation, thus the change toangles, which are much easier to work with.Version v1.3.0 stilluses slopes, for those who prefer this behavior.For reproducing results in studies published before May 2020, use versionv1.2.0 instead.Subsequent versions were optimized in a way that changed the order in whichthe required random values are generated, thus producing slightly differentresults.ReferenceIf you use this function in your work, please cite the following reference:Fachada, N., & Rosa, A. C. (2020).generateData—A 2D data generator.Software Impacts, 4:100017. doi: 10.1016/j.simpa.2020.100017Multidimensional alternativeThe MOCluGen toolbox extendsgenerateData with arbitrary dimensions and statistical distributions.Therefore, generateData offers a limited subset of the functionality providedby MOCluGen, although it's probably simpler to use.LicenseThis script is made available under the MIT License.

Panel Data Toolbox v2.0 is a new package for MATLAB that includes functions to estimate the main econometric methods of panel data analysis. The package covers the standard fixed, between and random effects methods, that are extended to allow for instrumental variables, as well as spatial panel data specifications.Journal paper describing the functionality of the toolbox can be found here:https://ideas.repec.org/a/jss/jstsof/v076i06.htmlCopyright 2013-2019 Inmaculada C. Álvarez, Javier Barbero, José L. Zofío

Line-Profile Analysis Software (LIPRAS)AuthorsGiovanni Esteves, Klarissa Ramos, Chris M. Fancher, and Jacob L. JonesContact InfoEmail: gesteve@ncsu.edu or gesteves21@gmail.com Please include "LIPRAS" in subject History: The backbone of the code was originally created by Jacob L. Jones when he was a post doc back in 2006-2007. In 2014, Chris M. Fancher continued development of the code created by Jacob and successfully turned it into a class file within MATLAB. Giovanni Esteves further built upon Chris's version by polishing the code and adding features to enhances its feasibility to new users. Finally, in 2016 Klarissa Ramos joined the Jones Research group and jointly with Giovanni they restructured the class file into a graphical user interface (GUI) which is now known as LIPRAS.What is LIPRAS?LIPRAS [LEEP-ruhs], short for Line-Profile Analysis Software, is a graphical user interface for least-squares fitting of Bragg peaks in powder diffraction data. For any region of the inputted data, user can choose which profile functions to apply to the fit, constrain profile functions, and view the resulting fit in terms of the profile functions chosen. A Bayesian inference analysis can be carried out on the resulting least-squares result to generate a full description of the errors for all profile parameters.Features in LIPRAS Why use LIPRAS? You can use LIPRAS to visualize and analyze diffraction data. Quickly extract relevant peak information about the position, full width at half maximum (FWHM), and intensity Conduct Bayesian inference on least-squares results using a Markov Chain Monte Carlo algorithm Customize the background fit by either treating it separately (Polynomial or Spline) or including it in the least-squares routine (Polynomial only) Can analyzes files with a different number of data points and/or X-values, however, check fitting range before attempting Fit up to 20 peaks in the current profile region Choose from 5 peak-shape functions: Gaussian, Lorentzian, Pseudo-Voigt, and Pearson VII, and Asymmetric Pearson VII Peak-shape functions can be constrained in terms of intensity, peak position, FWHM, and mixing coefficient Automatically calculate Cu-Kalpha2 peaks when working with laboratory X-ray data Change any of the starting fit values and instantly view a sample plot of the fit, before conducting a fit For multiple diffraction patterns, results from previous fit are subsequent starting parameters for next fit Visualize results with a plot of the resulting peak fit and residual plot Resulting coefficients values can be viewed with file number Parameters files are written to recreate fits and detail what fit parameters and profile shape functions were used Accepts the following file types: .xy, .xye, .xls, .xlsx, .fxye, .xrdml, .chi, .csv (Windows Only)InstallationMATLAB UsersRequires MATLAB 2016b, Curve Fitting Toolbox, and GUI Layout ToolboxYou can start using LIPRAS in MATLAB after downloading GUI Layout Toolbox with a MATLAB version 2016b or greater thats equipped with Curve Fitting Toolbox. The Statistics and Machine Learning Toolbox is required for Bayesian analysis, but not for peak fitting.GUI Layout Toolbox: https://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolboxStand-Alone Version (NO MATLAB NEEDED)This version is not updated as often as the GitHub repository since it needs to be compiled using a specific MATLAB license on a specific computer.LIPRAS, uploaded to SourceForge:*Stand-Alone Version DownloadIf you use LIPRAS for your research, please cite it:Giovanni Esteves, Klarissa Ramos, Chris M. Fancher, and Jacob L. Jones. LIPRAS: Line-Profile Analysis Software. (2017). DOI: 10.13140/RG.2.2.29970.25282/3AcknowledgementThis website is based in part upon work supported by the National Science Foundation under Grant No. 1409399. Any opinions, findings and conclusions or recommendations expressed in this website are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).LicenseLIPRAS BSD License,Copyright (c) 2017, North Carolina State UniversityAll rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted providedthat the following conditions are met:Redistributions of source code must retain the above copyright notice, this list of conditions and thefollowing disclaimer.Redistributions in binary form must reproduce the above copyright notice, this list of conditions andthe following disclaimer in the documentation and/or other materials provided with the distribution.The names North Carolina State University, NCSU and any tradename, personal name,trademark, trade device, service mark, symbol, image, icon, or any abbreviation, contraction orsimulation thereof owned by North Carolina State University must not be used to endorse or promoteproducts derived from this software without prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANYEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALLTHE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Telegram Bot Toolbox API The Telegram Bot Toolbox API created for developers keen on building bots for Telegram.Use this toolbox to build chatbot or informer. You can simply send any types of files or text messages in telegram, build bot to collect data from automated interview or control devices.Each bot is given a unique authentication token when it is created. The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. You can learn about obtaining tokens and generating new ones in https://core.telegram.org/bots/api UsageSee the example1 and example2.LicenseDistributed under the MIT License. See LICENSE for more information.ContactProject Link: alekseikukin/mtbtapi.

This app 'keystone corrects' a given image. Basically, it straightens merging lines to correct perspective as expected in photos of tall buildings, snapshots of display boards shot at an angle, etc. A discussion of the algorithm behind this app is given here.Any feature suggestions or comments are welcome. Thanks for trying the app (if you did, that is) and enjoy (the life, in general)!

Psychophysics Toolbox Version 3 (or short "PTB") extends MATLAB with functions for research grade neuroscience stimulus presentation and response collection. The PTB core routines provide trustworthy, precise, and efficient functions for stimulus presentation and response collection in different modalities:- Visual stimulus presentation by use of modern graphics and display hardware via OpenGL hardware acceleration:• Drawing of complex 2D stimuli, including use of GPU shaders, framebuffer blending and texture mapping for real-time creation of complex dynamic stimuli and procedural stimuli.• Movie playback and movie recording, utilizing the GStreamer multi-media framework.• Video capture and live display, including GPU post-processing of live video, also with precisely timedcontrol of professional class IIDC compliant Firewire and USB-Vision machine vision video cameras and synchronized multi-camera setups (Linux only for IIDC cameras).• Drawing of 3D stimuli via direct low level OpenGL commands and via a high level 3D engine.• Stereoscopic presentation, supporting different stereoscopic display techniques, including support for some head tracked VR headsets, e.g., from Oculus VR.• Presentation of stimuli with high color/luminance/contrast precision on a wide range of suitable displayhardware for bit depths beyond the typical 8 bits per color range, up to 16 bits per color channel withsome equipment.• High Dynamic Range (HDR) stimulus display on Linux, and MS-Windows, and with more limitations on macOS 10.15.• GPU based fast stimulus post-processing to cover many common tasks like color-correction, gamma correction, geometric display distortion correction, vignette/shading correction.• Precisely timed and time-stamped stimulus presentation, also on multi-display setups.• Support for variable refresh rate displays (FreeSync, DisplayPort adaptive sync) on modern Linux.• Support for some types of photometers for display calibration.- Auditory stimulus presentation with low-latency, sub-millisecond precise timing and time-stamping, multi-channel support and convenient live control of some auditory stimulus parameters. Interfacing with the OpenAL API for 3D spatial stimuli.- Fast low level control of some types of digital and analog input/output hardware for control of stimulation and recording equipment via serial ports, network and USB.Response collection, sometimes with millisecond accurate time-stamping is provided from keyboards, keypads, mice, game controllers, and other HID input devices, and also - on Linux and Windows 10 only - on multitouch touchscreens. Different common response button boxes and eye trackers are also supported, as well as auditory response collection.Psychtoolbox also provides functions for precisely timed execution of code, and for control of the realtime scheduling facilities of the operating system.Ancillary routines support common needs like color space transformations, the QUEST threshold seeking algorithm and some other psychometric routines, file i/o and various convenient helper routines. A large set of demos is included.Psychtoolbox works best on recent versions of the GNU/Linux operating system, where it takes advantage of some unique features of that operating system (Ubuntu 20.04.3-LTS or later). It also works reasonably well on Microsoft Windows (Windows-10 recommended) and - with substantial limitations due to many operating system flaws and defects - Apple macOS (version 10.15.7 recommended, macOS 11 not recommended), although those systems are often much more restricted in accuracy and reliability of stimulus presentation and response collection.Different parts of Psychtoolbox are licensed under different OSI compliant Free Software and Open Source licenses, with the majority of routines licensed under the MIT license.

GENERAL DESCRIPTIONThis toolbox is a Matlab tool for electrolysis modelling, for both PEM andalkaline systems. Main functionality is in parametrization of the UI curvebased on measured data. This toolbox aims to simplify the process andprovide easy-to-use commands for quickly determining the UI curve parametervalues and their margins of uncertainty.INSTALLATIONMATLAB needs to be installed on the computer for the user to be able toinstall the electrolyzer modelling toolbox. Following steps install thetoolbox for that matlab installation:Download the provided electrolyzerModellingToolbox.mltbx file from thereleases page.Double click on the .mltbx file to initiate installation.Once the installation completes the toolbox functions are usable in allmatlab projectsAUTHORS AND CONTACTSPietari PuranenJunior researcher at the Lappeenranta-Lahti University of Technology LUTEmail: Pietari.Puranen@lut.fiLauri JärvinenJunior researcher at the Lappeenranta-Lahti University of Technology LUTEmail: Lauri.Jarvinen@lut.fiAKNOWLEDGEMENTSMarchov Chain Monte Carlo (MCMC) tools provided by Marko Laine have beenused for the determination of uncertainty in curve fitting when using theparticleswarm optimization method. The licensing for the tools can be foundunder ./Utils/mcmcstat/LICENSE.txtThe Academy of Finland is acknowledged for the main financial support ofthe Research of Power Quality Effect on Water Electrolyzer Operation(POQELYZER) project.

Spectral Proper Orthogonal Decomposition in MatlabSPOD() is a Matlab implementation of the frequency domain form of proper orthogonal decomposition (POD, also known as principle component analysis or Karhunen-Loève decomposition) called spectral proper orthogonal decomposition (SPOD). SPOD is derived from a space-time POD problem for stationary flows [1,2] and leads to modes that each oscillate at a single frequency. SPOD modes represent dynamic structures that optimally account for the statistical variability of stationary random processes.The large-eddy simulation data provided along with this example is a subset of the database of a Mach 0.9 turbulent jet described in [3] and was calculated using the unstructured flow solver Charles developed at Cascade Technologies. If you are using the database in your research or teaching, please include explicit mention of Brès et al. [3]. The test database consists of 5000 snapshots of the symmetric component (m=0) of a round turbulent jet.spod.m is a stand-alone Matlab function with no toolbox dependencies. All other Matlab files contained in this repository are related to the six examples that demonstrate the functionality of the code (see file descriptions below). A physical interpretation of the results obtained from the examples can be found in [4]. The reference for the frequency-time analsyis is [5].DownloadUsing your browserRepository zip file with examples (81.5 MB): https://github.com/SpectralPOD/spod_matlab/archive/master.zipMatlab function only (15 KB): https://raw.githubusercontent.com/SpectralPOD/spod_matlab/master/spod.mUsing Git in the terminalgit clone https://github.com/SpectralPOD/spod_matlab.gitFilesFileDescriptionspod.mSpectral proper orthogonal decomposition in Matlabexample_1.mInspect data and plot SPOD spectrumexample_2.mPlot SPOD spectrum and inspect SPOD modesexample_3.mSpecify spectral estimation parameters and use weighted inner productexample_4.mCalculate the SPOD of large data and save results on hard driveexample_5.mCalculate full SPOD spectrum of large dataexample_6.mCalculate and plot confidence intervals for SPOD eigenvaluesexample_7_FTanalysis.mFrequency-time analysisexample_8_invspod.mBand-pass filtering using (inverse) SPODexample_9_multitaperWelchSPOD using Multitaper-Welch estimatorstcoeffs.mTime-continuous expansion coefficients via convolutioninvspod.mInversion of SPOD using block-wise expansion coefficientsjet_data/getjet.mInterfaces external data source with SPOD() (examples 4-5)utils/trapzWeightsPolar.mIntegration weight matrix for cylindrical coordinates (examples 3-6)utils/jetLES.matMach 0.9 turbulent jet test databaseLICENSE.txtLicenseUsage[L,P,F] = SPOD(X) returns the spectral proper orthogonal decompositionof the data matrix X whose first dimension is time. X can have anynumber of additional spatial dimensions or variable indices. Thecolumns of L contain the modal energy spectra. P contains the SPODmodes whose spatial dimensions are identical to those of X. The firstindex of P is the frequency and the last one the mode number ranked indescending order by modal energy. F is the frequency vector. If DT isnot specified, a unit frequency sampling is assumed. For real-valueddata, adjusted one-sided eigenvalue spectra are returned. AlthoughSPOD(X) automatically chooses default spectral estimation parameters,the user is encouraged to manually specify problem-dependent parameterson a case-to-case basis.[L,P,F] = SPOD(X,WINDOW) uses a temporal window. If WINDOW is a vector,X is divided into segments of the same length as WINDOW. Each segmentis then weighted (pointwise multiplied) by WINDOW. If WINDOW is ascalar, a Hamming window of length WINDOW is used. If WINDOW is omittedor set as empty, a Hamming window is used. Multitaper-Welch estimatesare computed with the syntax SPOD(X,[NFFT BW],...), where WINDOW is anarray of two scalars. NFFT is the window length and BW thetime-halfbandwidth product. See [4] for details. By default, a numberof FLOOR(2*BW)-1 discrete prolate spheroidal sequences (DPSS) is usedas tapers. Custom tapers can be specified in a column matrix of tapersas WINDOW.[L,P,F] = SPOD(X,WINDOW,WEIGHT) uses a spatial inner product weight inwhich the SPOD modes are optimally ranked and orthogonal at eachfrequency. WEIGHT must have the same spatial dimensions as X.[L,P,F] = SPOD(X,WINDOW,WEIGHT,NOVERLAP) increases the number ofsegments by overlapping consecutive blocks by NOVERLAP snapshots.NOVERLAP defaults to 50% of the length of WINDOW if not specified.[L,P,F] = SPOD(X,WINDOW,WEIGHT,NOVERLAP,DT) uses the time step DTbetween consecutive snapshots to determine a physical frequency F.[L,P,F] = SPOD(XFUN,...,OPTS) accepts a function handle XFUN thatprovides the i-th snapshot as x(i) = XFUN(i). Like the data matrix X,x(i) can have any dimension. It is recommended to specify the totalnumber of snaphots in OPTS.nt (see below). If not specified, OPTS.ntdefaults to 10000. OPTS.isreal should be specified if a two-sidedspectrum is desired even though the data is real-valued, or if the datais initially real-valued, but complex-valued for later snaphots.[L,P,F] = SPOD(X,WINDOW,WEIGHT,NOVERLAP,DT,OPTS) specifies options:OPTS.savefft: save FFT blocks to avoid storing all data in memory [{false} | true]OPTS.deletefft: delete FFT blocks after calculation is completed [{true} | false]OPTS.savedir: directory where FFT blocks and results are saved [ string | {'results'}]OPTS.savefreqs: save results for specified frequencies only [ vector | {all} ]OPTS.loadfft: load previously saved FFT blocks instead of recalculating [{false} | true]OPTS.mean: provide a mean that is subtracted from each snapshot [ array of size X | 'blockwise' | {temporal mean of X; 0 if XFUN} ]OPTS.nsave: number of most energtic modes to be saved [ integer | {all} ]OPTS.isreal: complex-valuedity of X or represented by XFUN [{determined from X or first snapshot if XFUN is used} | logical ]OPTS.nt: number of snapshots [ integer | {determined from X; defaults to 10000 if XFUN is used}]OPTS.conflvl: confidence interval level [ scalar between 0 and 1 | {0.95} ]OPTS.normvar: normalize each block by pointwise variance [{false} | true][L,PFUN,F] = SPOD(...,OPTS) returns a function PFUN instead of the SPODdata matrix P if OPTS.savefft is true. The function returns the j-thmost energetic SPOD mode at the i-th frequency as p = PFUN(i,j) byreading the modes from the saved files. Saving the data on the harddrive avoids memory problems when P is large. The modal energy spectraare returned in L, and saved in a separate file 'spod_energy.mat'.[L,P,F,Lc] = SPOD(...) returns the confidence interval Lc of L. Bydefault, the lower and upper 95% confidence levels of the j-th mostenergetic SPOD mode at the i-th frequency are returned in Lc(i,j,1) andLc(i,j,2), respectively. The OPTS.conflvl*100% confidence interval isreturned if OPTS.conflvl is set. For example, by setting OPTS.conflvl =0.99 we obtain the 99% confidence interval. A chi-squared distributionis used, i.e. we assume a standard normal distribution of the SPODeigenvalues.[L,P,F,Lc,A] = SPOD(...) returns the block-wise expansion coefficientsin A. INVSPOD(P,A,WINDOW,NOVLP) uses A to reconstruct the original data fromthe SPOD.References[1] Towne, A., Schmidt, O. T., Colonius, T., Spectral proper orthogonal decomposition and its relationship to dynamic mode decomposition and resolvent analysis, J. of Fluid Mech. 847, 821–867, 2018[2] Lumley, J. L., Stochastic tools in turbulence, Academic Press, 1970[3] G. A. Brès, P. Jordan, M. Le Rallic, V. Jaunet, A. V. G. Cavalieri, A. Towne, S. K. Lele, T. Colonius, O. T. Schmidt, Importance of the nozzle-exit boundary-layer state in subsonic turbulent jets, J. of Fluid Mech. 851, 83-124, 2018[4] Schmidt, O. T., Towne, A., Rigas, G., Colonius, T., Bres, G. A., Spectral analysis of jet turbulence, J. of Fluid Mech. 855, 953–982, 2018[5] Nekkanti, A. and Schmidt, O. T., Frequency–time analysis, low-rank reconstruction and denoising of turbulent flows using SPOD , J. of Fluid Mech. 926, A26, DOI 10.1017/jfm.2021.681, 2021[6] Schmidt, O. T., Spectral proper orthogonal decomposition using multitaper estimates, Theor. Comput. Fluid Dyn., 1-14, DOI 10.1007/s00162-022-00626-x, https://rdcu.be/cUtP3, 2022

The present code is a Matlab function that provides an Inverse Short-Time Fourier Transform (ISTFT) of a given spectrogram STFT(k, l) with time across columns and frequency across rows. The output of the function is:1) the reconstructed signal in time domain;2) a time vector.For convenience, the input and output arguments are given in the beginning of the functionAn example is given in order to clarify the usage of the function. It represents the time-frequency analysis and then the perfect reconstruction of a given signal x[n], using Blackman and Hamming windows for the analysis and resynthesis, respectively. Also, a GUI named OLAExam is supplied to represent the perfect reconstruction via overlap-add (OLA) method and to assist the choice of the analysis/resynthesis window(s) (their length and hop size).The code is based on the theory described in:[1] H. Zhivomirov. On the Development of STFT-analysis and ISTFT-synthesis Routines and their Practical Implementation. TEM Journal, ISSN: 2217-8309, DOI: 10.18421/TEM81-07, Vol. 8, No. 1, pp. 56-64, Feb. 2019. (http://www.temjournal.com/content/81/TEMJournalFebruary2019_56_64.pdf)

Get the new toolbox here: https://au.mathworks.com/matlabcentral/fileexchange/75250-light-field-toolboxThis is a set of tools for working with light field (aka plenoptic) imagery in Matlab. Features include decoding, calibration, rectification, colour correction, basic filtering and visualization of light field images. New in version 0.4 are some linear depth/focus and denoising filters.Download the sample light field pack at http://www-personal.acfr.usyd.edu.au/ddan1654/LFToolbox0.3_Samples1.zip. Sample calibration datasets can be found at http://marine.acfr.usyd.edu.au/plenoptic-imaging.

the Algorithm returns a fully trained autoencoder based ELM, you can use it to train a deep network by changing the original feature representations,it code or decode any input simple depending on the training parameters (input and output weights ) .please cite as : B. Tarek, H. Mouss, O. Kadri, L. Saïdi, and M. Benbouzid, “Aircraft Engines Remaining Useful Life Prediction using an Improved Online Sequential Extreme Learning Machine,” Appl. Sci., 2020.In this link an example of regenerating of an image from the encoded matrix using an autoencoder is illustrated:https://www.youtube.com/watch?v=ZdyUnbbSdN8&feature=youtu.be

The package contains:1. DRB.m - The source code of the recently introduced Deep Rule-Based Classifier;2. Deep Rule-Based Classifier.pdf - The instruction of the source code;3. MNISTexample.mat - The example images and the extracted features.References: [1] X. Gu, P. Angelov, C. Zhang and P. M. Atkinson , “A Massively Parallel Deep Rule-Based Ensemble Classifier for Remote Sensing Scenes,” IEEE Geoscience and Remote Sensing Letters, vol.15(3), pp. 345 - 349, 2018.[2] P. Angelov and X. Gu, “Deep Rule-Based Classifier with Human-level Performance and Characteristics,” Information Sciences, vol.463-464, pp. 196-213., 2018.For any queries about the codes, please contact Prof. Plamen P. Angelov (p.angelov@lancaster.ac.uk) and Dr. Xiaowei Gu (x.gu3@lancaster.ac.uk)The semi-supervised learning extension of the Deep Rule-Based Classifier is available at: https://uk.mathworks.com/matlabcentral/fileexchange/67773-semi-supervised-deep-rule-based-classifier?s_tid=prof_contriblnk Programmed by Xiaowei Gu

Augmented Lagrangian Digital Volume Correlation (ALDVC): volumetric displacement and strain measurement based on a hybrid local-global approach. ALDVC is a fast, parallel-computing hybrid DVC algorithm, which combines advantages of local subset method (fast computation speed, and parallel computing) and finite-element-based global method (guarantee global kinematic compatibility and decrease noise).% =================================== For full details, and to use this code, please cite our paper:Yang, J., Hazlett, L., Landauer, A., Franck, C. Augmented Lagrangian Digital Volume Correlation. Experimental Mechanics, 2020 (https://link.springer.com/article/10.1007/s11340-020-00607-3).Or request full text at:https://www.researchgate.net/publication/343676441_Augmented_Lagrangian_Digital_Volume_Correlation_ALDVCCode manual is available at: https://www.researchgate.net/publication/343676916_Augmented_Lagrangian_Digital_Volume_Correlation_ALDVC_Code_Manual% =================================== Advantages of ALDVC algorithm[1] It’s a fast algorithm using distributed parallel computing.[2] Global kinematic compatibility is added as a global constraint in the form of augmented Lagrangian, and solved using Alternating Direction Method of Multipliers scheme.[3] Both displacement fields and affine deformation gradients are correlated at the same time.[4] No need of much manual experience about choosing displacement smoothing filters.[5] Being able to compute image sequence with multiple image frames, which is especially quite useful for measuring very large deformations.% =================================== % ****** ATTENTION ******% The "x,y,z" or "1-,2-,3-" coordinates in the ALDVC code always correspond to the 1st, 2nd and 3rd indices of Matlab workspace variable. For example, p_meas(:,1) and p_meas(:,2) are the x- & y-coordinates of scattered points.%% This is a little different from some MATLAB image processing functions. % For example, if a 3D image has size MxNxL, in this code, we always have the image size_x=M, size_y=N, size_z=L. If you use some Matlab computer vision/image post-processing function, for example, 'imagesc3D', or 'imshow3D', or 'surf', it will reads size_x=N, size_y=M, size_z=L.%% Please pay attention to this difference.% ================================================== Contact and supportI appreciate your comments and ratings to help me keep improving this code! Please feel free to follow this code, then you will be notified with all the important updates/corrections in the future.% ================================================== References [1] regularizeNd. https://www.mathworks.com/matlabcentral/fileexchange/61436-regularizend [2] https://www.mathworks.com/matlabcentral/fileexchange/24049-streamcolor

The standard bat algorithm (BA) is inspired by the echolocation characteristics of microbats. This demo solves a function of d=10 dimensions. It is straightforward to extend it to solve other functions and optimization problems. The details can be found in the book: Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier Insights, (2014). https://www.sciencedirect.com/book/9780124167438/nature-inspired-optimization-algorithms

Generalized chi-square distribution Matlab toolbox to compute the statistics, pdf, cdf, inverse cdf and random numbers of the generalized chi-square distribution.AuthorAbhranil Das, Center for Perceptual Systems, The University of Texas at Austin.Bugs/comments/questions/suggestions to abhranil.das@utexas.edu.If you use this code, please cite: A method to integrate and classify normal distributions.InstallationWithin Matlab's Home tab, select Add-Ons > Get Add-Ons > Search for 'Generalized chi-square distribution' and install.Quick StartAfter installation, begin with the Getting Started live script with interactive examples, or, at any time, go to Matlab Home tab > Add-Ons > Manage Add-Ons > click the three dots next to this toolbox > View Getting Started GuideDocumentationFor function help, type:doc gx2statdoc gx2rnddoc gx2cdfdoc gx2cdf_daviesdoc gx2cdf_imhofdoc gx2cdf_rubendoc gx2pdfdoc gx2invdoc gx2_params_norm_quad

RTFS is a user-friendly interface designed to assist the user in the task of building complex transmission line models for short-circuit analysis in power systems, using the Alternative Transients Program - ATP. This tool enables the user to carry out fault simulations with increased levels of detail, in which line spans, grounding structures, phase conductors, and shield wires are modeled and analyzed individually, allowing the construction of complex designs of long transmission lines, accounting for variations along its course (geometry and conductor changes, transpositions, soil heterogeneities) and providing direct access to current and voltage responses for all conductors at every line section.Based on user input, RTFS writes the appropriate Line Constants blocks and main ATP files, invokes the ATP solver and processes the results according to the requested outputs. The main technical highlights are:♦ Supports up to 9999 line spans.♦ Supports Pi, Bergeron and JMarti line models.♦ Span lenghts, soil resistivities and ground impedances may be set individually for each section or loaded from CSV files.♦ Supports all types of faults, involving one, two and three phases, with variable incidence angle.♦ Supports different cross-sections along the transmission line course.♦ Supports different transposition schemes.♦ Supports single and double circuit lines.♦ Includes a conductor database.External functions included:♦ Paul Mennen (2020). prin (https://www.mathworks.com/matlabcentral/fileexchange/60981-prin), MATLAB Central File Exchange. Retrieved October 4, 2020.

chop is a MATLAB function for rounding the elements of a matrix to a lower precision arithmetic with one of several forms of rounding. Its intended use is for simulating arithmetic of different precisions (less than double) with various rounding modes. The input to chop should be single precision or double precision and the output will have the same type: the lower precision numbers are stored within a higher precision type.The arithmetic formats supported are 'b', 'bfloat16' - bfloat16, 'h', 'half', 'fp16' - IEEE half precision (the default), 's', 'single', 'fp32' - IEEE single precision, 'd', 'double', 'fp64' - IEEE double precision, 'c', 'custom' - custom format.

DGTtool for computing STFT/DGTA simple and user-friendly MATLAB tool for computing the short-time Fourier transform (STFT) and the discrete Gabor transform (DGT). It is designed to be easy and fast for practical use.The following features of DGTtool might be different from the other tools:Parameters are stored inside DGTtool object for user-friendliness.All pre-computation runs only once so that repeated computation of DGT/STFT is fast.Many computations run in parallel for all channels (for multi-channel signal).Perfect reconstruction is very easily realized.Number of frequency bins can be smaller than the window length.Dual and tight windows can be computed easily.Sparse time-frequency representation (reassigned spectrogram) is implemented.Phase visualization tool (plotPhase) is implemented.STFT/DGT can be written in an operator form.How to UseDownload DGTtool.m and place it in the Current Folder.1. Create DGTtool objectCreate a DGTtool object F by specifying its parameters.F = DGTtool('windowShift',500,'windowLength',1500,'FFTnum',2000,'windowName','Blackman')(Note: This step can be done without parameters: F = DGTtool. Unspecified parameters are set to default values.)2. Compute spectrogramCompute a spectrogram X from a signal x.X = F(x);3. Convert spectrogram back to signalCompute the signal x from its spectrogram X.x = F.pinv(X);4. Visualize spectrogramThree visualization functions are implemented. A spectrogram is computed and plotted from a time-domain signal x (and sampling frequency fs, optional).F.plot(x,fs)F.plotPhase(x,fs)F.plotReassign(x,fs)DocumentationTo check all functions in DGTtool, please read and run demo.m.help DGTtoolanddoc DGTtoolprovide detailed usage.

This function computes the Sample Entropy (SampEn) algorithm according to the Richman, J. S., & Moorman, J. R. (2000) recommendations. The script is bearable, compressed and vectorized. Therefore, the computation cost is minimal. Furthermore, extraordinary cases when SampEn is not defined are considered:- If B = 0, no regularity has been detected. A common SampEn implementation would return -Inf value.- If A = 0, the conditional probability is zero (A/B = 0), returning an Inf value.According to Richman & Moorman, the upper bound of SampEn must be A/B = 2/[(N-m-1)(N-m)], returning SampEn = log(N-m)+log(N-m-1)-log(2). Hence, whenever A or B are equal to 0, that is the correct value.Input parameters:- signal: Signal vector with dims. [1xN] - m: Embedding dimension (m < N). - r: Tolerance (percentage applied to the SD).- dist_type: (Optional) Distance type, specified by a string. Default value: 'chebychev' (type help pdist for further information).Output variables:- value: SampEn value.Example of use:signal = rand(200,1);value = sampen(signal,1,0.2)

TPMS-Designer.An open-source Matlab toolbox for generation, analysis and visualisation of TPMS-like structures and other 3D objects.If you use this to aid in a publication, please use the following citation:Alistair Jones, Martin Leary, Stuart Bateman, Mark Easton, TPMS Designer: A tool for generating and analyzing triply periodic minimal surfaces, Software Impacts, Volume 10, 2021, 100167, ISSN 2665-9638, https://doi.org/10.1016/j.simpa.2021.100167.Install Instructions:1 - To install the complete toolbox in Matlab, downloadthe latest release of TPMS Designer Release and include files in your path within matlab.ORDownload and run TPMS-Designer/TPMS Designer.mltbx2 - To install juat the GUI application, download and runTPMS-Designer/Application/TPMS Designer.mlappinstall3 - For users without Matlab, you may download the stand-alone version.Download and run TPMS-Designer/Application/TPMS_Designer_Installer_web.exeThis may take a while and will prompt you to install the relevant version of the free matlab runtime.