当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能MATLAB Compiler:可以下载 MATLAB Compiler Runtime (MCR),简化编译后的程序和组件的分发Image Processing Toolbox:通过亮度指标优化进行自动图像配准Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面System Identification Toolbox:识别连续时间传递函数2022年4月6日消息,MATLAB R2022a 原生 Apple Silicon 平台开放测试版是 MATLAB 的早期版本,适用于 Apple Silicon Mac 用户,以评估现有代码和应用程序的执行,并测试第三方集成和附加组件。此测试版将持续到2022年8月31日。

从 MATLABMobile™ 中,您可以访问在 MathWorks® Cloud 中运行的 MATLAB,并对您的文件和数据执行许多 MATLAB 命令。下列部分包含 MATLABMobile 的相关技巧和限制。

主题

MATLAB 命令

输入命令

MATLAB Mobile 将您在设备上输入的所有命令发送到 Cloud 以进行计算。

使用自动补全功能

MATLAB Mobile 中的自动补全功能可方便您键入内容。

在使用 MATLABMobile 命令创建或更新图窗时,MATLAB 会显示缩略图和较大的预览。

图窗和绘图

共享代码或图窗

如何共享或保存代码和单个图窗。

从历史记录中删除命令或图窗

删除不需要的命令更便于在历史记录中滚动查看。

信号处理

alignsignals 求两个信号的delay, 并且对齐信号

buffer 可以把信号切分成不同segment组成矩阵

dsp.SampleRateConverter 改变采样率

finddelay 求两个信号的delay

findpeaks 检测峰值

findsignal 在一段信号里寻找最相似的某一片段

edr 求两个信号的编辑距离

pentropy求信号的谱熵

sgolayfilt SG滤波器

数值计算

求cdf

atan2 / atan2d 四象限反正切

diff 差分

discretize 小数离散化

lsqnonlin

nchoosek n个里面选k个组合

perms 全排列

rand 生成[0,1]随机小数

randi 生成[1,n]的随机整数

randperm 随机打乱一个序列

repmat 复制矩阵

sort 对向量排序

strcat连接两个字符串

strcmp 比较字符串是否相等

unique去掉重复

集合交并补

科学计算

confusionmat

cvpartition

deal 输入分发到输出

ismissing 查找缺失值

拟合曲线

Squeeze

tabulate 统计数量与比例

系统操作

beep

clear

clc

clf

dbstop if error

quit 推出matlab

sound 发出声音

waitbar 显示进度条

warndlg 创建警告窗

prefdir

文件操作

fileparts 求信号的目录, 文件名, 扩展名

mfilename

画图

axis ij

confusionchart

linkaxes

上标下标斜体

yyaxis right

zoom on

matlab只是个软件,用来完成机械的计算,而如何安排这些计算,需要用户掌握最基本的数学概念。这篇将介绍工程数学中常用的数学概念,与matlab似乎并不相关,但实则是matlab的基础。

1.数值与符号

如果给工程数学问题分类,最大的两类肯定是数值问题和符号问题,对应matlab的数值运算和符号运算。简而言之,数值运算就是所有的变量的值已知,求解的也是一些具体的值;符号运算则刚好相反,不要求所有的变量都已知,求解的结果也不是变量具体的值,而是变量之间的关系。一个简单的例子是

①数值问题:求解一元二次方程,ax2+bx+c=0,其中a=b=c=1,所求得的结果一定是x=几点几+几点几i,是个复数,是个具体的数值。

②符号问题:求解一元二次方程,ax2+bx+c=0,所求的的结果一定是x=求根公式,是abc的函数,是个关系

可见,一个问题是数值问题还是符号问题,很大程度上决定于结果需要求解的是数值还是关系。当然两个问题也可以相互转化,比如数值问题的一元二次方程,我们一般会先转化成符号问题,把abc代入求根公式,求出来变量x的具体数值。但实际中,一般我们并不推荐这样做,原因是matlab的数值和符号是完全不同的两套系统,相互转化不仅需要多余的数值符号转换语言,更可能带来查错的不便。

2.典型数值问题

以下是常见的数值问题,文中提到的解法均可在数值计算、科学计算、数值算法这类书中找到。

2.1代数方程

代数方程又分为线性方程和非线性方程,线性方程一般可以转化为矩阵形式AX=b,对A求逆即可。求逆的数值解法一般有高斯赛德尔迭代,超松弛迭代等。非线性方程一般转化为f(x)=zeros其中x是个向量,右侧的zeros表示f是个多输出函数,数值解法一般是迭代,常见的有牛顿迭代,最速梯度,点斜式等。

2.2常微分方程

常微分方程一般转化为Dy=f(y,t),且y(0)=y0是初始条件,其中y和Dy都是向量,f也是个多输出函数,数值解法有欧拉法,龙格库塔法。

2.3偏微分方程

偏微分方程比较复杂,matlab处理偏微分方程也不专业,我也几乎不用matlab处理这类问题。但工程数学上,偏微分方程的解法有两类,差分法和有限元法。差分法需要采用中心差分,迎风差分等。有限元需要计算刚度矩阵等。

2.4插值和拟合

