- 博客(30)
- 收藏
- 关注
原创 MATLAB系列09:图形句柄
除了一个 GUI 对象定义的标准属性以外, 程序可以定义所要控制的数据的特殊属性。程序员可以用附加属性把任意类型的数据添加到 GUI 对象中。任意数量的数据可以被存储,并应用于各种目的。自定义数据可以用近似标准属性的形式存储。每一个数据条目都有一个名字和值。数据变量可以用函数 setappdate 存储在一个对象, 并用函数 getappdata 接收。setappdate 函数的基本形式如下。
2024-09-19 20:05:09 1915
原创 MATLAB系列08:输入/输入函数
在 MATLAB 中有一种非常灵活的读取/写入文件的方法,不管这个文件是在磁盘还是在磁带上或者是其他的存储介质。这种机制就叫做文件标识(file id)(有时可简写为 fid),当文件被打开,读取,写入或操作时,文件标识是赋值于一个文件的数。文件标识是一个正整数。两种文件标识是公开的——文件标识 1 是标准输出机制,文件标识 2 是标准错误机制(stderr)。其他的文件标识,在文件打开时创立,文件关闭时消逝。
2024-09-18 23:17:26 2138
原创 MATLAB系列07:稀疏矩阵、单元阵列和结构
一个结构也是一种数据类型,它的每一个元素都有一个名字。我们称结构中的元素为域。单个的域可以通过结构名和域名来访问,用句号隔开。
2024-09-18 23:15:03 1363
原创 MATLAB系列05:自定义函数
MATLAB 有一个专门的机制,在建立最终的程序之前用于独立地开发与调试每一个子程序。每一个子程序都可以独立函数的形式进行编程,在这个程序中,每一个函数都能独立地检测与调试,而不受其他子程序的影响。良好的函数可以大大提高编程的效率。它的好处如下:子程序的独立检测每一个子程序都可以当作一个独立的单元来编写。在把子程序联合成一个的大程序之前,我们必须检测每一个子程序以保证它运转的正确性。代码的可复用性在许多的情况下,一个基本的子程序可应用在程序的许多地方。
2024-09-17 09:15:27 909
原创 MATLAB系列04:循环结构
循环(loop)是一种 MATLAB 结构,它允许我们多次执行一系列的语句。循环结构有两种基本形式:while 循环和 for 循环。while的循环次数是不能确定的,for的循环次数是确定的。
2024-09-16 10:23:39 2502
原创 MATLAB系列03:分支语句和编程设计
所谓的自顶向下的编程方法,本质上就是编写程序的视角从整体的宏观性逐层进入具体的微观性的一种编程思想。我们编写程序时一开始不用思考得事无巨细,把所有细节都想清楚;也不要面条式的想到哪里写到哪里。而应该是自顶向下的,从一个大的粗的核心的任务开始,逐级细分,最后再完成最底层的具体实现。清晰地陈述出你要解决的问题。确定程序所需地输入量和程序所产生的输出量。为你的程序设计算法将算法转化为 MATLAB 语句调试MATLAB语句。
2024-09-16 10:21:11 1066
原创 MATLAB系列02:MATLAB基础
MATLAB 用一种特殊的复杂形式来存储数据,包括了许许多多的细节,例如变量名和变量类型,数组的大小,以及所有变量值。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号, 括号内是这个数据所对应行标和列标。在MATLAB中,是区分字母大小的,要小心使用。这个函数一般情况下返回输入向量中的最大值,但是它返回的第二个参数是输入向量中的最大值在向量中的位置。赋值语句有分号和没有分号的区别:如果赋值语句后面没有分号,变量值会自动显示在命令窗口,如果有分号,将会中止变量值在命令窗口的重复。
2024-09-14 22:38:49 2085
原创 MATLAB系列01:MATLAB介绍
MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。MATLAB 程序执行 MATLAB 语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作变得简单高效。
2024-09-14 22:36:07 1339
原创 数学建模笔记—— 回归分析
在统计学中,回归分析( regression analysis)指的是确定俩种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;按照因变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器) 之间的关系。这种技术通常用于预测分析以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的
2024-09-11 19:01:38 1906
原创 数学建模笔记——动态规划
动态规划的基本想法就是将原问题转换为一系列相互联系的子问题,然后通过逐层地推来求得最后的解。目前,动态规划常常出现在各类计算机算法竞赛或者程序员笔试面试中,在数学建模中出现的相对较少,但这个算法的思想在生活中非常实用,会对我们解决实际问题的思维方式有一定启发。你有三种硬币,分别面值2元、5元和7元,每种硬币都有足够多,买一本书需要27元,如何用最少的硬币组合起来正好付清,不需要对方找钱。虽然我们不知道最优策略是什么,但是最优策略肯定是有k校硬币,,除了这枚硬币,前面的面值加起来是。状态转移方程:对于第。
2024-09-11 18:57:44 1451
原创 数学建模笔记—— 多目标规划
多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为 MOP(multi-objective programming)。多目标规划的概念是 1961年由美国数学家查尔斯和库柏首先提出的。多目标最优化思想,最早是在1896年由法国经济学家V.帕雷托提出来的。他从政治经济学的角度考虑把本质上是不可比较的许多目标化成单个目标的最优化问题,从而涉及了多目标规划问题和多目标的概念。
2024-09-10 22:13:06 2554
原创 数学建模笔记—— 蒙特卡罗法
蒙特卡罗法又称统计模拟法,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名。
2024-09-10 22:10:45 1505 1
原创 数学建模笔记—— 最大最小化规划模型
在实际问题中也有许多求最大值的最小化问题, 例如急救中心选址问题就是要规划其到所有地点最大距离的最小值,在投资规划中要确定最大风险的最低限度等,为此,对每个。设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小,由于道路网与坐标轴平行,彼此正交,故采用沿道路行走计算距离,可知每个需求点。),道路网与坐标轴平行,彼此正交,现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在。界于[4,10]的范围之内,问该中心应建在何处为好?的最大值,然后再求这些最大值中的最小值。
2024-09-09 20:05:19 1451
原创 数学建模笔记—— 整数规划和0-1规划
在规划问题中,有些最优解可能是分数或小数,但对于某些具体问题,常要求某些变量(全部或部分)的解必须是整数。例如,当变量代表的是机器的台数,工作的人数或装货的车数等。由于只有一辆最大载重为30t的货车能用来运送货物,所以只能选择部分货物进行运送,要求觉得运送哪些货物,使得这些货物的总利润最大。特殊的整数规划,matlab中也只能求解线性0-1规划,对于非线性0-1规划也只能求近似解。matlab可进行求解,在线性规划的基础上,加入决策变量取整数的条件。无特定算法,只能用近似算法,如蒙特卡罗模拟,智能算法。
2024-09-09 20:02:40 1982
原创 数学建模笔记—— 非线性规划
非线性规划这一方法在工业、交通运输、经济管理和军事等方面有广泛的应用,特别是在“最优设计”方面,它提供了数学基础和计算方法,因此有重要的实用价值。(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数为多大?若不存在某种约束,可以用”[]“代替,若后面全为"[]“且option使用默认,后面的”[]"可以省略。的选取非常重要,因为非线性规划的算法求解出来的是一个局部优化解。不同的算法有其各自的优缺点和适用情况,我们可以改变求解的算法来对比求解的结果。
2024-09-08 20:19:30 2297
原创 数学建模笔记—— 线性规划
特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。线性规划(Linear programming,简称LP),是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,是辅助人们进行科学管理的一种数学方法,是研究线性约来条件下线性目标函数的极值问题的数学理论和方法。考虑到投资越分散, 总的风险越小,公司确定,当用这笔资金购买若干种资产时,总体风险可用所投资的。的一笔相当大的资金可用作一个时期的投资。
2024-09-08 20:12:47 2034
原创 数学建模笔记—— 主成分分析(PCA)
主成分分析是对于原先提出的所有变量,将重复的变量(关系紧密的变量)删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,且这些新变量在反映课题的信息方面尽可能保持原有的信息。因此,人们会很自然地想到,能否在相关分析的基础上,用较少的新变量代替原来较多的旧变量,而且使这些较少的新变量尽可能多地保留原来变量所反映的信息?我们可以把多种指标中综合成几个少数的综合指标,做为分类的型号,将十几项指标综合成3项指标,一项是反映长度的指标,一项是反映胖瘦的指标,一项是反映特殊体型的指标。怎么找到新的维度呢?
2024-09-07 12:39:07 4739
原创 数学建模笔记—— 灰色关联分析[GRA]
所谓关联分析,就是系统地分析因素。回答的问题是:某个包含多种因素的系统中,哪些因素是主要的,哪些是次要的;哪些因素影响大,哪些因素影响小;哪些因素是明显,哪些因素是潜在的。哪些是需要发展的;哪些需要抑制。要求大量数据,数据量少难以找到统计规律要求分布是典型的(线性的、指数的或对数的),即使是典型的并非都能处理计算工作量大,一般需要计算机帮助有时可能出现反常情况,如正相关则断为负相关,以至正确现象受到歪曲和颠倒。
2024-09-07 12:37:03 2360
原创 数学建模笔记—— 模糊综合评价
1965年,美国著名计算机与控制专家查德(L.A.Zadeh)教授提出了模糊的概念,并在国际期刊《Information and Control》并发表了第一篇用数学方法研究模糊现象的论文“Fuzzy Sets”(模糊集合),开创了模糊数学的新领域。模糊是指客观事物差异的中间过渡中的“不分明性”或“亦此亦彼性”。如高个子与矮个子、年轻人与老年人、热水与凉水、环境污染严重与不严重等。在决策中,也有这种模糊的现象,如选举一个好干部,但怎样才算一个好干部?好干部与不好干部之间没有绝对分明和固定不变的界限。
2024-09-06 12:15:10 3207
原创 数学建模笔记——熵权法(客观赋权法)
熵权法,物理学名词,按照信息论基本原理的解释,信息是系统有序程度的一个度量,熵是系统无序程度的一个度量;根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大,该指标对综合评价的影响(即权重)就越大,如果某项指标的值全部相等,则该指标在综合评价中不起作用。因此,可利用信息熵这个工具,计算出各个指标的权重,为多指标综合评价提供依据。另一种表述:越有可能发生的事情,信息量越少。越不可能发生的事情,信息量就越多。其中我们认为 概率 就是衡量事情发生的可能性大小的指标
2024-09-06 12:12:29 2332
原创 数学建模笔记——TOPSIS[优劣解距离]法
C. L.Hwang和 K.Yoon于1981年首次提出 TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution),可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
2024-09-05 10:36:10 967
原创 数学建模笔记——层次分析法
层次分析法( Analytic Hierarchy Process,简称 AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。
2024-09-05 10:24:27 1130
原创 07.立创梁山派GD32移植OV2640摄像头
由于项目需要通过摄像头获取图像输入,因此需要连接摄像头。这里我们选用的是OV2640,参考商家给出的资料,将其移植到梁山派中。OV2640 是 OV(OmniVision)公司生产的一颗 1/4 寸的 CMOS UXGA(1632*1232)图像传感器。该传感器体积小、工作电压低,提供单片 UXGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制,可以输出整帧、子采样、缩放和取窗口等方式的各种分辨率 8/10位影像数据。
2024-06-03 19:20:18 1333
原创 06.ESP8266作为web服务器,用PyQt5编写上位机进行通讯
为了将数据传到上位机,可以用ESP01S模块开启热点,并建立web服务,然后电脑端通过连接热点,访问相应的地址即可获得数据。Qt是一组C++库和开发工具,包括平台 图形用户界面、网络、线程、 正则表达式、SQL 数据库、SVG、OpenGL、XML、用户和应用程序 设置、定位和定位服务、短程通信(NFC 和蓝牙)、网页浏览、3D 动画、图表、3D 数据可视化和 与应用商店对接。PyQt5 实现了 1000 多个这样的类作为 Python 模块集。
2024-05-22 00:48:56 1113 2
原创 05.ESP01s开发环境的配置以及和立创梁山派GD32建立通信
由于需要将识别的结果传输到上位机,这里使用ESP01s模块,开发方式选择Arduino+VScode+PlatformIO。同时GD32和ESP01s之间采用串口通讯。ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266EX的低功耗UART-WiFi芯片模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。
2024-05-21 01:33:47 1308 1
原创 04.立创梁山派GD32移植ZBar库
为了在GD32中实现二维码解码的功能,我们需要通过移植二维码识别库来进行解码。二维码检测有许多开源的检测库,如BoofCV,OpenCV,Quirc,ZBar和Zxing等开源库,我们这里选择ZBar进行移植。根据README文件的描述翻译过来就是:ZBar Bar Code Reader是一款用于阅读条码的开源软件套件来自各种来源的代码,例如视频流、图像文件和原始数据强度传感器。它支持EAN-13/UPC-A、UPC-E、EAN-8、Code 128、
2024-05-20 17:42:08 1211 1
原创 03.立创梁山派GD32移植TFT-LCD屏幕,软硬件SPI的实现
根据项目需求,需要实现显示二维码识别后的结果,显示菜单等功能,因此需要移植屏幕,我选用的是1.8寸的LCD屏幕,采用SPI通信协议,共8个引脚,参考商家给出的中景园stm32例程和手册,将屏幕移植到GD32上。LCD屏幕的外观如图引脚定义如图SPI(Serial Peripheral Interface)是一种同步串行通信协议,用于在微控制器和外部设备之间进行数据传输。它由一个主设备(通常是微控制器MCU)和一个或多个从设备组成,即一主多从模式。
2024-05-20 08:46:48 1749 2
原创 02.立创梁山派GD32的串口发送以及使用DMA进行串口接收
本节根据嘉立创给出的入门手册进行串口的配置,并加入自己的理解和注释。串口是电脑与MUC进行通讯的重要手段,因此在工程开始之前配置好串口对后面的调试有很大的便利。串口是指外设和处理器之间通过数据信号线、地线和控制线等,按位进行传输数据的一种通讯方式。尽管传输速度比并行传输低。但串口可以在使用一根线发送数据的同时用另一根线接收数据。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验位,这些参数在两个通信端口之间必须一致。
2024-05-19 19:21:17 2287 1
原创 01.立创梁山派GD32项目工程的建立及相关环境配置
本小节记录项目工程的建立过程,以及如何使用vscode与keil协同开发GD32程序,如何建立git本地仓库进行版本管理,如何将本地仓库与GitHub远程仓库链接,如何使用命令行和vscode提交代码,推送更改。
2024-05-19 19:05:03 1561 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人