VS Code配置matlab

2023-11-10

前言: matlab很好地集成了大量数学处理函数,甚至封装了包括信号处理、图像处理、神经网络等在内的方法。但matlab启动慢、没有代码补全、开发环境不友善等缺点常受人诟病,算法编写者往往需要进行大量重复动作。而VS Code是微软推出的一款轻量、开源、生态极好的编辑器。
本文详细介绍使用VS Code配置matlab环境的方法,使算法编写者可以利用VS Code编写.m文件,充分利用VS Code的开发友善性与matlab的强大功能。

本文需要的工具/软件:

  • Matlab软件
  • VS Code软件
  • VS Code插件:Code Runner
  • VS Code插件:Matlab
  • VS Code插件:matlab-formatter
  • VS Code插件:Matlab interactive Terminal

步骤概述:

  • 确认已经安装了VS Code与matlab(配置好matlab的系统变量)
  • 安装VS Code的插件
  • 配置VS Code中的settings.json
  • (可选)在VS Code实现Matlab的交互终端界面,并设置快捷键运行

第一步:确认VS Code与matlab已经安装

VS Code官网:https://code.visualstudio.com/
matlab官网:https://ww2.mathworks.cn/products/matlab.html

matlab 2020破解版安装包(包括WIndows版本和Linux版本)
链接:https://pan.baidu.com/s/1LPqlPF1TTSbO5pFH126bPg?pwd=kw7a
提取码:kw7a

建议安装路径为全英文,并且配置好系统变量。

第二步:为VS Code安装插件

VS Code插件安装步骤如下:

  1. 点击左侧插件选项卡(Extensions),或者按Ctrl+Shift+X;
  2. 输入你想要的插件;
  3. 点击插件,安装(Install)。

安装插件:

  1. Matlab
  2. matlab-formatter
  3. Matlab Interactive Terminal
  4. Code Runner

在这里插入图片描述

第三步:配置VS Code中的settings.json

(1) 设置Matlab图形化界面,配置Matlab路径

Matlab: Linter Encoding: “gb2312” ;
Matlab: Matlabpath: “你的bin\matlab.exe安装路径” ;
Matlab: Mlintpath: “你的bin\win64\mlint.exe安装路径”.

在这里插入图片描述在这里插入图片描述
(2) 配置code-runner

打开“settings.json”,为code-runner对象添加如下配置:

"code-runner.executorMap":{
		"matlab": "cd $dir && matlab -nosplash -nodesktop -r $fileNameWithoutExt",
		
		...只需要在此添加上面该行代码即可,括号内的其他代码不用管...
}

在这里插入图片描述在这里插入图片描述(3) 添加其它配置

在setting.json中输入如图四个对象:

    "files.associations": {
        "*.m":"matlab",
    },

    "code-runner.runInTerminal": true,

    "[matlab]" : {
        "files.encoding": "gb2312",
    },
    
    "files.autoGuessEncoding": true,

注意:每个对象定义完,一定要加上逗号,否则会报错

在这里插入图片描述

四个配置对象的作用分别为:

  • “files.associations”——让VS Code识别.m文件为matlab文件;
  • “code-runner.runInTerminal”: true——让code-runner的结果在Terminal中显示;
  • 剩下两项为编码选项,matlab中难免出现中文注释,matlab使用gb2312编码便不会乱码

配置完成,Ctrl+S保存settings.json文件!

此时点击 “Run Code” 能在VS Code运行.m文件了。代码运行是通过调用matlab的终端,所以会跳出一个 “Matlab Command Window” 窗口,就相当于Matlab上的终端,可以在上面输入matlab代码运行。
在这里插入图片描述在这里插入图片描述

第四步:(可选)在VS Code实现Matlab的交互终端界面,并设置快捷键运行

通过上面的配置就能够实现VS Code运行Matlab,但是需要运行后才会挑出matlab的命令终端,不能直接在VS Code实现交互。因此,此步介绍了如何配置Matlab的交互终端界面。

(1) 首先确保自己电脑上有Python3.6或者3.7版本

  • 进入matlab的安装目录 到…\extern\engines\python 文件夹,可以看到目录下有setup.py
  • 打开cmd命令行,进入到上面的目录,运行python setup.py install 命令,多运行几次,直到成功
  • 进入Python 输入以下代码
import matlab.engine
eng = matlab.engine.start_matlab()

在这里插入图片描述
在这里插入图片描述

  • 返回VS Code 打开Matlab interactive Terminal的设置,添加本地python.exe路径

