网页版「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.

相关推荐
Hilaku22 分钟前
前端不懂业务有多可怕?
前端·javascript·程序员
2501_9445257628 分钟前
开源鸿蒙平台 KMP_CMP 三方库「Kaml」适配全流程
开源·kotlin·harmonyos
涛涛ing29 分钟前
模型吐出半截JSON,前端如何边收边渲染?2026年AI应用必须闯过的工程关
前端
aixingpan31 分钟前
aixingpan.cnAPI开发文档:api_docs_trichart_natal_solar_return_transit2接口指南
前端·php
FRing031 小时前
JavaScript入门到精通二十八(forEach遍历、创建对象的三种方式、构造函数、new实例化执行过程、实例成员和静态成员)
开发语言·前端·javascript
miofly1 小时前
Apollo 经济学家:AI 在科技行业外的财务回报为零
开源·github
燕落南枝1 小时前
CSS 表单选择器与伪元素选择器详解
前端·css
拖孩1 小时前
一个人 + AI 做的小程序,今天,正式回本了
前端·后端·微信小程序
1024奇点1 小时前
【仓颉语言入门 · 第二篇 第 15 课】
开发语言·数据库·ide·开源
2501_944525541 小时前
开源鸿蒙平台 KMP_CMP 三方库「Clikt」适配全流程
华为·开源·harmonyos