Is it possible to export the output expressions from Mathematica computations (e.g., equations) in valid MATLAB syntax?
$\begingroup$
$\endgroup$
3
-
4$\begingroup$ Which equations? Can you be more specific on what precisely it is you want to do? one equation? a list of them? Cut and paste? Programmatically export? $\endgroup$– aclCommented Nov 2, 2012 at 22:23
-
$\begingroup$ @acl just an equation with Log s exponentials error functions. For example f[x_]=Log[...]+err[..]*Exp[..]. Something that sort. I know there is a command // InputForm but the output has for example $E$ which MATLAB will not understand. I only want to copy paste the equation to MATLAB. Still unclear? $\endgroup$– Seyhmus GüngörenCommented Nov 2, 2012 at 23:29
-
$\begingroup$ This is not exactly an answer, but do to the large chat under previous answer I would like to point out that ToMatlab, provides the page where you can find the package, however many struggles with not being able to download it. I had the same problem until I pressed down alt key and pressed the link at the bottom of the page. Might save a bit of time! $\endgroup$– ALEXANDERCommented Apr 9, 2014 at 10:08
Add a comment
|
1 Answer
$\begingroup$
$\endgroup$
0
There is the ToMatlab
package that will convert Mathematica expressions to MATLAB equivalents. For example:
<<ToMatlab`
Expand[(x + Log@y)^5] // ToMatlab
(* x.^5+5.*x.^4.*log(y)+10.*x.^3.*log(y).^2+10.*x.^2.*log(y).^3+5.* ...
x.*log(y).^4+log(y).^5; *)
It even conveniently breaks it using ...
and can also convert matrices:
RandomInteger[5, {5, 5}] // ToMatlab
(* [5,0,5,3,4;
5,5,3,0,2;
1,4,4,4,4;
0,3,2,5,5;
4,5,5,1,1]; *)
However, it won't convert general definitions or things that don't make sense in MATLAB, such as patterns.
To install the package, extract the ToMatlab.m
file to
FileNameJoin[{$UserBaseDirectory, "Applications"}]