MATLAB 2024b 更新了些什么?

news2024/11/18 6:22:57

MATLAB 2024b版本已经推出了预览版,本期介绍一些MATLAB部分的主要的更新内容。

帮助浏览器被移除

在此前的版本,当我们从MATLAB中访问帮助文档时,默认会通过MATLAB的帮助浏览器(Help browser)。

2024b版本开始,帮助文档会使用系统的默认浏览器开启。

实时编辑器字体

2024b版本可以使用“自定义样式”对话框在实时编辑器中自定义文本和代码样式的字体、大小、颜色和格式。

要自定义文本或代码样式,需要在实时编辑器选项卡的文本部分中单击自定义样式按钮 。

然后,选择要自定义的样式并更改所选样式的字体、大小、颜色和格式。

“自定义样式”对话框会显示每种样式的预览

新的MATLAB桌面

新桌面已经Beta测试了一段时间,在2024b版本应该准备转正了。

MATLAB 的新桌面包括新功能和更新功能,例如:

  • 对桌面、绘图和应用程序的深色主题支持
  • 更新的布局
  • 扩展的搜索功能
  • 带有工具条、集成侧面板和新选项卡式容器的新图形窗口体验
  • 用于实时脚本的新纯文本文件格式
  • 新的调试器(Debugger)页面和源代码管理页面
  • 增强的 MATLAB 项目工作流程
  • 改进的屏幕阅读器支持

当然其他版本的MATLAB也可以单独下载体验新版本桌面,下载地址:

https://www.mathworks.com/matlabcentral/fileexchange/119593-new-desktop-for-matlab-beta.

dbstop函数更新

dpstop 函数在 MATLAB 中用于设置断点,以便调试代码。

在2024b版,dbstop可在显示未被分号(;)抑制的输出时暂停执行。

当线程不是由分号(;)抑制,其他原因如disp或fprintf显示的输出不会停止执行。

错误信息位置提示

在支持的情况下,MATLAB 会在导致错误的代码下方添加插入符号 ( ^ ),帮助快速定位代码中出错的位置。

typecast函数更新

在新版本中typecast函数支持使用 “like” 语法进行数据类型转换并支持逻辑、字符向量和复杂输入。

可以通过typecast(X,"like",p)X 的位模式转换为与原型 p 相同的数据类型和复杂性(实数或复数)。

例如,将双精度数的位模式转换为与 p 相同的数据类型和复杂度:

p = int32(2 + 3i);
Y = typecast(2.5,"like",p)

Y =

  int32

   0 +   1074003968i

交互式求解ODE

新版本可使用实时编辑器中的求解 ODE (Solve ODE)任务以交互的方式求解常微分方程组。

求解ODE控件

求解ODE任务支持:

  • 指定 ODE 结构
  • 定义高级问题信息
  • 选择求解器
  • 结果的可视化

要将Solve ODE任务添加到实时脚本可通过以下方式:

  • 在实时编辑器选项卡上,选择任务(Task) > 求解 ODE(Solve ODE)
  • 在脚本的代码块中,键入相关关键字,例如 ode,从建议的代码补全中选择“求解 ODE”。

新增小提琴图

小提琴图(violin plots)一般用于显示数据分布及其概率密度。 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。

通过violinplot 函数可以创建小提琴图,具体语法包括:

%为矩阵 ydata 的每一列创建小提琴图。如果 ydata 是向量,则 violinplot 创建单个小提琴图。
violinplot(ydata)

%根据 xgroupdata 中的唯一值对向量 ydata 中的数据进行分组,并将每组数据绘制为单独的小提琴图。 xgroupdata 确定每个小提琴图沿 x 轴的位置。 ydata 必须是向量,并且 xgroupdata 必须与 ydata 具有相同的长度。
violinplot(xgroupdata,ydata)

%创建 yvar 中数据的小提琴图,并按 xvar 中的数据分组,其中 xvar 和 yvar 是表 tbl 中的变量。您可以通过为 xvar 指定一个变量并为 yvar 指定一个变量来绘制一组数据。要绘制多个数据集,请为 xvar 、 yvar 或两者指定多个变量。如果两个参数都指定多个变量,则它们必须指定相同数量的变量。
violinplot(tbl,xvar,yvar)

%使用颜色来区分小提琴图。
violinplot(___,GroupByColor=cgroupdata)

详细用法可参考:

https://ww2.mathworks.cn/help/releases/R2024b/matlab/ref/violinplot.html

新增罗盘图

compassplot 函数可以绘制一组或多组从极坐标原点出发的箭头。

