For instance usage, try the Online Matlab Emulator here. Please note:
- You may need the latest modern browser for using this APP(check the console log by pressing F12).
- Loading the environment may take quite long time, especially for the first time. Try refresh the page incase bad network connection.
- Do a feature request when encounter
NotImplementedError
.
Try copy-paste following code to the emulator and feel its capability:
xv = [0.5;0.2;1.0;0;0.8;0.5];
yv = [1.0;0.1;0.7;0.7;0.1;1];
xq = [0.1;0.5;0.9;0.2;0.4;0.5;0.5;0.9;0.6;0.8;0.7;0.2];
yq = [0.4;0.6;0.9;0.7;0.3;0.8;0.2;0.4;0.4;0.6;0.2;0.6];
[in,on] = inpolygon(xq,yq,xv,yv);
plot(xv,yv, ... % polygon
xq(in&~on),yq(in&~on),'r+', ... % points strictly inside
xq(on),yq(on),'k*', ... % points on edge
xq(~in),yq(~in),'bo' ... % points outside
)
The final goal of this APP is to create a serverless, Matlab compatiable console completely in end-users' browser.
python3 -m pip install -U mat2py
or install with Poetry
poetry add mat2py
python3 -m pip install -U mh-python
# download the one already converted and formatted
wget https://raw.githubusercontent.com/mat2py/mat2py/main/examples/demo_fft.py
# or convert it yourself
echo "wget https://raw.githubusercontent.com/mat2py/mat2py/main/examples/demo_fft.m"
echo "mh_python --python-alongside --format demo_fft.m"
# run it...
python3 demo_fft.py
You can also try out the online translator by modifiy the example or put your own code.
- Clone
mat2py
:
git clone https://github.com/mat2py/mat2py
- If you don't have
Poetry
installed run:
make poetry-download
source ~/.poetry/env
- Initialize poetry and install
pre-commit
hooks:
make install
make pre-commit-install
- Run the lint to check:
make lint
- A serverless web service for run
.m
/.py
code inside browser - Complete set of MATLAB® Basic Functions
- Copy-on-Write beheviour
- A cleaner class hierarchy
- Enable
lint
(mypy, UT, etc.)
You can see the list of available releases on the GitHub Releases page.
We follow Semantic Versions specification.
We use Release Drafter
. As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready. With the categories option, you can categorize pull requests in release notes using labels.
This project is licensed under the terms of the MIT
license. See LICENSE for more details.
@misc{mat2py,
author = {mat2py},
title = {mat2py mean to be drop-in replacement of Matlab by wrapping Numpy/Scipy/... packages.},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/mat2py/mat2py}}
}
- This project was initially generated with
python-package-template
- The Matlab to Python translator
mh_python
is developed under fork of MISS HIT, a fantastic Matlab static analysis tool. - The serverless console is created based on Pyodide.