网页版「MATLAB」开源

GitHub - PhTirst/OpenMat: An independent numerical computing environment with a MATLAB-like language, Rust kernel, and Windows desktop IDE. · GitHub

OpenMat

OpenMat is an independently developed numerical programming environment with a MATLAB-like language, a browser IDE, and a Windows desktop application. Its compatibility target is the MATLAB R2022b base language; compatibility is incomplete and is defined by the checked-in specifications and tests.

The Rust server runs the compiler, bytecode interpreter, and numerical kernel. The React client provides editing, language services, workspace inspection, figures, a drag-and-drop App Designer backed by M-language classes, and a block diagram model editor. Rust compiled to WebAssembly handles plot rendering; the language VM runs natively. The desktop application embeds this frontend using Tauri.

The Windows installer includes calculation and plotting examples. A new desktop session opens Documents/OpenMat/Examples/<version>: open START_HERE.m and click Run . The example catalog covers FFT, least-squares fitting, mathematical patterns and 3D surfaces.

Start developing

The first supported host is Windows x64. Install PowerShell 7, Visual Studio Build Tools with the C++ workload and Windows SDK, CMake, Rust/rustup, Node.js 22.19.0, and pnpm 10.30.3. The repository pins Rust 1.90.0.

From the repository root:

复制代码
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.127 --locked
pnpm --dir apps/web install --frozen-lockfile
pwsh -NoProfile -File tools/openmat-dev/Invoke-OpenMatDev.ps1

The launcher starts the native server and web client. MATLAB is not required to build or run OpenMat. See the development guide for workspace selection, smoke tests, and build options, and desktop build instructions for the Windows installer.

Repository

  • crates/: compiler, runtime, numerical providers, server, LSP, and plotting.
  • apps/web/: React IDE, App Designer, and simulation model editor.
  • apps/desktop/: Tauri desktop shell.
  • simulation/: numerical block models, reference/LLVM execution, SLX import and CLI.
  • sdk/, include/, plugins/, toolboxes/: extension interfaces and examples.
  • spec/ and docs/rfcs/: language and protocol contracts.
  • tests/conformance/: OpenMat-authored tests and normalized reference data.
  • tools/: development, compatibility, and release tooling.

Some design documents describe earlier development milestones rather than current completeness. Tests and accepted contracts are the source of truth.

Checks and contributions

复制代码
node tools/release/check-public-source.mjs
cargo fmt --all --check
cargo clippy --locked --workspace --all-targets --all-features -- -D warnings -D clippy::pedantic
cargo test --locked --workspace
pnpm --dir apps/web typecheck
pnpm --dir apps/web test
pnpm --dir apps/web build

See CONTRIBUTING.md for development and source-provenance rules. The conformance harness compares OpenMat results with project-owned manifests and normalized black-box observations. The optional MATLAB oracle requires a separately licensed R2022b installation; public CI does not invoke MATLAB.

License and dependencies

OpenMat's first-party code, documentation, and project-authored tests are licensed under GNU Affero General Public License version 3 only (AGPL-3.0-only), unless a file explicitly states otherwise. See LICENSE. Contributors retain their respective copyrights.

This Git repository does not vendor third-party library source or binaries. Cargo, pnpm, and the release scripts obtain dependencies during builds using lockfiles and pinned checksums. Third-party components retain their own licenses; their license texts and attribution are not relicensed as OpenMat. See dependency and release policy.

OpenMat is an independent project and is not affiliated with or endorsed by MathWorks. MATLAB is a trademark of The MathWorks, Inc.

相关推荐
yivifu40 分钟前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub
niyongsheng1 小时前
后端零改动,给若依换一套现代化前端
vue.js·开源·node.js
EasyBr指纹浏览器1 小时前
抖音创作者数据导出:怎样留下可比较的日报?
数据分析·开源·抖音·数据导出
默_笙1 小时前
🛴 从散件到整机:DeepAgents 与 Agent 身上预留的那些"插槽"(前置介绍)
前端·javascript
zhangzeyuaaa2 小时前
深入理解 Ruby 运算符:本质、分类、坑点与重载实战
开发语言·前端·ruby
一木 之林2 小时前
DeepSeek Agent 开发(一)
开发语言·前端·javascript
Sweet锦2 小时前
不调 Python,不装向量库:我用纯 Java 写了一套以图搜图引擎
java·人工智能·开源·图搜索
树下水月3 小时前
Typora破解
linux·服务器·前端
网络毒刘3 小时前
开源 AI 编程助手横向对比(Cursor / Continue / Aider):能力边界与 AtomGit 落地建议
人工智能·开源
用户5508492902563 小时前
CSS布局实战:从Flex到Grid的完整避坑指南
前端