在这里插入图片描述

  • 设置完毕后,重启VScode,快捷键Ctrl+Shift+p ,输入matlab会发现多了三个命令:

在这里插入图片描述
在这里插入图片描述

使用第一条命令就可以打开一个Matlab的命令行终端(每运行一次打开一个),可以直接命令输入,也可以输入m文件名(已经打开文件所在文件夹)进行运行;
使用第二条命令就可以直接运行当前的.m文件;
使用第三条命令就可以在Matlab终端中运行当前选择的文本;如果没有选择文本,则运行当前行。


(2) 设置命令快捷键

完成上述配置后,每次运行代码都需要执行Ctrl+Shift+p,选择3个命令中的一个才能运行。
为了使用方便,我们可以给命令定义快捷键,方法如下:

在这里插入图片描述
在这里插入图片描述

至此,可以美美的在你的VScode上面使用Matlab啦!
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS Code配置matlab 的相关文章

  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • MATLAB 在 MATLAB 7.10.0 学生版中似乎找不到 csaps()

    我有一些代码使用csaps Matlab的三次平滑样条拟合函数 http www mathworks com help toolbox curvefit csaps html我想将其提供给使用 MATLAB 7 10 0 R2010a 的学
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 如何将Matlab代码库与Android集成?

    我有一个算法和 MATLAB 中的一些其他代码 我想在我的 Android 应用程序中使用它 我怎样才能做到这一点 我可以从 MATLAB 制作 jar 文件以便与 Android 一起使用吗 我必须做点别的事吗 如果您还有其他产品 适用于
  • Matlab 的快速 JSON 解析器

    您知道 Matlab 中有一个非常快速的 JSON 解析器吗 目前我正在使用JSONlab http www mathworks com matlabcentral fileexchange 33381 jsonlab a toolbox
  • 在 Matlab 中对列进行排序

    我有 2 列使用 textscan 导入的数据 数据看起来像这样 其中U is undetect and D is detect mydata 51 U 57 D 48 U 47 D my data 4x1 double 4x1 char
  • 如何使用Matlab提高PSD的分辨率

    我有音频信号 我用 Matlab 读取该信号 并使用 pwelch 获取其 PSD 这是我正在使用的代码 x Fs audioread audioFile wav x x 1 mono xPSD f pwelch x hamming 512
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 在 MATLAB 中用两个值替换向量值

    我必须创建一个以向量作为输入的函数v和三个标量a b and c 该函数替换了的每个元素v等于a有一个二元素数组 b c 例如 给定v 1 2 3 4 and a 2 b 5 c 5 输出将是 out 1 5 5 3 4 我的第一次尝试是尝
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 为什么 mex 文件中的 OpenMP 仅产生 1 个线程?

    我是 OpenMP 新手 我有以下代码 使用配置了 MSVS2010 的 Matlab mex 可以正常编译 计算机有 8 个可用处理器 我也使用 matlabpool 检查过 include mex h include
  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • 如何在Matlab中打印带有千位分隔符的整数?

    我想使用逗号作为千位分隔符将数字转换为字符串 就像是 x 120501231 21 str sprintf 0 0f x 但随着效果 str 120 501 231 21 如果内置fprintf sprintf做不到 我想可以使用正则表达式

