In the latest version of Matlab R2015a, I found many new functions in the DSP System Toolbox, some of these functions can be achieved using other functions as I think.
Now my question, is there a difference between such function (dsp.Maximum) and (max)? and many other like function
Related
I'm specifically looking at something like Matlab's firpm function (I know there are C implementations of Remez available online in several sources).
The firpm page on the MATLAB documentation, under "Extended Capabilities", says the function is compatible with C/C++ code generation with the MATLAB Coder.
I know there are several functions, such as aryule and arborg, which can estimate coefficients of AR models. But these functions cannot deal with AR models with input-output delay.
I also learned that the newest Matlab includes a function named 'arx' that can estimate AR parameters including the input-output delay. Unfortunately, the current version of Matlab I used is 2013a and I didn't find this 'arx' function inside.
I am wondering if anybody would kindly help me to tackle this issue.
I have a function fun(x,y,z), such that say, x=1:10, y=50:60, z=100:105. Which optimization method (and how) I can use to get the minimum of this function, for example, where (x,y,z)=(3,52,101). I am working in Matlab.
Thank you for any help
Algorithms
There are many many algorithms out there that you can use for direct search optimization such as Nelder-Mead, Particle Swarm, Genetic Algorithm, etc.
I believe Nelder-Mead is a simplex optimization method which is used by fminsearch function in MATLAB.
Also, there is Genetic Algorithm which comes with MATLAB Global Optimization toolbox. You may want to give that a try as well.
Particle Swarm Optimization (PSO) is another direct search method that you can use. However, there is no official toolbox for Particle Swarm method built by Mathworks. The good news is there is quite a few PSO toolbox developed by other people. I personally have used this one and am quite happy with the performance. Its syntax is similar to Genetic Algorithm functions that come with Global Optimization Toolbox.
Discrete Optimization
Regarding your question that you are looking for a set of integer values namely x,y, and z corresponding to the minimum objective function value, I would add a part at the beginning of the objective function that rounds the variables to the closest integers and then feeds them to your main function fun(x,y,z). This way you would discretize your function space.
I hope my answer helps.
I would like to use the function evalclusters from the statistics toolbox in matlab, but matlab is unable to find the function when I call it.
help evalclusters
returns 'evalclusters not found.'
The statistics toolbox is installed [license('test','statistics_toolbox') returns '1'].
Thanks!
evalclusters was added with Matlab 2013b and extended with 2014a, it is not available in Matlab 2013a.
In case upgrading Matlab is not an option, current Octave Statistics package includes it as well. (Open-Source alternative to Matlab which basically uses the same syntax)
I would like to know if there is any available Gaussian hypergeometric function (2F1 function) code for Matlab.
I perfectly know that in the newest Matlab releases there is the hypergeom function, but it works really slow.
Therefore I was wondering about the existance of any mex function or whatever similar code performing what hypergeom does.
I thank you all in advance for support.
Best regards,
Francesco
The GNU Scientific Library implements hypergeometric functions including 2F1. You shouldn't have too much trouble wrapping that inside a mex-file.
I expect you'll find other sources knocking around on the Internet too.
Do report back and let us know if it does work faster than the intrinsic function.
After googleing a bit in the Internet, I came up with this tool provided within the Mathworks File Exchange:
http://www.mathworks.com/matlabcentral/fileexchange/35008-generation-of-random-variates/content/pfq.m
It consists of 1900 distributions, and among them the Gaussian hypergeometric function 2F1.
Furthermore, it has better performances than the standard hypergeom function.