How to call a Mathematica function inside Matlab? - matlab

How to call a Mathematica function inside Matlab? There are certain symbolic equation manipulation/simiplification that's particularly easy to do in Mathematica, at least to me, and I'd like to use Mathematica directly instead of having to burden myself to making it in Matlab.

Some FEX options:
SMATLINK - Let Matlab Dance with Mathematica
Mathematica Symbolic Toolbox for MATLAB--Version 2.0 as also suggested by Dennis Jaherudin

Related

MATLAB collect terms with common denominator

I'm writing some MATLAB code that gives a symbolic equation. The equation has a number of fractional terms where the denominators are different functions. I would like to group the terms with the same denominator. To give an example of what I'm trying to achieve assume the following equation:
[1]
Where the x_i's are different functions in my case. Is there a function in MATLAB that can achieve this? or if you could write an algorithm that would be extremely helpful.
[1]: https://i.stack.imgur.com/TtYGc.png
If you are using Matlab's Symbolic Math Toolbox™ (meaning using syms to create symbolic variables and combining those into functions etc...) then the symplify function should do the trick. For more read: Preforming symbolic computations

What algorithm does MATLAB use to find eigenvectors?

So I am using MATLAB for a project and am discussing the use of the power method for finding stationary distributions of Markov chains and its convergence rate. I was wondering what method/algorithms MATLAB's eig() function uses to find the eigenvectors of a matrix?
Normally Matlab is using LAPACK routines to do calculation. With that in mind I guess that from here you will be able to find the code that matlab runs. Be Aware LAPACK is in Fortran.
MATLAB Incorporates LAPACK

Symbolic notation for functions in Matlab

Is there a way to use actual symbols (like the square root symbol instead of writing "sqrt()" and integral and sum/product signs instead of "integrate", "sum", etc.) as in Mathematica?
Partially, but not within the main part of Matlab.
If you use MuPAD (type mupad in your Command Window), the engine behind much of the Symbolic Math toolbox, you can display/print results from calculations in your notebook with various levels of formatting. However, it does not appear that one can display what one enters with such formatting. Like Mathematica, MuPAD does have a graphical toolbar interface for selecting various commonly used types of mathematical operations.
Matlab was originally developed as a programming environment for numerical calculations and programs, whereas Mathematica was developed primarily as a tool for mathematicians to perform symbolic math and typeset their equations in a virtual notebook.
Aside: Though the MuPAD environment is distinct, one can access all of it's fuctionallity from within Matlab. See here for how to call MuPAD functions. Some examples: 1, 2, and 3.
Nope - it's how MATLAB was written. As far as I am aware, Mathematica is the only tool that uses symbolic notation for actual code.
I think a problem with having symbols instead of code is that you now need a way of writing those symbols (a menu bar, a tablet input, etc.) that would make it extremely cumbersome for a user.
Matlab is based on its diversity of toolbox, one of the toolbox support the symbolic notions you mention is the Symbolic Math Toolbox.
The Math Toolbox includes the MuPAD language. MuPAD is similar to Mathematica language, and here is a basic tutorial of MuPAD tutorial
In addition to Matlab, if you want Symbolic notation, IPython Notebook also use the actual Symbols. And it is faster, newer and easy to use.
Hope this will help you.

Solve equation without using symbolic toolbox in Matlab

I need to solve this equation for the variable \theta:
using Matlab WITHOUT using symbolic toolbox. The reason for this is that I am compiling the m-file to .Net Assembly and symbolic toolbox can not be used.
I know how to solve it using vpasolve, but as far as I know it needs the variable to be defined using syms.
I appreciate if you can suggest me a method to solve this equation in Matlab without symbolic toolbox.
As #rayryeng said, that is only possible if you know the value of the other variables, is so, you can declare f as an anonymous function and use fsolve() like this:
f=#(x)((cos(x)*sqrt(2^2+3^2)-4*sin(x))/(cos(x)-1)-5/x);
fsolve(f,0.1)
but using your correct values.

Integration of Legendre polynomials using MATLAB

Do you know how I could find the solution to the integral
Integral_(-1)^1 (LegendreP(n, x) LegendreP(m, x))/(1-x^2) dx
using MATLAB? I know that with Mathematica it'is pretty easy but I do not have access to it. I tried it in different ways using MATLAB but it does not seem to work.