插值和拟合是完全不同的两个数学概念,虽然很多时候很多人都混淆了。两者的描述都可以归结为:已知函数上的点(x1,y1),(x2,y2)...(xn,yn),求一个已知的x,对应的y的数值。插值常用的多项式插值,三次样条插值。拟合的本质是一个最优化问题,其中最常用的一种拟合是线性拟合,求解方法是最小二乘法。

2.5离散周期傅里叶变换

严格说来,这并不能算一个数学问题,只是一种运算方式,就好像加减乘除一样。特殊性在于这种变换是对于一个向量进行,且运算后的结果依然是个向量。这里提出来是为了强调这种傅里叶变换的限定,要求是离散周期,这也是数值方法能处理的唯一一种傅里叶变换。

2.6最优化问题

最优化问题比较宽泛,一般可以归结为求目标函数f(x)的最大或者最小值,其中f是一个单输出的函数,x是一个向量。其中x需要满足线性约束条件、非线性约束条件、上下界。具体的解法有最速梯度,遗传,蚁群,退火等算法。

2.7数值积分

已知函数上的点(x1,y1),(x2,y2),...(xn,yn),求函数在x1到xn的定积分。常见算法有矩形公式,梯形公式,辛普森公式。类似的问题还有数值求导。

3.典型符号问题

以下是常见的符号问题,需要特别指出的是,无解问题。数值问题中也有一部分无解问题,但大多数工程中是碰不到的。而符号问题恰好相反,绝大部分我们遇到的符号问题都是没有解的,或者准确的说,没有解析解。比如求一元五次方程,我们知道x和这些系数存在关系,但无法写出显式的表达式,也就是说没有解析解。

3.1递推转通项

这个问题可以归结为:已知xn+1=f(xn),求xn,常见于数列的推导。

3.2代数方程

区别于数值问题中的代数方程, 这里的代数方程问题可以描述为:f(x,c)=0,求x=x(c),这里需要求解的其实是x和c的关系。

3.3常微分方程

区别于数值问题中的常微分数方程, 这里的代数方程问题可以描述为:Dy=f(y,t,c),求y=x(t,c),一般无需初值条件。

3.4符号积分

区别于数值问题中的数值积分,这里的符号积分可以描述为:已知函数关系y=f(x),求y的不定积分。同样的问题还有符号求导。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

全世界数以百万计的工程师和科学家都在使用 MATLAB® 分析和设计改变着我们的世界的系统和产品。基于矩阵的 MATLAB 语言是世界上表示计算数学最自然的方式。

关键字: matlab入门 教学 基础知识

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab入门 基础知识 信号处理

上海2023年2月14日 /美通社/ -- 步入2023年第一个季度,市场依然在震荡中前行。作为一家全球领先的金融科技经纪商,ATFX为了给全球客户提供具有前瞻性的分析报告,分析师团队早已密切关注金融市场动态,结合各国经...

关键字: ANTI RAM 基础知识 SIC

我们前面主要去学习了蓝牙开发所具备的基础知识、常用的仿真手法,那么如何去分析我们抓到的蓝牙通信包呢?不去学习蓝牙通信协议,只能把抓到的Log信息,交给能看懂的人,你也最终只能当一个测试工程师了。

关键字: 基础知识 仿真手法 蓝牙通信

(全球TMT2022年4月26日讯)The Open Group,厂商中立的技术联盟,宣布正式发布TOGAF®标准第10版,这标志着这一世界上使用最广泛的企业架构框架的开发又步入一个重要里程碑。由The Open Gr...

关键字: GROUP PEN 模块化结构 基础知识

低压差 (LDO) 稳压器的本质是通过将多余的功率转化为热量来调节电压,使该集成电路成为低功率或小 V IN至 V OUT差分应用的理想解决方案。考虑到这一点,选择合适的 LDO 和合适的封装对于最大限度地提高应用程序的...

关键字: LDO 基础知识 BSP 封装

哈喽,大家好,我是瓜哥,致力于分享互联网各领域干货。前几天,有人问瓜哥,学习编程语言有什么好的建议没?今天简单和大家分享几点学习编程的建议,希望可以帮助到大家。1.只要开始,就不要怕晚瓜哥经常看到这些问题,大四学编程还来...

关键字: 编程 代码 基础知识 数据结构

控制器局域网(CAN)非常适合包含CAN和ISO-11898:2003作为其物理层的许多高级工业协议。它的成本、性能和可升级性提供了系统设计的巨大灵活性。本应用报告介绍了CAN基础知识、工作原理以及基本CAN总线与TI ...

关键字: CAN 基础知识

控制器局域网(CAN)非常适合包含CAN和ISO-11898:2003作为其物理层的许多高级工业协议。它的成本、性能和可升级性提供了系统设计的巨大灵活性。本应用报告介绍了CAN基础知识、工作原理以及基本CAN总线与TI ...

关键字: CAN 基础知识

 关注「Linux大陆」,一起进步!为解决各种问题,人们发明了不计其数的机器。计算机种类繁多,从嵌入火星漫游机器人的计算机到为操纵核潜艇导航系统的计算机,不一而足。冯•诺伊曼在1945年提出第一种计算模型,无论笔记本电脑...

关键字: 基础知识 计算机
关闭