You are on page 1of 2

Home

News
Screenshots
Download
Help
Documentation

FAQ
Contents:
1. WhatisFreeMat?
2. WhyGPL?
3. WhyanotherMATLABclone?HaveyouheardofOctave,Scilab,etc.?

Wiki

4. FreeMat100%compatiblewithMATLAB?WhataboutIDL?

Blog

5. Whatplatformsaresupported?

FAQ

6. HowdoIgetit?
7. Ifoundabug!Whatnow?
8. Whereisfunctionxyz?
9. WhowroteFreeMatandwhy?
10. Arethereanydevelopmentrelatedpages?

1.WhatisFreeMat?
FreeMatisanenvironmentforrapidengineeringandscientificprocessing.Itissimilartocommercialsystemssuch
asMATLABfromMathworksandIDLfromResearchSystems,butisOpenSource.Itisfreeasinspeechandfree
asinbeer.

2.WhyGPL?
PreviousversionsofFreeMatwerereleasedunderMITlicenses.ThecurrentversionisreleasedunderGPL.There
areanumberofgreattoolsthatareavailabletoGPLedcode(e.g.,Qt,FFTW,FFC ALL),andFreeMatisnowoneof
them.

3.WhyanotherMATLABclone?HaveyouheardofOctave,Scilab,etc.?
Yes! FreeMat is chartered to go beyond MATLAB to include features such as a codeless interface to external
C /C ++/FORTRAN code, parallel/distributed algorithm development (via MPI), and advanced volume and 3D
visualization capabilities. As for the open source alternatives, try them out and decide for yourself. Who said
choicewasabadthing?

4.IsFreeMat100%compatiblewithMATLAB?WhataboutIDL?
No.FreeMatsupportsroughly95%(amadeupstatistic)ofthefeaturesinMATLAB.Thefollowingtablesummarizes
howFreeMatstacksupagainstMATLABandIDL.Becauseweliketoleadwiththepositive,herearethefeaturesin
thataresupported:
Ndimensionalarraymanipulation(bydefault,Nislimitedto6)
Supportfor8,16,32,and64bitintegertypes(signedandunsigned),32and64bitfloatingpointtypes,and
64and128bitcomplextypes.
Builtinarithmeticformanipulationofallsupporteddatatypes.
Supportforsolvinglinearsystemsofequationsviathedivideoperators.
Eigenvalueandsingularvaluedecompositions
Fullcontrolstructuresupport(including,for,while,break,continue,etc.)
2Dplottingandimagedisplay
Heterogeneousarraytypes(called"cellarrays"inMATLABspeak)fullysupported
Fullsupportfordynamicstructurearrays
ArbitrarysizeFFTsupport
Passbyreferencesupport(anIDLfeature)
Keywordsupport(anIDLfeature)
C odelessinterfacetoexternalC /C ++/FORTRANcode
NativeWindowssupport
Nativesparsematrixsupport
NativesupportforMacOSX(noX11serverrequired).
Functionpointers(evalandfevalarefullysupported)
C lasses,operatoroverloading

3DPlottingandvisualizationviaOpenGL
ParallelprocessingwithMPI(intheFreeMatdevelopmentversions)
Handlebasedgraphics
HerearethelistofmajorMATLABfeaturesnotcurrentlysupported:
GUI/Widgets
Finally the list of features that are in progress (meaning they are in the development version or are planned for
thenearfuture):
Widgets/GUIbuilding
3Dvolumerenderingcapability(intheFreeMatdevelopmentversions)
FreeMattoMEXinterfaceforportingMATLABMEXfiles.
IfyoufeelverystronglythatoneormoreMATLABfeaturesaremissingthatwouldbeusefultohaveinFreeMat,
youcaneitheraddityourselfortryandconvincesomeoneelse(e.g.,me)toadditforyou.AsforIDL,FreeMatis
notcompatibleatallwithIDL(thesyntaxisMATLABbased),butafewcriticalconceptsfromIDLareimplemented,
includingpassbyreferenceandkeywords.

5.Whatplatformsaresupported?
C urrently, Windows 2000/XP, Linux and Mac OS X are supported platforms. Other UNIX environments (such as
IRIX/SOLARIS) may work. FreeMat essentially requires GNU gcc/g++ and gfortran to build. The Win32 build
requiresMINGW32.Idon'tknowifFreeMatwillworkwithWindows98/95/MEorNT4asIdon'thaveaccesstoany
oftheseplatforms.AnativeporttoMacOSXisnowavailable.

6.HowdoIgetit?
C lickontheDownloadslink(oronthenavigationbarontheleft).InstallersareavailableforWindowsandMacOS
X,andsourceandbinarypackagesareavailableforLinux.

7.Ifoundabug!Whatnow?
C ongratulations! Please file a bug report . FreeMat is a fairly complicated program. Simply saying "it crashed" is
notparticularlyhelpful.Ifpossible,pleaseprovideashortfunctionorscriptthatreproducestheproblem.Thatwill
goalongwaytowardshelpingusfigureouttheproblem.Also,thebugtrackingfeatureofSourceForgewillallow
youtoputinbugsanonymously,butpleasedon't!Anonymousbugreportsaredifficulttofollowupon.

8.Whereisfunctionxyz?
ThereareanumberofbasicfunctionsthataremissingfromFreeMat'srepertoire.Theywillbeaddedastimegoes
on. If there is a particular function you would like to see, either write it yourself or put in an RFE (Request For
Enhancement)here.

9.WhowroteFreeMatandwhy?
FreeMathasbeenindevelopmentbymyself(SamitBasu)overaperiodoffouryearswithhelpfromanumberof
contributers distributed throughout the globe. Why not? Seriously, my main reason is to provide a free
implementationofareasonablepartoftheMatlabAPI,andaddsomeextensionsalongtheway.

10.Arethereanydevelopmentrelatedpages?
Yes.PleaseseeourWIKIbasedDevelopmentPages

we bde signbyfre e m atte am |privacypolicy|te rm sandconditions