vscode写MATLAB配置

vscode写MATLAB

python下载

官网说明Versions of Python Compatible with MATLAB Products by Release - MATLAB & Simulink

不确定这三列都表示什么意思,尽量安装这三列都有的python版本吧,我安装的 MATLAB R2023b,python选择的是3.11.5

安装好python后,按win图标键,输入"查看高级",点进去

添加环境变量

当系统有多个python版本,要把默认使用的放在上面,比如R2023b要求3.11可以使用,3.12不能使用,所以我的3.11在前,3.12在后。

MATLAB好像也需要把路径放进去,记不清了,出问题再说

vscode配置

下载插件,去vscode插件里面搜

下载这个Pack很方便,这个合集包会自动下载其他插件,下载完成后右击叫做"MATLAB Unofficial"的插件,点击插件设置,在最后面填上MATLAB路径

MATLAB配置

参考安装用于 Python 的 MATLAB Engine API- MATLAB & Simulink- MathWorks 中国

用于安装 MATLAB Engine API 的 Python 设置脚本- MATLAB & Simulink- MathWorks 中国

先在MATLAB添加python路径

再在MATLAB命令行依次输入

Matlab 复制代码
cd (fullfile(matlabroot,'extern','engines','python'))
system('python setup.py install')

结果如下

一大堆东西,最后面ans=0就对了。

然后回到vscode

创建一个.m文件,写一段测试代码,比如我之前学习传递函数写的一点

Matlab 复制代码
clear;clc;close all;
xi = 0.5;
wn = 2;
G = tf(wn^2, [1, 2*xi*wn, wn^2]);
step(G)

在vscode中的运行结果如下,也会弹出一个MATLAB框图。这个插件好像原理是在后台运行了一个MATLAB,所以第一次启动这个终端会比较慢,启动完成后就正常使用了。

启动这个终端的方法:在vscode按快捷键ctrl+shift+p,弹出的搜索框输入MATLAB,就会看见 open a MATLAB Terminal,点它,就会出现一个MATLAB集成终端。

这个集成终端不能清空,这点有点不是很方便。可以把MATLAB和vscode结合使用,或者自行查找其他优化方法。

快捷键展示

ctrl+数字键盘7:打开终端,用得非常少

shift+enter:运行整个MATLAB文件,用得较少

ctrl+enter:运行选中的代码,用得很多。比如我用鼠标选中一部分代码,按下这个快捷键,就会只运行我选中的代码,不会运行我没选中的代码,非常方便。

黄色方框的"当"其实是vscode配置键盘快捷方式的when语句,具体可见官方链接:when clause contexts | Visual Studio Code Extension API

我这里面的意思是只有文件后缀是.m的时候这两个快捷键才是运行matlab代码的功能,因为我考虑到我写python的时候也喜欢用这个快捷键,可以把这个快捷键也配置成python的,只需要写好when表达语句即可。

参考视频:B站找到的,比较贴切点,但是没我详细,所以放在最后了。只参考了视频中的一点点内容,大部分在网上搜的,网上比较乱,有设置配置文件的,什么也不说就说直接复制过去就行,很多信息都是无用的。视频:vscode配置在vscode中编辑matlab脚本_哔哩哔哩_bilibili

相关推荐
像风一样自由20208 小时前
从本地到公网:Windows 下使用 Cloudflare Quick Tunnel 与 Natapp 联调 FastAPI
windows·fastapi
郭老二9 小时前
【Python】基本语法:装饰器语法糖@
python
_Jimmy_10 小时前
Agent常用检索器的详细介绍
python·langchain
小柯南敲键盘10 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
旅僧11 小时前
Q-learning(自用)
python·机器学习
Python大数据分析@11 小时前
曝梁文锋称「一度不想维护C端用户,奈何赶不走」,DeepSeek真不需要C端用户吗?可能会有啥影响吗?
python
艾斯特_12 小时前
工作流与多Agent协作:LangGraph、MCP和A2A的应用分层
人工智能·python·ai
IT小盘12 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
我叫黑大帅13 小时前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
不如语冰13 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python