I am trying to solve a system of equations by the Gauss-Jordan method, the book uses the Gjelim function but I cannot find the Toolbox that implements it. I would appreciate if anyone has this information.
You haven't referenced exactly the book you're looking at, but as noted in Linear Algebra with Applications (Gareth Williams, p.532)
MATLAB contains functions for working with matrices. New functions can also be written in the MATLAB language. The function gjelim has been written for Gauss-Jordan elimination. It includes a "rational number" option (the default mode is decimal number), a "count of arithmetic operations" option, and an "all steps" option that displays all the steps. gjelim and other MATLAB programs are found in The Linear Algebra with Applications Toolbox available from http://www.stetson.edu/~gwilliam/mfiles.htm
Unfortunately this link appears to now be dead, but it is still available on archive.org (here is the most recent entry from Sept 2019):
https://web.archive.org/web/20180214124023/http://www2.stetson.edu/~gwilliam/mfiles.htm
And the link for downloading the toolbox zip is still served by that archive:
https://web.archive.org/web/20180214124023/http://www2.stetson.edu/~gwilliam/mfiles.ZIP
Related
Is it possible to use a MATLAB code on Scilab? Is that what is meant when saying that Scilab is a "clone" from MATLAB?
There is a tool to automatically convert Matlab source to Scilab source, it's called M2SCI. A script parses the Matlab source code and replaces Matlab-specific functions by Scilab ones. See the documentation of the mfile2sci function.
Yes you can use MATLAB code on scilab. See these links for more information:
http://help.scilab.org/docs/5.4.0/fr_FR/section_36184e52ee88ad558380be4e92d3de21.html
http://help.scilab.org/docs/5.4.0/en_US/index.html
I would not bet on it. But if your code is simple enough chances are good.
Problems are:
There is encrypted p-code in Matlab that Scilab will not be able to open.
Matlab usually comes with a number of toolboxes that might not be available to you (i think especially Simulink)
last but not least (i don't know about scilab) there usually are minute differences in how functions are implemented.
There are a number of projects out there trying to replicate/replace MATLAB:
Julia language: which has a relatively similar syntax to MATLAB and offers great performance, but still lacks a lot of toolboxes/libraries, as well as not having a GUI like MATLAB. I think this has the brightest future among all MATLAB alternatives.
Python language and its libraries NumPy and matplotlib: which is the most used alternative. I think at this moment the community is a couple of orders of magnitude even bigger than MATLAB. Python is the de facto standard in machine learning and data science at the moment. But still, the syntax and memory concept is a bit far from what people are used to in the MATLAB ecosystem. There are also no equivalent to SIMULINK, although Spyder and Jupyter projects have come a long way in terms of the development environment.
Octave: is basically a clone of MATLAB to a point they consider any incompatibility as a bug. If you have a long MATLAB code that you don't want to touch, this is the safest bet. But again no alternative for SIMULINK.
SciLab and it's fork ScicoLab are the best alternatives in terms of GUI, having a SIMULINK replica xcos / scicos and a graphical user interface development features. However the community is not as big as Octave and the syntax is not completely compatible. Sadly the Scilab development team has gone through a devastating family crisis leading to the software falling behind.
Honorary mention of Modelica language implementations OpenModelica and jModelica for being a superior alternative to SIMULINK-SimScape. You should know that you can load Modelica scrips also in xcos and scicos. If you want to kno wmore about JModelica you may see this post.
you may check the MATLAB's Alternativeto page to see more Free and Open source alternatives.
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.
I am studying image quilty , a algorithm named "divine" which is from paper "Blind Image Quality Assessment: From Natural Scene Statistics to Perceptual Quality" , this algorithm used
a toolbox matlabPyrTools (I have downloaded), and another function svmpredict.m, I cannot find it in its sourcecode(the soucecode page is http://live.ece.utexas.edu/research/quality/DIIVINE_release.zip) .
I would guess it's likely to be from LibSVM, a freely available package for support vector machines that includes a MATLAB wrapper.
svmpredict is NO official matlab function so use a search engine to look for it or ask the author of the toolbox where to find it, e.g. https://www.google.de/#hl=de&q=svmpredict%20matlab&fp=1&cad=b&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb
Could you provide an example of ICA Independent Component Analysis IN MATLAB?
I know PCA is implemented in matlab but ICA, what about RCA?
Have a look at the FastICA implementation. I've used their R version before, I assume the matlab implementation does the same thing... On that page you get a description of the algorithm and pointers to more info.
Dr G was right.
Now, you are able to find a complete and a very useful Matlab Package (works also with 2013a version):
FastICA
Also you can find a another ICA and PCA Matlab implementation package there: ICA/PCA. But I have no experience with it.
The topic is quite old, but it is worth mentioning that in 2017a, matlab introduced reconstruction independent component analysis (RICA), which may come in handy for someone searching for ICA.
I am trying to do some text classification with SVMs in MATLAB and really would to know if MATLAB has any methods for feature selection(Chi Sq.,MI,....), For the reason that I wan to try various methods and keeping the best method, I don't have time to implement all of them. That's why I am looking for such methods in MATLAB.Does any one know?
svmtrain
MATLAB has other utilities for classification like cluster analysis, random forests, etc.
If you don't have the required toolbox for svmtrain, I recommend LIBSVM. It's free and I've used it a lot with good results.
The Statistics Toolbox has sequentialfs. See also the documentation on feature selection.
A similar approach is dimensionality reduction. In MATLAB you can easily perform PCA or Factor analysis.
Alternatively you can take a wrapper approach to feature selection. You would search through the space of features by taking a subset of features each time, and evaluating that subset using any classification algorithm you decide (LDA, Decision tree, SVM, ..). You can do this as an exhaustively or using some kind of heuristic to guide the search (greedy, GA, SA, ..)
If you have access to the Bioinformatics Toolbox, it has a randfeatures function that does a similar thing. There's even a couple of cool demos of actual use cases.
May be this might help:
There are two ways of selecting the features in the classification:
Using fselect.py from libsvm tool directory (http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#feature_selection_tool)
Using sequentialfs from statistics toolbox.
I would recommend using fselect.py as it provides more options - like automatic grid search for optimum parameters (using grid.py). It also provides an F-score based on the discrimination ability of the features (see http://www.csie.ntu.edu.tw/~cjlin/papers/features.pdf for details of F-score).
Since fselect.py is written in python, either you can use python interface or as I prefer, use matlab to perform a system call to python:
system('python fselect.py <training file name>')
Its important that you have python installed, libsvm compiled (and you are in the tools directory of libsvm which has grid.py and other files).
It is necessary to have the training file in libsvm format (sparse format). You can do that by using sparse function in matlab and then libsvmwrite.
xtrain_sparse = sparse(xtrain)
libsvmwrite('filename.txt',ytrain,xtrain_sparse)
Hope this helps.
For sequentialfs with libsvm, you can see this post:
Features selection with sequentialfs with libsvm