随机推荐

  • 解决pycharm报错ModuleNotFoundError: No module named ‘selenium‘

    按照这篇博客安装了seleniu和Chromedriver后 在运行脚本时 报了如题的错误 意思是没有导入selenium模块 于是我有在cmd环境下输入检查命令 pip show selenium 重新检查了下 的确有安装 再检查下在py
  • 以太坊开发者工具的最新清单

    以太坊开发者工具的最新终极清单 用于在以太坊上开发应用程序的可用工具 组件 框架和平台的指南 对于任何开发者 无论你是一个睁大眼睛的Web3新手还是一个头发灰白的OG加密无政府主义技术霸主 Github都是你的朋友 特别是ConsenSys
  • 我将 ChatGPT 变成了每月的经常性收入

    这是您可以做同样的事情的方法 ChatGPT 很棒 毫无疑问 但更好的被动收入 将这 2 个坏男孩组合在一起 你就有了一个杀手组合 这正是我所做的 今天 我将解释如何 具体来说 我会告诉你 我做了什么把 ChatGPT 变成 MRR 我是怎
  • c++获取当前时间戳,单位是毫秒

    你可以使用 time h 中的 time 函数来获取当前的时间戳 它的返回值是从 1970 年 1 月 1 日 00 00 00 UTC 到现在的时间 以秒为单位 如果你需要以毫秒为单位的时间戳 你可以使用 time 函数的返回值除以 10
  • CentOS 8 官方正式发布了!

    CentOS 8 官方正式发布了 CentOS 完全遵守 Red Hat 的再发行政策 并且致力与上游产品在功能上完全兼容 CentOS 对组件的修改主要是去除 Red Hat 的商标及美工图 该版本还包含全新的 RHEL upstream
  • 数字序列的最大间隔(harsh)

    题目描述 题目描述 请输出数字序列的最大间隔 请使用以下伪随机数生成函数 rand32 生成伪随机数 int seed int rand return seed seed 214013L 2531011L gt gt 16 0x7fff i
  • 《积累》键盘keycode对照表

    字母和数字键的键码值 keyCode 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4
  • Mybatis学习笔记6 模糊查询like

    1 模糊 like 模糊查询的实现有两种方式 一是java代码中给查询数据加上 二是在mapper文件sql语句的条件位置加上 需求 查询姓名有 王 的 1 1 java代码中提供要查询的 王 接口方法 List
  • Linux云计算薪资及发展前景,云计算Linux就业方向及前景分析 2019云计算行业发展现状及前景趋势分析...

    云计算 cloud computing 是一种基于因特网的超级计算模式 在远程的数据中心里 成千上万台电脑和服务器连接成一片电脑云 那么 今天我们就来说说云计算就业形势方向及前景和云计算行业发展现状及前景分析 云计算是未来的趋势 有了云平台
  • 迪杰斯特拉(Dijkstra)算法 Java实现(最短路径)

    基本思想 通过Dijkstra计算图G中的最短路径时 需要指定起点vs 即从顶点vs开始计算 此外 引进两个集合S和U S的作用是记录已求出最短路径的顶点 而U则是记录还未求出最短路径的顶点 以及该顶点到起点vs的距离 初始时 S中只有起点
  • [Wikioi 2808][NOIP 1998普及组]二的幂次方---HBNU的童鞋过来看看

    题目描述 Description 任何一个正整数都可以用2的幂次方表示 例如 137 2 7 2 3 2 0 同时约定次方用括号来表示 即a b可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 2 2 2 2 0
  • python+selenium+Chrome options参数的使用

    Chrome Options常用的行为一般有以下几种 禁止图片和视频的加载 提升网页加载速度 添加代理 用于翻墙访问某些页面 或者应对IP访问频率限制的反爬技术 使用移动头 访问移动端的站点 一般这种站点的反爬技术比较薄弱 添加扩展 像正常
  • java-----基本类型包装类

    public class IntegerDemo public static void main String args Integer i1 new Integer 100 根据 int 创建Integer对象 过时 System out
  • Eclipse配置tomcat服务器

    1 首先下载tomcat 下载地址 http maven apache org 下载好后解压至本地磁盘根目录 我是解压至D盘根目录 2 打开Eclipse 进入Window gt Preferences 3 找到Server gt Runt
  • 教妹学Java(五):Java程序在编译和运行时发生了什么

    大家好 我是沉默王二 本篇文章通过我和三妹的对话来谈一谈 Java程序在编译和运行时发生了什么 没见过这么有趣的标题吧 语不惊人死不休 没错 本篇文章的标题就是这么酷炫 接受不了的同学就别点进来看了 所谓好奇心害死猫 能够接受的同学我只能说
  • exchange服务器保留邮件,Exchange服务器之Exchange备份单个用户邮件及清理邮箱数据...

    大家好 为了能够和有疑问的同行者及时沟通 我建立了一个群 615870353 我会免费更新行业信息 并回复大家提出的各种行业问题 问题 需要在Exchange服务器上导出一个用户的邮箱数据 然后再把这个人的邮箱数据清理了 但是不影响账户 方
  • case when then else end的用法

    主要分为两种 简单case函数和搜索case函数 简单case函数 case column when A then a when B then b else 0 end 搜索case函数 case when column A then a
  • 【千律】C++基础:类的构造函数和初始化

    include
  • EISeg——应用于语义分割的自动标注软件

    1 基本介绍 EISeg Efficient Interactive Segmentation 是以RITM及EdgeFlow算法为基础 基于飞桨开发的一个高效智能的交互式分割标注软件 涵盖了通用 人像 遥感 医疗等不同方向的高质量交互式分
  • VS Code配置matlab

    前言 matlab很好地集成了大量数学处理函数 甚至封装了包括信号处理 图像处理 神经网络等在内的方法 但matlab启动慢 没有代码补全 开发环境不友善等缺点常受人诟病 算法编写者往往需要进行大量重复动作 而VS Code是微软推出的一款