相较于compass函数,compassplot 函数使用 PolarAxes 对象,该对象提供更多自定义选项。

具体语法包括:

%在极坐标中绘制源自原点的箭头(矢量)。theta 值控制箭头方向(以弧度为单位)。rho 值将箭头大小控制为半径值。
compassplot(theta,rho)

%绘制复数Z
compassplot(Z)

%绘制表 tbl 中的变量thetavar和rhovar 。
compassplot(tbl,thetavar,rhovar)

详细用法可参考:

https://ww2.mathworks.cn/help/releases/R2024b/matlab/ref/violinplot.html

新增3D坐标中的切片

constantplane函数可以创建无限平面以突出显示 3D 绘图中的感兴趣区域。

该函数默认创建半透明的灰色平面,可以通过设置属性来更改颜色和透明度。

详细用法可参考:

https://ww2.mathworks.cn/help/releases/R2024b/matlab/ref/constantplane.html

一些性能提升

datetime的性能提升

datetime 在解析包含本地化名称或时区偏移的常见格式时,格式解析性能显着加快。

官方使用的测试案例为:

%%创建一个日期字符串数组,然后使用 datetime 函数解析并转换字符串数组。
function timingTest
s = "23-Apr-2024 11:30:" + randi([10,59],10000,1);
for i = 1:100
    d = datetime(s, ...
        InputFormat="dd-MMM-uuuu HH:mm:ss", ...
        Locale="en_US");
end
end

结果:

R2024a: 4.75 s

R2024b: 0.27 s

%创建一个时区偏移量为 -0400 的日期字符串数组,然后使用 datetime 函数解析并转换字符串数组。
function timingTest
s = "2024-04-23 11:32:48." + randi(999,10000,1) + " -0400";
for i = 1:100
    d = datetime(s, ...
        InputFormat="uuuu-MM-dd HH:mm:ss.SSS Z", ...
        TimeZone="local");
end
end

结果:

R2024a: 6.35 s

R2024b: 1.10 s

提高计算加权中位数的性能

提升了median函数在指定加权方案时的性能。

例如:

%计算 600×10 矩阵的加权中值
function timingTest
A = rand(600,10);
W = rand(600,1);

for i = 1:3e3
   median(A,Weights=W);
end
end

结果:

R2024a: 1.00 s

R2024b: 0.55 s

改进了确定哪些数组元素是质数的性能

isprime函数在确定数组中的整数元素是否为质数时的性能得到了提升。

例如,检查一个包含一百万个整数值向量的元素是否为质数,速度提升约20倍。

function timingTest
x = 1:1e6;
tf = isprime(x);
end

结果:

R2024a: 2.81 s

R2024b: 0.14 s

总结

以上只是部分更新内容,完整版的更新日志请参考:

https://www.mathworks.com/help/releases/R2024b/matlab/release-notes.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp 去掉小数末尾多余的0

文章目录 在uniapp或者一般的JavaScript环境中,要去掉小数末尾的0,可以使用以下几种方法: 使用parseFloat()函数 let num 123.4500; let result parseFloat(num); console.log(result); // 输出: 123.45字符串处理 将数字转换为字符串&am…

js的作用域链

function test(){} 运行期上下文:当函数执行时,会创建一个称为执行期上下文的内部对象。一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行上下文都是 独一无二的,所以多次调用一个函数对导致创建多个执行上下…

在pycharm里如何使用Jetbrains AI Assistant

ai assistant激活成功后,如图 ai assistant渠道:https://web.52shizhan.cn/activity/ai-assistant 在去年五月份的 Google I/O 2023 上,Google 为 Android Studio 推出了 Studio Bot 功能,使用了谷歌编码基础模型 Codey,Codey 是…

云联壹云 FinOps:赋能某车企公有云成本管理与精细化运营

背景 某车企,世界 500 强企业,使用了大量的公有云资源,分布于多家公有云,月消费在千万级别。 业务线多且分散,相关的云消耗由一个核心团队进行管理,本次案例的内容将围绕这些云成本的管理展开的。 需求 …

Google重大更新--解读Android Auto认证4.3

Google在今年五月更新了Android Auto 4.2.2版本,而在2024年7月他们推出了Android Auto 4.3版本,这是自2023年9月以来对Android Auto 4.2版本的一次重大更新。 为了确保合规性和顺利认证,OEM和Tire1必须确保PDK组件版本与正在认证的主机的Rece…

如何魔改vnstat-docker项目使其支持每1分钟采样?

