Compile Matlab/Octave to JavaScript
npm install matscript
cmd
$ npm install matscript
`
Compiling .m function files
Let's walk through the steps of compiling the file f.m containing the following function definition:
`Matlab
function Y = f(X)
Y = X * X';
end
`
To use this function in your Node.js project with MatScrip installed, follow these steps:
1. Create the directories ./src and ./dist in your project root if these do not yet exist
2. Copy f.m into in the ./src directory
3. Command ` $ msc `
The following module will be created and saved as f.js in the /dist folder:
`JavaScript
import { Matrix, sum, prod, transpose } from '../node_modules/matscript/lib/core/Matrix.js'
import { Fun } from '../node_modules/matscript/lib/core/Fun.js'
export function f( X ) {
let Y;
Y = prod([X, transpose(X)]);
return Y;
};
`
Use the function like this:
`JavaScript
import { f } from './dist/f.js'
console.log(f(3))
`
Of course, in this example the output will just be the scalar 9. The following sections explain how to call functions on matrix arguments.
Core library
The core library for matrix computations is limited to provide a Matrix class together with the functions sum(), prod() and tanspose(). One way to use functions with matrix arguments is by importing this Matrix class:
`JavaScript
import { Matrix } from './node_modules/matscript/lib/core/Matrix.js'
let A = new Matrix([[1, 2],[3, 4]])
`
Interpreter
You can also import an interpreter to embed Matlab code directly in your JavaScript files:
`JavaScript
import { f } from './dist/f.js'
import { interpret } from './node_modules/matscript/lib/compiler/compiler.js'
let A = interpret("[1 2; 3 4];");
console.log(f(A))
``