目标读者:
MATLAB 工程师
控制算法研究人员
Simulink 用户
想学习 AI Agent 的科研人员
内容会按照“为什么 → 原理 → 安装 → 基础 → 工具调用 → DeepSeek → Simulink → 工程实践 → 高级应用”展开。
下面先给你完整文档正文(可直接复制到公众号、知乎、CSDN、GitHub README 等平台)。
MATLAB AI Agent SDK 使用入门到精通
—— 从大语言模型连接到 Simulink 智能仿真 Agent
1. 什么是 MATLAB AI Agent SDK?
1.1 AI Agent 与普通大模型有什么区别?
近年来,大语言模型(Large Language Model, LLM)如:
GPT
Claude
DeepSeek
Gemini
Qwen
已经具备非常强的文本理解和代码生成能力。
但是,传统 LLM 存在一个限制:
它只能“回答”,不能真正操作 MATLAB 环境。
例如:
用户:
帮我优化一个 MR 半主动悬架控制器。
普通 ChatGPT:
建议调整参数 lambda 和 q 可以尝试优化控制律但是它无法:
打开你的 Simulink 模型
运行仿真
修改 MATLAB 参数
分析
.mat数据自动循环实验
AI Agent 的出现解决了这个问题。
1.2 MATLAB AI Agent SDK 是什么?
MATLAB AI Agent SDK 是 MathWorks 开源的一个用于:
在 MATLAB 内部创建和运行 AI Agent 的开发框架。
它允许 MATLAB:
调用大语言模型
创建 Agent
定义 MATLAB Tool
让 AI 自动调用 MATLAB 函数
连接大量 MATLAB 数据
构建自动化工程流程
官方仓库:
MATLAB AI Agent SDK GitHub
目前状态:
Research Preview(研究预览版)
API 仍在持续开发中。(GitHub)
2. MATLAB Agent 的核心思想
一个完整 Agent 系统:
用户任务 ↓ 大语言模型 LLM ↓ MATLAB AI Agent ↓ ------------------------ | | | MATLAB函数 Simulink 数据分析 | | | ------------------------ ↓ 返回结果其中:
LLM负责:
理解任务
制定计划
判断需要调用什么工具
MATLAB负责:
数值计算
仿真
数据处理
绘图
核心思想:
AI 负责“思考”,MATLAB负责“执行”。
3. MATLAB AI Agent SDK 安装
3.1 从 GitHub 获取
官方仓库:
git clone https://github.com/matlab/matlab-ai-agent-sdk.git进入 MATLAB:
addpath("matlab-ai-agent-sdk")官方安装方式见仓库说明。(GitHub)
4. 第一个 MATLAB Agent
4.1 创建 LLM Client
MATLAB Agent 支持:
OpenAI
Ollama
OpenAI-compatible API
例如:
client = aisdk.LLMClient(... "openai",... "gpt-4o");这里:
openai表示接口类型。
gpt-4o表示模型。
4.2 创建 Agent
agent = aisdk.AIAgent(client);现在:
Agent = LLM + 任务管理能力4.3 调用 Agent
response = run(agent,... "介绍一下四分之一车辆模型");输出:
四分之一车辆模型包含: 1. 簧上质量 2. 簧下质量 3. 弹簧 4. 阻尼器 5. 轮胎模型此时:
Agent 只是聊天。
还没有调用 MATLAB 工具。
5. 接入 DeepSeek
DeepSeek 提供 OpenAI-compatible API。
因此 MATLAB Agent 可以直接调用。
5.1 设置 API Key
setenv(... "OPENAI_API_KEY",... "你的DeepSeek Key")5.2 设置接口地址
setenv(... "OPENAI_API_ENDPOINT",... "https://api.deepseek.com/v1")5.3 创建客户端
注意:
模型名必须作为第二个参数:
正确:
client = aisdk.LLMClient(... "openai",... "deepseek-chat");错误:
Model="deepseek-chat"因为当前 SDK:
LLMClient(API, MODELNAME)模型是位置参数。
5.4 创建 Agent
agent = aisdk.AIAgent(client);测试:
response = run(agent,... "解释Bouc-Wen滞回模型");如果返回:
Bouc-Wen模型用于描述非线性滞回行为说明:
MATLAB ↓ AI Agent SDK ↓ DeepSeek连接成功。
6. Agent Tool:让 AI 调用 MATLAB 函数
这是 Agent 最核心能力。
普通 LLM:
输入 ↓ 回答Agent:
输入任务 ↓ 判断 ↓ 调用工具 ↓ 获得结果 ↓ 继续分析7. 第一个 Tool 示例:计算 RMS
创建 MATLAB 函数:
calculateRMS.m
function result = calculateRMS(data) result = sqrt(mean(data.^2)); end测试:
calculateRMS([1 2 3 4 5])结果:
3.3166注册 Tool
tool = aisdk.LLMTool(@calculateRMS);创建带工具 Agent
agent = aisdk.AIAgent(... client,... Tools=tool);调用
response = run(agent,... "计算振动信号[1 2 3 4 5]的RMS");Agent流程:
用户 ↓ DeepSeek ↓ 发现需要计算 ↓ 调用calculateRMS ↓ 返回结果8. MATLAB Agent 调用 Simulink
这是工程应用核心。
8.1 为什么不能让 Agent 直接操作 Simulink?
不推荐:
Agent | 直接修改模型原因:
不稳定
不可重复
容易修改错误
推荐:
Agent ↓ MATLAB函数接口 ↓ Simulink模型9. Simulink Tool 示例
假设:
模型:
MR_Model.slx输入:
lambda q输出:
簧上加速度创建包装函数:
runMRSimulation.m
function result = runMRSimulation(lambda,q) assignin("base","lambda",lambda); assignin("base","q",q); simOut = sim("MR_Model.slx"); acc = simOut.acceleration; result.RMS_acc = sqrt(mean(acc.^2)); result.lambda=lambda; result.q=q; end测试:
result=runMRSimulation(25,35)输出:
RMS_acc: 0.823 lambda: 25 q: 35注册:
simTool = aisdk.LLMTool(@runMRSimulation);创建:
agent = aisdk.AIAgent(... client,... Tools=simTool);输入:
response=run(agent,... "测试MR悬架模型 lambda=25 q=35,并评价舒适性");执行流程:
DeepSeek ↓ 理解任务 ↓ 调用runMRSimulation ↓ 运行Simulink ↓ 读取结果 ↓ 生成分析10. MATLAB Agent Prompt 管理
MATLAB 对多行文本支持较弱。
推荐三种方法。
方法1:字符串数组(推荐)
task=[ "你是一名车辆控制专家" "测试MR悬架模型" "lambda=25" "q=35" ]; task=join(task,newline);方法2:文本文件管理(工程推荐)
目录:
Project ├── prompts │ ├── simulation.txt │ ├── optimize.txt │ └── analysis.txt读取:
task=fileread( "prompts/simulation.txt");优点:
易维护
易版本管理
适合论文项目
11. Agent 不应该做什么?
工程应用中:
不要:
Agent直接修改核心算法代码例如:
不要让:
DeepSeek ↓ 修改 NESO.m更合理:
Agent ↓ 调整参数 ↓ 调用仿真 ↓ 评价性能12. 一个完整工程结构
推荐:
MR_Agent_Project │ ├── main.m │ ├── agent │ └── createAgent.m │ ├── tools │ ├── runSimulation.m │ ├── calculateMetrics.m │ └── optimizeParameter.m │ ├── prompts │ ├── simulation.txt │ └── analysis.txt │ ├── Simulink │ └── MR_Model.slx │ └── results └── data.mat13. 高级应用:自动优化控制参数
例如:
目标:
找到最佳 DLSMC-NESO 参数。
Agent:
输入目标 ↓ 选择实验方案 ↓ 调用Simulink ↓ 计算指标 ↓ 修改参数 ↓ 重复 ↓ 输出最佳参数评价指标:
RMS acceleration
suspension travel
tire dynamic load
最终:
最佳参数: lambda=30 q=40 舒适性提升: 18.5%14. MATLAB Agent 与 LangChain 对比
| LangChain | MATLAB AI Agent SDK | |
|---|---|---|
| 语言 | Python | MATLAB |
| 定位 | 通用Agent框架 | MATLAB工程Agent |
| Tool | Python函数 | MATLAB函数 |
| 仿真 | 有限 | Simulink天然支持 |
| 科研计算 | 需要连接 | 原生支持 |
15. 总结
MATLAB AI Agent SDK 的核心不是让 MATLAB 变成聊天工具,而是:
构建一个能够理解工程任务,并自动调用 MATLAB 计算能力完成任务的智能实验系统。
典型流程:
用户目标 ↓ DeepSeek/GPT ↓ MATLAB Agent ↓ MATLAB Tool ↓ Simulink ↓ 实验结果 ↓ AI分析对于:
控制系统设计
机器人仿真
自动调参
Simulink优化
科研实验
具有非常大的应用价值。
推荐学习路线
学会 LLM API 调用
掌握 MATLAB AI Agent SDK 基础
学会创建 Tool
封装 MATLAB/Simulink 接口
构建工程 Agent
实现自动实验与优化系统
本文示例基于 MATLAB AI Agent SDK Research Preview 版本编写,接口可能随版本更新变化。(GitHub)
这份是“教程正文版”。如果你准备发到网上,我建议下一步继续加工成:
CSDN/知乎风格版(带目录、配图、代码高亮)
GitHub README版
PDF教程版(类似官方文档)
增加完整案例:DeepSeek + MATLAB Agent + Simulink 自动优化 MR 悬架控制器
其中第4个会明显提高文章价值,因为目前网上几乎没有“MATLAB Agent + 控制系统仿真”的完整案例。