matlab:在 Agent 里写可执行的 MATLAB / Octave 科学计算脚本

前言

在 Cursor、Claude Code 等环境里让模型写 .m 脚本时,常见问题不是「能不能生成代码」,而是语法细节、矩阵与逐元素运算混用、以及 MATLAB 与 GNU Octave 的差异。纯靠模型即兴发挥,往往缺少一份结构化的领域说明。

下面介绍 SkillHub 上的 matlab(坐标 @org-02qudk26/matlab-zh)。它把 MATLAB / Octave 数值计算的工作方式写进 SKILL.md,让 Agent 在矩阵运算、数据分析、可视化、线性代数、信号处理、微分方程、优化与统计等任务上,有统一的参考与示例模式。

这是什么

matlab 是一个面向 Agent 的编程类 Skill(分类 dev-programming,版本 1.0.0,来源标注为 enterprise)。SkillHub 页面由 智雨科技 发布;Skill 元数据中 skill-author 为 K-Dense Inc.。

定位可以概括为:在编写或审查 MATLAB / GNU Octave 脚本、做科学可视化、或在 MATLAB 与 Python 之间转换思路时,为模型提供领域知识与可复用代码片段。compatibility 说明:若只生成脚本,不强制本机已装 MATLAB / Octave;若要本地跑通测试,则需要其中一种运行时。

SkillHub 公开数据(以页面与抓取信息为准):评分 100000,下载约 1783 次;标签 requires_api_key=false,安装后无需额外 API Key。

核心功能

依据已安装的 Skill 包内 SKILL.md,能力覆盖以下方向(正文中的代码示例均来自该文件):

  1. 矩阵与数组:创建矩阵、特殊矩阵、.* 与 * 区分、线性方程组 A \ b 等。
  2. 线性代数:eig、svd、lu / qr / chol、linsolve 等。
  3. 绘图与可视化:二维曲线、多曲线 hold、三维 surf、saveas / print 导出。
  4. 数据导入导出:readtable / readmatrix、writetable / writematrix、.mat 与图像读写。
  5. 控制流与函数:if / for / while、命名函数与匿名函数 @(...)。
  6. 统计与数据分析:均值、方差、相关、polyfit、移动平均等。
  7. 微分方程:ode45 及高阶方程化为方程组。
  8. 信号处理:fft、FIR 滤波、conv 等。

SKILL.md 还列出「数据分析流水线」「数值模拟」「批量处理」等常见模式,并附带向量化、预分配数组、表格与矩阵选型、函数帮助注释等实践建议。文档中链接了 references/ 下的专题说明(如 octave-compatibility.md、python-integration.md);通过 skillhub install 得到的当前包体仅含 SKILL.md、README.md 与 _meta.json,若需要完整 reference 文件,应以你实际安装包内容为准。

README.md 用三条「案例素材」概括适用任务类型:控制器响应仿真脚本、向 Octave 迁移时的兼容性检查、信号处理批量流水线中的向量化与可复现性——属于 Skill 自带说明,而非第三方用户反馈。

安装与启用

方式一:让 Agent 按官方安装说明操作

SkillHub 技能页给出的提示词为:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@org-02qudk26/matlab-zh`。

该安装文档要求:安装技能时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。

方式二:SkillHub CLI

先确认 CLI 是否可用:

command -v skillhub && skillhub --version

未安装时可按 SkillHub 安装文档 执行推荐的一键安装,或仅安装 CLI。安装本 Skill 时:

skillhub install matlab-zh --namespace org-02qudk26 --dir <你的 Agent skills 目录>

常用路径(同样来自官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

在 Cursor 中示例:

skillhub install matlab-zh --namespace org-02qudk26 --dir ~/.cursor/skills/

安装完成后,按你所用客户端的规则加载 skills(部分环境需重启或刷新会话)。本 Skill 不要求配置 API Key。

典型用法

启用 Skill 后,可在对话中直接描述数值任务,并引用 SKILL.md 中的运行方式。本地执行脚本时,商业 MATLAB 与开源 GNU Octave 命令如下。

运行脚本:

# MATLAB(商业软件)
matlab -nodisplay -nosplash -r "run('script.m'); exit;"

# GNU Octave(免费,开源)
octave script.m

在 Ubuntu/Debian 安装 Octave(Skill 文档示例):

sudo apt install octave

矩阵与线性代数片段(可与 Agent 对照修改):

A = [1 2 3; 4 5 6; 7 8 9];
x = A \ [1; 2; 3];   % 解 Ax = b,优先于 inv(A)*b
[V, D] = eig(A);

简单 ODE 与绘图:

f = @(t, y) -2*y;
[t, y] = ode45(f, [0 5], 1);
plot(t, y);
xlabel('t'); ylabel('y'); grid on;

数据分析流水线模式(读表、清洗、汇总、出图):

data = readtable('experiment.csv');
data = rmmissing(data);
grouped = groupsummary(data, 'Category', 'mean', 'Value');
bar(grouped.Category, grouped.mean_Value);
writetable(grouped, 'results.csv');
saveas(gcf, 'results.png');

向 Agent 说明「目标平台是 MATLAB 还是 Octave」「是否需要可离线运行的 Octave 脚本」「是否涉及某工具箱函数」,有助于模型对照 SKILL.md 中的 Octave 兼容性说明(注释符号、运算符、缺失工具箱等)。

适用场景与注意

适合谁

  • 需要 Agent 生成或审阅 .m 脚本的一线研发、算法与科研工程人员。
  • 希望在同一套 Skill 下兼顾 MATLAB 与 GNU Octave,或关注 MATLAB 与 Python 互操作说明的团队。
  • 任务涉及矩阵运算、仿真、信号处理、统计拟合、科学绘图等,且希望输出接近可执行脚本而非零散片段。

限制与注意

  • 许可证:SKILL.md 注明 MATLAB 遵循 MathWorks 许可,Octave 为 GPL v3;商业部署 MATLAB 需自行合规。
  • 运行时:生成脚本不等于本机已具备 MATLAB/Octave;跑通测试需自行安装其一。
  • 工具箱:Octave 与部分 MATLAB 工具箱函数并不等价,迁移或开源替代时要显式核对依赖。
  • 包体内容:当前从 SkillHub 拉取的包以 SKILL.md 为主文档;SKILL.md 内引用的 references/*.md 是否随包分发,以你安装后的目录为准。
  • 复杂长流程:SKILL.md 末尾建议在复杂度较高时考虑作者关联的 K-Dense Web 托管平台——属于 Skill 内嵌说明,与本地轻量脚本任务无强制关系。

结尾

matlab 把 MATLAB / GNU Octave 科学计算的语法要点、常见模式与执行命令收敛进 Agent 可读的 Skill 文档,适合作为数值脚本与可视化任务的固定上下文。安装时记住坐标 @org-02qudk26/matlab-zh,并用 --dir 指向正确的 skills 目录。

  • SkillHub 技能页:https://www.skillhub.cn/skills/org-02qudk26/matlab-zh
  • API 条目:https://api.skillhub.cn/org-02qudk26/matlab-zh
  • SkillHub 安装说明:https://skillhub.cn/install/skillhub.md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