
★教程1:matlab入门100例
文章平均质量分 94
订阅本教程,除了教程案例程序,还可以免费获得任意2份代码。 本专栏为虚拟产品,一经付款概不退款,敬请谅解。每周1~2课,零基础学习FPGA/MATLAB。从基本原理,小课题,编程技巧来讲解MATLAB/FPGA的学习。
优惠券已抵扣
余额抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
fpga和matlab
专业即算法,算法即数学,数学即万物。从事MATLAB算法仿真工作15年,从事FPGA系统开发工作12多年。擅长解决各种算法仿真、建模、通信、图像处理、AI、智能控制等各专业问题。
展开
-
★教程1:matlab学习教程入门100例目录
★基础入门1.为什么要学习MATLAB2.MATLAB安装持续更新.......★MATLAB基础编程语言熟悉原创 2021-12-11 17:26:56 · 44560 阅读 · 5 评论 -
【MATLAB教程案例100】人脸图像的无线传输通信链路及远程识别系统matlab仿真(下)——人脸识别
人脸识别技术有着广阔的应用前景和迫切的现实需求,是当前模式识别、计算机视觉等领域里最热门的研究方向之一。而人脸识别的软件系统开发,则是联系理论和实践的最重要的环节。这里,我们选择alexnet作为人脸识别所用到的深度学习神经网络模型。原创 2023-01-27 04:32:19 · 1220 阅读 · 1 评论 -
【MATLAB教程案例99】人脸图像的无线传输通信链路及远程识别系统matlab仿真(上)——通信链路
目录1.软件版本2.人脸图像的无线传输通信链路及远程识别系统概述3.通信链路的建立与matlab仿真3.1将发射图片转化为二进制数据3.1发射端3.2接收端3.3整体程序3.4接收图像显示matlab2021a关于通信链路的相关知识,我们可以复习如下的课程:▲通信类matlab仿真经验和技巧总结关于人脸识别的相关知识,我们可以复习如下的课程:53.CNN卷积神经网络的MATLAB编程学习和实现,以手势识别为例进行仿真分析54.Alexnet网络的MATLAB编程学习和实现,以步态识别为例进行仿真分析原创 2023-01-27 04:20:21 · 811 阅读 · 0 评论 -
读者学习《MATLAB入门100例》过程中的一些问题总结——不定期更新
《本章内容主要是根据订阅《MATLAB入门100例》用户学习过程中提出的一些常规的,通用的软件操作问题,以及部分通用的编程类问题进行总结,。原创 2023-01-26 06:14:12 · 1615 阅读 · 0 评论 -
【MATLAB教程案例98】基于混沌序列的图像加解密matlab仿真,并进行各类攻击测试
随着信息技术的飞速发展,互联网产生了大量的数字图像,并通过各种网络传播到世界各地。许多数字图像涉及私人或秘密信息,一旦被恶意使用,可能会造成严重损失。因此,存储和传输图像数据前,应对其进行保护处理,其中,图像加密是最为直接有效的方案。混沌密码学作为混沌应用的一个重要部分仅出现十几年的时间,但其发展非常迅速,不仅理论方面有了长足的进展,在实际应用的探索方面也取得了较大的成果,特别是近几年又出现了许多新思想、新方法,在实用性、安全性方面都有很大进展,极大的推进了其走向实用阶段的进度。原创 2023-01-26 05:53:14 · 660 阅读 · 0 评论 -
【MATLAB教程案例97】基于GA遗传优化的CNN卷积神经网络最优训练参数搜索matlab仿真
在本课程中,我们以CNN的训练准确率作为GA优化的适应度函数,通过GA优化的方式,搜索最优的网络训练参数。因此,在实际训练过程中,需要设置最优的训练参数,使得训练结果以较少的训练次数达到最佳的训练结果。本课程,我们简单的学习了如何通过优化算法去搜索最优的网络训练参数,实际中,如果网络参数较多,那么也可以使用类似的方法进行优化。我们设置的种群规模为25,如果设置更大的种群规模,则可以得到更优的优化结果。红色箭头的区域,就是GA优化的变量,通过GA搜索最优的参数。此外,上述的主函数中,原创 2023-01-25 05:43:20 · 1581 阅读 · 2 评论 -
【MATLAB教程案例96】基于GA优化的WSN最大覆盖率和最少节点部署数量matlab仿真
从上述的仿真结果可知,通过GA优化之后,我们可以仅仅使用39个节点,就可以达到100%的覆盖率。而随机部署的节点,80个,覆盖率也就97%。在本课程中,我们建立如下的适应度函数包括覆盖率和节点数量,即通过GA优化过程,实现最小节点数量下,达到最优的覆盖率的问题。78课程的主要学习内容是,在节点数量固定的情况下,实现最大覆盖率问题。原创 2023-01-24 00:16:30 · 1523 阅读 · 1 评论 -
【MATLAB教程案例95】基于GA遗传优化的PID控制器最优控制参数计算
遗传算法模拟的是怎样的生物进化模型呢?假设对相当于自然界中的一群人的一个种群进行操作,第一步的选择是以现实世界中的优胜劣汰现象为背景的;第二步的重组交叉则相当;第三步的变异则与自然界中偶然发生的变异是一致的。原创 2023-01-23 23:22:29 · 944 阅读 · 0 评论 -
【MATLAB教程案例94】基于Matlab的IHS图像融合算法仿真案例
图像的颜色模型通常采用的红、绿、蓝(RGB)三原色模型。另外一种广泛应用的颜色模型是亮度、色调、饱和度(IHS) 颜色模型。亮度表示光谱的整体亮度大小,对应图像的空间分辨率,与地物表面粗糙度相对应, 代表地物的空间几何特征。色调描述纯色的属性,决定与光谱的主波长。饱和度表征光谱的主波长在强度中的比例,色调和饱和度代表图像的光谱分辨率。传统的IHS图像融合方法基本思想是将IHS空间中的低分辨率亮度用高分辨率的图像的亮度成分所代替;3.原创 2023-01-23 22:48:53 · 719 阅读 · 0 评论 -
【MATLAB教程案例93】在MATLAB中通过mex将C语言转化为matlab可执行的mexw64文件
用户可以在Matlab中按简单的M文件语法规则设计出来完成特定计算的算法。然后用Matlab编译器调用mex命令创建C共享库函数(DLL)或C++静态函数库,最后将它们整合到C/C++应用程序中,编译完这些C/C++应用程序,就可以用这些算法来实现特定的计算功能。当然这过程中也隐藏了算法和加快了代码的执行效率。由于MEX文件执行效率高,故如果有文件重名的话,Matlab将优先调用MEX文件,3.原创 2023-01-20 22:27:43 · 1822 阅读 · 0 评论 -
【MATLAB教程案例92】基于parfor的matlab并行运行机制
parfor 循环(与标准 MATLAB for 循环类似)对一个范围内的值执行一系列语句(循环体)。然而,与 for 循环不同,parfor 循环的迭代可以在目标硬件的多个核上并行运行。parfor 循环可提供高于其同类 for 循环的执行速度,因为多个线程可以对同一循环以并发方式执行计算。parfor 循环体的每次执行称为一次迭代。这些线程以任意顺序执行迭代计算,且彼此独立。由于每次迭代都是独立的,因此它们不必同步。如果线程数等于循环迭代次数,则每个线程将执行一次循环迭代。原创 2023-01-20 02:18:43 · 1238 阅读 · 1 评论 -
【MATLAB教程案例91】将MATLAB程序转化为C语言
将MATLAB程序转化为C语言是一项复杂的任务,因为MATLAB和C语言在语法、数据结构和功能方面有很大的差异。这个过程通常称为“代码生成”或“代码翻译”。原创 2023-01-20 01:24:41 · 1750 阅读 · 0 评论 -
【MATLAB教程案例90】通过MATLAB实现基于RML极大似然各次递推法的系统参数辨识
RML极大似然各次递推法的系统参数辨识原创 2023-01-19 04:44:55 · 1340 阅读 · 1 评论 -
【MATLAB教程案例89】通过MATLAB实现基于LS最小二乘法的系统参数辨识
LS最小二乘法的系统参数辨识原创 2023-01-19 04:30:11 · 882 阅读 · 0 评论 -
【MATLAB教程案例88】通过matlab模拟光的干涉现象
光的干涉现象是波动独有的特征,如果光真的是一种波,就必然会观察到光的干涉现象。1801年,英国物理学家托马斯·杨(1773—1829)在实验室里成功地观察到了光的干涉 。两列或几列光波在空间相遇时相互叠加,在某些区域始终加强,在另一些区域则始终削弱,形成稳定的强弱分布的现象,证实了光具有波动性。原创 2023-01-18 01:49:02 · 1726 阅读 · 1 评论 -
【MATLAB教程案例87】使用Euler法计算lorenz混沌系统
欢迎订阅《》、《原创 2023-01-18 01:05:57 · 782 阅读 · 0 评论 -
【MATLAB教程案例86】通过matlab实现lorenz混沌系统
Lorenz发现了第一个混沌吸引子——Lorenz系统,从此揭开了混沌研究的序幕。人们不断发现新的混沌奇异性,不断地加深与统一对混沌的理解。混沌系统是指在一个确定性系统中,存在着貌似随机的不规则运动,其行为表现为不确定性、不可重复、不可预测,这就是混沌现象。混沌是非线性动力系统的固有特性,是非线性系统普遍存在的现象。原创 2023-01-18 00:52:16 · 1202 阅读 · 0 评论 -
【MATLAB教程案例80~85总结】MATLAB数值仿真经验和技巧总结
数值仿真,学习起来比较枯燥,没有像深度学习,通信,或者图像处理等有着比较直观的视觉效果。其往往应用在实际的科研过程中,其更多的是作为数据分析的工具来使用。建议有需要的同学,可以在平时科研过程中,逐渐积累各种常用的数值仿真的方法。但在基础的入门案例中应用较少,数值仿真往往更多的应用于各种科学分析,科研数据统计等。因此,本章节,我们仅针对数值仿真的几个基础matlab函数做了简单的学习和仿真应用。此外,介绍了在插值,拟合,线性回归以及有限差分法等几种常用的数值仿真应用。原创 2023-01-14 02:34:42 · 4061 阅读 · 3 评论 -
【MATLAB教程案例85】通过matlab实现有限差分法求解微分方程
有限差分法求解微分方程原创 2023-01-14 02:19:36 · 2646 阅读 · 0 评论 -
【MATLAB教程案例84】通过matlab实现数据的线性回归
线性回归模型经常用最小二乘逼近来拟合,但他们也可能用别的方法来拟合,比如用最小化“拟合缺陷”在一些其他规范里(比如最小绝对误差回归),或者在桥回归中最小化最小二乘损失函数的惩罚.相反,最小二乘逼近可以用来拟合那些非线性的模型.因此,尽管“最小二乘法”和“线性模型”是紧密相连的,但他们是不能划等号的。在matlab中,一般使用函数regress(Y,X,alpha),plpha是置信度,如果直接用regress(Y,X)则默认置信度为0.05,Y是一个 的列向量,X是一个 的矩阵,其中第一列是全1向量。原创 2023-01-14 01:56:32 · 1081 阅读 · 0 评论 -
【MATLAB教程案例83】通过matlab实现数据的插值拟合
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。常用的拟合方法有如最小二乘曲线拟合法等,在MATLAB中也可以用polyfit 来拟合多项式。原创 2023-01-14 01:31:58 · 661 阅读 · 0 评论 -
【MATLAB教程案例82】matlab在大学数学中的应用——概率统计
概率统计原创 2023-01-14 01:11:08 · 616 阅读 · 0 评论 -
【MATLAB教程案例81】matlab在大学数学中的应用——线性代数
matlab在大学数学中的应用——线性代数原创 2023-01-11 21:16:37 · 698 阅读 · 0 评论 -
【MATLAB教程案例80】matlab在大学数学中的应用——高等数学
在高等数学中,有诸多公式,均可以通过matlab编程实现,比如积分,微分,导数,极限,函数零极点,泰勒展开等等。本章节,我们将对这些高等数学中常用的公式进行matlab编程学习。原创 2023-01-10 22:42:00 · 1205 阅读 · 0 评论 -
【MATLAB教程案例75~79总结】MATLAB网络类算法仿真经验和技巧总结
当然,在实际使用过程中,网络方面的仿真更多的是用NS3等专业软件进行。包括网络场景的建模,网络最短路由,网络覆盖率问题,如何通过优化算法解决覆盖率问题以及移动节点路由等。网络覆盖率问题,在网络仿真中应用较多,其主要受到节点的通信半径影响。一般考虑到最小跳数,最小能耗等因素,需要建立最短路由,一般涉及到的算法为dijkstra算法。如果是移动节点的路由问题,则考虑节点坐标实时改变等因素,动态建立路由的过程。网络场景建模,主要定义网络场景的尺度,节点数量,节点分布情况,节点的通信范围以及节点的能量情况等等。原创 2023-01-10 01:12:03 · 1807 阅读 · 1 评论 -
【MATLAB教程案例79】基于移动节点WSN的最短路由matlab仿真——应用于车组网或无人机组网等
欢迎订阅《》、《本课程和76课程类似,区别在于本课程的WSN网络,其节点为移动节点,用于模拟现实中的车辆组网或者无人机组网问题。如下图所示:从上面这个图可以看到,左图为初始的节点分布 ,右图是节点D发生移动,从AC区域移动到了EC区域,即得到了右图。我们以E到D的路由为例子,对于左图,路线为E-B-C-D,一共三跳。对于右图,路线为E-D,一共一跳。那么在节点运动过程中,E到D的路由也将实时发生改变。在本课程中,我们在73课程的基础上,实现移动节点场景下的最短路由算法仿真。原创 2023-01-10 00:56:31 · 801 阅读 · 0 评论 -
【MATLAB教程案例78】基于GA优化的WSN最大覆盖率matlab仿真——扩展到任意一种优化算法解决WSN覆盖率问题
染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。其中,种群初始化模块根据求解问题初始化种群,适应度值计算模块根据适应度函数计算种群中染色体的适应度值,选择、交叉和变异为遗传算法的搜索算子,N为固定值,当进化次数为N的倍数时,则采用非线性寻优的方法加快进化,非线性寻优利用当前染色体值采用函数fmincon寻找问题的局部最优值。第5步:按照一定的变异概率和变异方法,生成新的个体;原创 2023-01-07 01:41:01 · 889 阅读 · 0 评论 -
【MATLAB教程案例77】WSN网络覆盖率问题与matlab仿真
如上图所示,将整个场景进行栅格划分,那么栅格的总个数为场景的面积。然后节点的覆盖率如上图所示。完全覆盖的栅格,可以记录为1 ,如果部分覆盖的,假设栅格的中心点在网络的覆盖范围内,则记为1,如果栅格的中心点在覆盖范围之外,则近似认为是0.那么这个节点所覆盖的栅格个数即为该节点的覆盖面积。网络覆盖率是衡量网络覆盖性能最重要的指标,一般定义为所有工作节点覆盖的总范围与目标区域面积大小的比值,其中传感器节点覆盖的范围取所有节点覆盖面积的并集。综上所述,通过上述方法,我们可以较好的计算得到网络的覆盖率问题。原创 2023-01-07 00:54:25 · 983 阅读 · 0 评论 -
【MATLAB教程案例76】基于dijkstra算法的WSN最短路由matlab仿真
在一个WSN网下,节点 A 要给节点 B 发送一条消息,如果 A 和 B 并没有直接通过网络相连,可能就需要经过其他路由设备的几次转发,这时我们需要在整个网络拓扑图中找到一条可到达的路径,才能把消息发送到目的地。那么在相同的发射节点和接收节点之间,选择最少的转发次数,就可以构造最短路由。原创 2023-01-06 23:44:58 · 818 阅读 · 0 评论 -
【MATLAB教程案例75】通过MATLAB模拟WSN无线传感器网络
无线传感器网络(Wireless Sensor Networks, WSN)是一种分布式传感网络,它的末梢是可以感知和检查外部世界的传感器。WSN中的传感器通过无线方式通信,因此网络设置灵活,设备位置可以随时更改,还可以跟互联网进行有线或无线方式的连接。这些潜在的应用领域可以归纳为:军事、航空、反恐、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域。首先定义场景的长和宽,即变量H和W,然后定义节点数量NN,每个节点的有效通信半径R,然后通过rand产生每个节点的坐标X和Y。原创 2023-01-06 22:24:14 · 988 阅读 · 0 评论 -
【MATLAB教程案例68~74总结】MATLAB控制类算法仿真经验和技巧总结
当然,在实际使用过程中,我们更多的会使用Simulink或者simulink结合matlab的方式来实现控制器的仿真。包括PID控制器,模糊控制器,滑模变控制器,强化学习控制器等。当然simulink里面,matlab提供了更为丰富的关于控制器的工具箱可以使用。最后,将控制对象和控制算法结合,将参考输入和控制对象的反馈,送入到控制器算法中,通过控制器的算法处理,得到控制输出,并作用到控制对象中。通过一个闭环的回路,完成控制器的基本工作过程。控制对象的设计,往往需要考虑控制对象本身的各种物理特性。原创 2023-01-03 00:07:16 · 1089 阅读 · 3 评论 -
【MATLAB教程案例74】通过MATLAB编程实现基于Qlearning强化学习的控制机器人行走迷宫
不同于监督学习与非监督学习,在强化学习的框架中,更侧重通过智能体与环境的交互来学习。通常在监督学习和非监督学习任务中,智能体往往需要通过给定的训练集,辅之以既定的训练目标(如最小化损失函数),通过给定的学习算法来实现这一目标。然而在强化学习中,智能体则是通过其与环境交互得到的奖励进行学习。基于q-learning的强化学习算法,q-learning 是一个值迭代(value iteration)算法,对每个状态值的准确估计,是值迭代算法的核心。通常我们会考虑最大化动作的长期奖励。原创 2023-01-02 23:55:32 · 1272 阅读 · 0 评论 -
【MATLAB教程案例73】通过MATLAB编程实现滑模变结构控制系统——控制对象为二级直线倒立摆模型
滑模变结构控制系统是一种不连续的非线性系统,和传统的控制方法相比而言,其最大的区别在于滑模变结构控制系统的结构会实时改变,保证控制对象始终处于最优的控制状态。下面对滑模变结构控制系统的基本原理进行介绍:原创 2022-12-31 21:47:38 · 956 阅读 · 0 评论 -
【MATLAB教程案例72】通过MATLAB编程实现LQR控制器——控制对象为倒立摆模型
LQR (linear quadratic regulator),即线性二次型调节器,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。LQR最优设计是指设计出的状态反馈控制器 K要使二次型目标函数J 取最小值,而 K由权矩阵Q 与 R 唯一决定,故此 Q、 R 的选择尤为重要。在matlab中,lqr控制器的实现非常简单,只需要lqr函数就可以实现,lqr函数的使用如下:第一种方案:原创 2022-12-30 22:08:37 · 1518 阅读 · 0 评论 -
【MATLAB教程案例71】通过MATLAB编程实现模糊控制器2——编程实现模糊控制(不使用FIS Editor)
在上一个课程中,我们实现了模糊隶属函数和模糊规则。这里我们将调用上一个课程建立的模糊规则和隶属函数实现控制器。%控制对象的设置%采样时间ts = 0.002;%产生连续形式的传递函数Gp%产生离散形式的传递函数Gpz%将传递函数转换为差分式子分别得到传递函数以及离散形式传递函数。原创 2022-12-28 22:02:08 · 1108 阅读 · 0 评论 -
【MATLAB教程案例70】通过MATLAB编程实现模糊控制器1——编程定义模糊规则和隶属函数(不使用FIS Editor)
我们首先使用addvar函数定义变量,这里我们需要定义输入为E和Ec,输出为Kp,Ki,Kd。首先使用newfis定义模糊变量a。然后使用addvar定义第一个输入变量E,在addvar属性中,类型定义为input,名字定义为e,输入范围定义为[-3,3]。然后定义e的各个隶属函数,使用addmf函数,定义类型为input,索引为1,模糊变量为NB,隶属函数为zmf,值范围为[-3,-1]。原创 2022-12-28 21:46:50 · 1918 阅读 · 0 评论 -
【MATLAB教程案例69】基于MATLAB编程实现H无穷控制器与性能分析
H∞控制是一种具有很好鲁棒性的设计方法,具有设计思想明确、控制效果好等优点,尤其适用于模型摄动的多输入多输出(MIMO)系统。H∞控制在控制理论、设计方法及应用等方面,经过多年不断发展和完善,已成为一种具有较完整体系的鲁棒控制理论。为适应控制系统稳定性、自适应性、智能化及工程化的更高要求,基于线性矩阵不等式(LMI)的H∞控制、非线性H∞控制以及H∞控制与神经网络和模糊控制结合,成为近年来H∞控制研究的热点。原创 2022-12-27 21:44:29 · 1484 阅读 · 0 评论 -
【MATLAB教程案例68】基于MATLAB编程实现PID控制器与性能分析
控制器,即控制器的控制方式为P比例调整,I积分调整以及D微分调整三个部分构成,PID控制器是目前为止应用最为广泛的控制方式。PID控制器适用于各种控制对象无法进行测量获得系统参数的情况,其根据控制对象的输出和参考控制变量的输入差进行实时的调整实现对未知参数控制对象的有效控制。PID控制器由比例调整模块,积分调整模块以及微分调整模块三个部分构成,那么其输入的误差信号e(t)与输出u(t)的关系为公式:参数Kp表示的是比例调整模块的系数,其作用是将系统的反馈误差。原创 2022-12-25 21:17:56 · 1432 阅读 · 0 评论 -
【MATLAB教程案例51~67总结】MATLAB人工智能类算法仿真经验和技巧总结
MATLAB2022b版本,提供了大量的人工智能方面的工具箱,包括深度学习,强化学习等。通过51~67课程的学习,我们初步掌握了如何通过matlab实现一些基础的人工智能算法。步骤一、建立目标训练库,通过图像处理的相关算法,建立统一大小的图像,比如对于alexnet,需要建立227*227大小的图片库。步骤五、训练和测试,使用matlab自带的trainNetwork进行训练,使用classify进行测试分类。原创 2022-12-22 21:53:29 · 2087 阅读 · 0 评论 -
【MATLAB教程案例67】基于Actor-Critic结构强化学习的车杆平衡控制系统matlab仿真
Actor是一个神经网络,Critic也是一个神经网络,他们是不同的神经网络,Actor用于预测行为的概率,Critic是预测在这个状态下的价值。原创 2022-12-22 21:39:11 · 1731 阅读 · 0 评论