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

相关推荐
JianZhen✓1 小时前
解决SPA发版旧版本残留+动态路由打包失效的完整方案(附落地代码)
前端·状态模式
计算机魔术师1 小时前
Dario Amodei 发文呼吁放缓前沿 AI 开发后各方表态汇总
前端
anyup1 小时前
仍然是简单一句话,uView Pro Starter 一键清理 Skill 发布
前端·人工智能·uni-app
万物智能信息科技1 小时前
板载按键key的ADC转换和信号控制—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
嵌入式硬件·华为·开源·harmonyos·鸿蒙
福兮说2 小时前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
是立不是利2 小时前
CSS 入门与进阶:从选择器到响应式布局的完整指南
前端·css
镭立智能制造2 小时前
电线电缆换线频繁?MES系统如何缩短换线时间40%
前端·制造
️公子2 小时前
DeepSeek V4.1 Flash 今日接管 Pro 流量:552B MoE + 非对称架构,Agent 推理成本怎么砍?
架构·开源·大模型·api·agent·deepseek