文章目录 一、概述二、官网参考1. 官网地址2. 查看打包过程3.打包命令 三、修改过的文件四、部署运行1. 编排文件2. 运行效果 一、概述 接前文 网络流量监控神器vnStat初探 我们已经了解了vnStat的作用、使用和docker部署。 同时也了解到官方版本支持的采样统计间隔最小为5分…

Mysql数据库索引、事务相关知识

索引 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现 查看索引 show index from 表名;创建索引对于非主键、非唯一约束、非外键的字段&#…

制作Ai 数字人和数字人带货全面拆解复盘

看了后不用再花高价钱去买怎么制作数字人 .数字人带货的相关教程了 市面上基本都是通过这几个方法制作的数字人 超级详细 值得注意的是 拆解的太详细 仅供正规个人用途哦 请勿用于任何非法操作 否则 就不用接着往下看了 点击获取完整版资料

Python基础小知识问答系列-高效遍历多个不同类型元素的迭代器

1. 问题: 当需要对多个迭代器进行相同遍历操作时,如何避免因为迭代器之间的类型或者迭代器元素 数量过大引发的问题? 2. 解决方法: 使用itertools模块中的chain函数。 示例: from itertools import chainlist_a [2,…

炫云云渲染平台:解锁设计师无限创意的魔法钥匙

在数字创意的浩瀚宇宙中,设计师们如同星辰般璀璨,他们以无尽的想象力和精湛的技能,绘制出一幅幅令人叹为观止的视觉盛宴。然而,在追求完美的道路上,复杂的渲染过程往往成为制约创意飞跃的瓶颈。这时,炫云云…

2024菜鸟春招笔试

第一题 解题思路: 签到题,把帖子按好评度降序排列,再将人按升序排列。 第二题 解题思路 从左到右遍历,如果当前元素没有错排,将其与后一个交换,这样两个元素一定都错排。 第三题 、 解题思路 这题当时暴力…

前端面试题21(js排序方法)

JavaScript 中有多种内置和自定义的排序方法。内置的 .sort() 方法是最直接的排序方式,而自定义排序算法如冒泡排序、选择排序、插入排序、希尔排序、快速排序等则提供了更深层次的学习和应用价值。下面我将详细介绍这些排序方法,并给出相应的示例代码。…

大学生电子设计大赛超全资料分享

超全大学生电子设计大赛项目合集免费分享 电赛竞赛资料大全,新增竞赛空间电子设计资料。包含嵌入式硬件和软件开发的学习资料,包括PCB教程,单片机例程, 单片机课程设计毕业设计参考资料、项目设计方案,源码和开发文档…

观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系

V表示摄像机的观察矩阵(View Matrix),它的作用是把对象从世界坐标系变换到摄像机坐标系。因此,对于世界坐标系下的坐标值worldCoord(x0, y0, z0),如果希望使用观察矩阵VM将其变换为摄像机坐标系下的坐标值localCoord(x…

基于java+springboot+vue实现的流浪动物管理系统(文末源码+Lw)277

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升&…

【Linux】:进程创建与终止

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux程序地址空间的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从…

嵌入式开发者应该有的心态自信

各位开发者大家好,今天主要给大家分享一下,嵌入式开发者应该有的心态,缓解工作和生活中的压力,也是非常重要的。 真的。 世界就是个巨大的草台班子,自信点,别人没有你想象的那么厉害。 普通人最大的问题,就是过分高估别人,并且过分贬低自己。 一、对那些看似厉害的人…

算法设计练笔

T1、给定由n个整数&#xff08;可能为负数&#xff09;组成的序列a1,a2,...,an&#xff0c;求该序列子段和的最大值。当所有整数均为负数时&#xff0c;其最大子段和为0。 【输入】 第一行一个整数&#xff0c;表示n的值, 1<n<100; 第二行n个整数&#xff0c;表示a1,a2,.…

nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)

spring-cloud-alibaba-nacos-discovery 老版本中如何调用nacos的 1. 整体结构&#xff1a; 2. 思考: 如果你来做&#xff0c;如何做client 向server注册服务&#xff1a; 1.2.1 读yml&#xff0c;或本地文件找到服务器地址&#xff0c;以及其他配置 1.2.2 向server注册服务 1.2…

【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构① | 4.1-4.2

前言 第4章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术相关的内容&#xff0c;学习要以教材为准。本章分值预计在4-5分。 目录 4.1 架构基础 4.1.1 指导思想 4.1.2 设计原则 4.1.3 建设目标 4.1.4 总体框架 4.2 系统架构 4.2.1 架构定义 4.…