本 repository 包含 SPIRAL+、逆時針螺旋、kmeans、隨機、voronoi 五種部署演算法及各項指標分析的 matlab 檔,以及一個使用 matlabengine 串接的模擬器。
無論是要執行 matlab 或是模擬器,請確保 matlab 已安裝,且版本高於 R2023a 。
模擬器使用Python
撰寫,使用方式如下:
-
請確認是否安裝 Python
python --version
-
Python 安裝依賴套件
pip install Flask pip install matlabengine
-
啟動後端
python ./emulator.py
-
啟動瀏覽器 http://localhost:8088
模擬器開發模式使用Python
及Node.js
撰寫,使用Next.js 14.0.4
框架與NextUI
套件,使用方式如下:
-
請確認是否安裝 Python 及 Node.js
node --version python --version
Note: Next.js 14 要求 Node.js 版本要高於 18.17
-
Python 安裝依賴套件
pip install Flask pip install Flask-Cors pip install matlabengine
-
Next.js 安裝依賴套件
npm install
-
將
emulator.py
裡,解除CORS相關的註解import matlab.engine import os import json from flask import Flask, request, jsonify, send_from_directory # from flask_cors import CORS app = Flask(__name__, static_url_path="/static") eng = matlab.engine.start_matlab() eng.cd(os.path.abspath("./matlab"), nargout=0) port = 8088 # CORS(app)
import matlab.engine import os import json from flask import Flask, request, jsonify, send_from_directory from flask_cors import CORS app = Flask(__name__, static_url_path="/static") eng = matlab.engine.start_matlab() eng.cd(os.path.abspath("./matlab"), nargout=0) port = 8088 CORS(app)
-
啟動後端
python ./emulator.py
-
啟動前端
cd ./emulator/ npm run dev
-
啟動瀏覽器 http://localhost:3000