- 博客(55)
- 资源 (6)
- 收藏
- 关注
原创 Matlab编程示例24:freexyn在b站的读取手写体mnist数据集的matlab代码
简单来说(详细来说,看视频66.35),源文件中前面几行数据是简单介绍的信息,在数据提取时应该跳过,后面的数据按照一定的规律,循环表达图片或者标签的数据,在数据读取的时候,要按照规律一组一组的提取数据,并按照预期的图片或标签数据结构进行重构,得到最终直接表达图片或者标签的数据。简单来说(详细来说,看视频66.35),这是一种类似二进制格式的数据,为什么使用这种格式,我想可能是为了压缩数据大小,方便下载和传输吧,如果直接使用图片存储格式,7万张图片的压缩包有多大,大家自己考虑下哈。
2024-10-05 21:09:13 1009
原创 Matlab自学笔记三十七:日期时间型的概念、分类和创建方法
CalendarDuration型,表示基于日历时间的日期时间的持续长度,calendarDuration表示时间段,以可变长度为单位的持续时间,例如:1个月,可能是28,29,30或31天,calendarDuration数据类型也考虑夏令时和平闰年的变化,使1天可能多于或少于24小时,1年能有365或366天。t = datetime(2018,2,4,16:17,0,0) %时间序列。t = datetime(2018,2,4,16,0,0) %年月日时分秒。
2024-09-23 21:10:34 482
原创 Matlab自学笔记三十六:日期时间型的概念及其简单应用
datetime(t,'Format','y-MM-dd HH:mm:ss eeee') %y M d H m s e分别代表年、月、日、时、分、秒、星期。(1)Datetime型,表示日期时间点,是存储日期和时间数据的主要方法,它支持算术运算,排序,比较,绘图和格式化显示;t=datetime(2018,8,8,12,0,0) %输入参数为:年、月、日、时、分、秒。duration(d,'Format','m') %m表示分钟,另外,h表示小时、s表示秒。
2024-09-17 08:44:28 429
原创 Matlab自学笔记三十五:表table数据与外部文件的读入和写出
stu.chengji=[stu.chengji_1,stu.chengji_2] %上面写出再读入后,多列数据自动拆分,下面把拆分后的数据恢复成原先数据。writetable(t,'student.txt') %使用writetable函数写出数据到txt文件。stu=readtable('student.txt') %从txt文件读入数据,赋值给变量stu。writetable(t,'student.xls') %再次写出数据,这次写出到Excel文件。
2024-09-08 20:09:24 373
原创 Matlab自学笔记三十四:表table的排序、查找、提取、删除、计算、与结构数组的转换
c=table2cell(t) %表格转换为元胞数组后,变量名称消失,变量值转换为元胞数组,其中多列的双精度值会自动拆分为多个单列表示。s=table2struct(t) %表格转换为结构数组后,每一行都变为1个元素,因此是3行1列的结构数组。sortrows(t,'xingming') %按行排序,表格t按字段'xingming’按字母升序。t(tf,:) %使用tf作为逻辑索引,索引表格中符合条件的学生的信息。t(:,[1 2 4 3]) %用索引排序:任意行,列将3和4列互换。
2024-08-25 21:38:54 381
原创 Matlab自学笔记三十三:表table类型数据的创建、索引和自身属性的用法
表(table)具有容器特性的数据类型,可以方便的存储混合类型的数据,可以使用数字或命名索引访问数据以及元数据(例如变量名称,行名称,描述和变量单位等);表的索引方法有两种,下标索引和字段索引,在Matlab中,表类型变量创建之后,自动生成该变量的相关属性,例如变量名称,行名称,描述和变量单位等,这些变量一般称为元数据,访问和索引表的属性使用内置字段名.Properties,程序示例如下
2024-08-15 07:24:54 1124
原创 Matlab自学笔记三十二:结构数组的连接、嵌套、引用变量值和访问字段值
结构数组的连接结构数组必须具有相同的字段名才能连接,元素数目可以不同,某一元素添加字段,其他所有元素也具有了该字段,默认值为[],程序示例如下,嵌套,理解:创建字段名stu,并把原结构数组stu作为字段值赋值给该字段名。给结构数组student的第1个元素student(1)添加stu字段,其他所有元素(如student(2))也会具有该字段,将多字段值存储在同一矩阵中,则先将字段值提取再矩阵连接。要求字段值数据类型相同,横纵连接符合矩阵连接的维度要求
2024-07-07 10:01:25 939
原创 Matlab自学笔记三十一:结构数组的创建、索引和预分配内存
使用struct函数创建,示例:数组名=struct(‘字段名’,‘字段值’...),注意字段名和字段值成对排列,字段值未指定时使用默认值为[](默认为空矩阵,与元胞数组相同)。首先介绍一个概念,前面已经说过,结构数组创建的时候使用圆点,使用圆点的访问某一字段的索引叫做字段索引,这是结构数组特有的索引方式,数组索引。上述是最简单的结构数组,仅包含一个元素,结构数组还可以包括多个元素,创建方法在上面的基础上,继续添加元素即可,添加时使用数组索引。
2024-06-16 21:33:49 936
原创 Matlab自学笔记三十:元胞数组的修改、添加、删除和连接
'a',["a","b"],[]} %理解:元胞数组是大箱子,用大括号表示,内部的元素是盒子,盒子也是元胞型,盒子与箱子遵循Matlab预设规则,打开盒子往里面装内容,内容可以是任意大小任意格式的内容。元胞数组的子数组或元素也是元胞型的,其元素内容(值)是本身类型,因此,在添、删、改和连接处理时,必须明确每个元素的值的类型和大小,否则,编程报错是不可避免的了。(2)大括号{},连接后组成更大的元胞数组,特点是,连接的数组可以是任意类型和任意大小,缺点是,数据的运算和处理等不如矩阵数组那样灵活;
2024-05-25 22:21:19 1841
原创 Matlab自学笔记二十九:元胞数组的创建、索引和转换方法
举例说明,元胞数组c={1,’abc’},这是1*2的元胞数组,包含2个元素,查找第二个元素使用索引c(2),返回{‘ab’},它是一个1*1的元胞数组,如果使用大括号索引c{2},返回’ab’,它是一个1*2的字符向量;2行用回车分割,或用分号分割。mat2cell(m,1) %第2个参数1表示1行1列元胞数组,将整个矩阵看做元胞数组元素。mat2cell(m,1,[1 1]) %第3个参数指定了列数为2列,每列个数分别为1。b{1,1:3} %索引1行1-3列元素,未指定输出变量,默认ans。
2024-04-14 22:09:17 1786
原创 freexyn视频教程目录及课件讲义文档获取(下载链接)
freexyn编程实例视频教程涵盖了Matlab基础入门、解方程、微积分、解微分方程、插值、优化、拟合、灰色理论、最近邻、K均值、决策树、SVM支持向量机、科学绘图与动画、文件数据导入写出、脚本函数编程、界面编制GUI和app designer、图片/图像数据提取(坐标、长度、角度、圆心、半径),神经网络基础和拟合、深度学习卷积神经网络、遗传算法、粒子群算法、模拟退火算法、以及答疑典型纠错案例汇总等内容,目前还在不断更新中。想要精通Matlab编程?47.1/Matlab遗传算法/概念/原理/编程演示。
2024-04-08 21:48:11 299
原创 Matlab自学笔记二十八:总结|字符型与数值型的转换函数(汇总最全)
base2dec('10',2) %任意进制转换为十进制:'10'为转换数值,2为二进制。%str2num(["100","100"]) %该函数无法将字符串数组转换为数值型。num2str(100,'%5.2f') %格式化文本,单引号中进行设置。uint16('ab') %字符'ab'转换为16位整型的整数。base2dec('10',8) %八进制的10转化为十进制。uint8('ab') %字符'ab'转换为8位整型的整数。str2num('100') %字符向量转换为数值型。
2024-03-12 07:55:29 836
原创 Matlab自学笔记二十七:详解格式化文本sprintf各参数设置方法
格式化操作符可以有六个字段,只有主字符%和转换格式是必需的,其他都是可选的
2024-02-25 21:54:43 1321
原创 Matlab自学笔记二十六:sprintf函数用法简介
格式设置的含义:每行起始为竖线|,%是必须的字段,f代表浮点型,将浮点型值转化为文本,\n为转义符代表回车。%第一个输入参数,使用单引号字符数组作为数据类型,每个%开头表示一组格式,此处,3组格式设置对应3个值;当普通文本和数值需要按照特定格式显示和输出时,会用到格式化文本,常用函数为sprintf。格式化文本,是具有特定显示格式的文本形式,包括字段宽度、显示精度、特殊标志和辅助符号等;%第一个输入参数为格式设置,第二个输入参数为对应的数值;%8.2总长度8,小数点后保留2位,长度不够时按实际长度。
2024-01-28 21:06:20 877
原创 Matlab自学笔记二十五:字符串的拆分和连接、换行符的使用
字符串的连接和拆分涉及到四个函数:strjoin和join、strsplit和split,用法的区别在下面程序示例中说明,字符串拆分时,若不指定分隔符,默认在空白字符处拆分,空白字符等效于集合 {' ','\f','\n','\r','\t','\v'} 中的任何转义字符,程序示例:clear,clc"艾萨克 es牛顿"]%连接、拆分names1 = split(names) %在空白字符处拆分字符串join(names1) %添加空格按行连接。
2024-01-13 21:53:55 2948
原创 Matlab自学笔记二十四:字符串的关系运算和比较
strncmpi("abcd","abCD",2) %比较字符串的前n个字符(不区分大小写)["56789","A895","ab7cd9"]
2023-11-17 22:24:54 613
原创 Matlab自学笔记二十三:字符串的提取、替换、插入和删除
提取分为三种情况:提取某字符之前的所有字符使用extractBefore函数,提取某字符之后的所有字符使用extractAfter函数,提取两个字符之间的所有字符使用extractBetween函数,程序示例如下
2023-10-06 20:37:17 2369
原创 Matlab编程示例3:Matlab求二次积分的编程示例
中,首先声明了符号变量x和y,然后定义了要积分的函数f。接下来,使用int函数计算二次积分,其中第一个参数是要积分的函数,后面的参数是积分变量和积分区间。最后,使用disp函数显示结果。根据需要修改函数f和积分区间,以适应具体的问题。这个示例是在二维空间中进行二次积分,也可以进行一维或三维的积分,只需相应地修改变量和函数的定义即可。,可以使用符号计算工具箱(Symbolic Math Toolbox)中的int函数来求解二次积分。% 定义要积分的函数。
2023-08-13 22:05:32 687
原创 Matlab自学笔记二十二:字符串的大小写转换、排序、倒序、统计和查找,判断是否以给定的字符起始
字符串的大小写转换,使用lower函数和upper函数,字符串的排序和倒序使用sort函数和reverse函数,另外还有一个sortrows函数是按行排序,统计字符串中某个字符出现的频次,使用count函数,查找和判断字符串中是否包含某个字符使用contains函数,查找和判断字符串中是否以某个字符开始使用startsWith函数,以某个字符结尾使用endsWith函数
2023-07-02 20:31:51 1078
原创 Matlab编程示例2:查找一组数据中不重复数据的编程示例 如何查找一组数据中的唯一值,如何提出一组数据中的重复值
在 MATLAB 中,可以使用 unique 函数来识别一列中的相同数据。unique 函数返回输入数组中的唯一值,并按升序排列。如果仅关心相同数据的识别,你可以使用该函数的两个输出参数。程序示例如下
2023-06-25 21:36:54 426
原创 Matlab求解一元高次方程的编程示例
使用Matlab求解一元高次方程时,可以使用roots函数。roots函数接受一个多项式的系数向量作为输入,然后返回方程的根。以求解x^2 - 3x + 2 = 0方程为例,下是一个求解一元高次方程的示例代码
2023-06-18 22:37:04 1242
原创 Matlab自学笔记二十一:字符串的转换、缺失字符串的创建和应用
常见的,大家在读取外部文件(例如Excel表格)数据的时候,如果是数值和文字混合类型的,那么读取后要进行处理,数值的运算就不罗嗦了,那么,文字的处理,例如合并、提取字符、删除列、查找类别等,都会用到字符或者字符串类型的处理,在本文以及前后相关文章中都会一一讲到。string(missing)==string(missing) %缺失值与任何数值比较都为假,除特例比较不相等。string(missing)+string(missing) %结果为缺失值。char("100") %字符串型转化为字符型。
2023-05-28 21:30:47 459
原创 Matlab自学笔记二十:字符串型数据:创建、比较、索引和运算
字符串数组是由多个字符串作为元素组成的数组,从Matlab2016b开始,可以使用字符串类型数据,从2017a开始,可以使用双引号创建字符串;s(2,3)="x" %扩展为2行3列的数组,并将第2行第3列元素赋值为''x''s=["123","abcd";"自由未知数","%$%#"] %创建字符串数组。"自由未知数","%$%#"]"ab"] %字符串纵向连接-变为字符串数组。["123","ab"] %字符串连接-变为字符串数组。
2023-05-21 21:02:31 587
原创 Matlab自学笔记十九:多类型数据混合连接和运算的结果类型
众所周知,Matlab有很多数据类型,包括浮点型、整型、字符型、逻辑型等;现在的问题是,Matlab多类型进行运算和连接后,结果是什么类型呢?
2023-05-14 21:40:27 209
原创 Matlab答疑篇二十六:最近大家学习课程45深度学习卷积神经网络编程遇到的问题
GPU内存不足。请尝试使用trainingOptions函数减少’MiniBatchSize’。设置类’Text’的属性’String’时出错:值必须为字符数组、数值数组或元胞数组。出错title(line50),set(h,’String’,string,pvpairs{:});Failed to initialize the cuDNN handle.Return code was CUDNN_ STAUS_ INTERNAL_ ERROR.
2023-05-08 21:42:08 434 4
原创 Matlab答疑十:循环语句中变量有下划波浪线提示怎么办
对于上述问题,a变量在每次循环迭代中,元素数量会逐渐变多,因此,可能面临分布式内存,影响程序运行效率,因此出现波浪线警告(但不影响运行);解决方法,添加一行程序,根据for循环大小,初始化出a的全部大小;
2023-04-30 21:19:34 480
原创 Matlab自学笔记十八:字符数组中字母、空格、大写、小写、数字、标点符号的识别和处理,删除尾随空格
判断字符数据中的字母和空格,把字符串中的空格剔除删掉,判断字符串中的字母、小写字母、大小字母,判断字符中的数字、标点符号、空格,空字符的处理:调整位置、剔除、删除尾随空格
2023-04-23 21:15:05 2093
原创 Matlab自学笔记十七:字符型数组、创建、判断和索引方法,集合运算、与数值型转换方法、运算、程序示例
字符型(Characters)数据一般用来存储和处理文本数据,字符数组是一个字符序列,字符向量把字符存储为1乘n的向量,是常用形式,在Matlab中有两种表示文本的方法:字符型和字符串型,本文先介绍字符型数组的创建、连接、转换和运算等内容;创建字符型数组使用一对单引号 '',判断一个变量是否为字符型数据使用函数ischar;水平连接使用strcat函数,竖直连接使用strvcat函数
2023-04-16 22:31:12 867
原创 Matlab自学笔记十六:如何设置数值显示格式、小数的显示位数
Matlab命令行窗口中的数值的显示格式,数值格式仅影响数字显示在命令行窗口输出中的方式,而不影响Matlab计算或保存它们的方式,使用函数format指定的显示格式仅应用于当前 Matlab会话,若Matlab关闭后重新打开,将恢复默认设置;当然,可以通过修改“预设”,改变Matlab显示数据的默认方式,但一般不建议这样做,平常的编程应用中,通过format函数临时修改数据的显示格式,或者小数的显示位数
2023-04-09 21:11:35 2829 1
原创 Matlab答疑篇二十:定义的function使用工作区变量a时为什么报错?这是一个典型的参数传递问题
在Matlab中,工作区的变量,一般是在命令行窗口或者脚本文件中创建出来的,此外,还存在一种程序代码的组织形式,叫做函数文件,必须强调,函数工作区和基础工作区是不相通的,也就是说,两者的变量不能相互直接使用,相互使用的方法是:参数传递。方法是:在命令行窗口或者脚本环境中,调用这个函数进行运算,生成的输出参数就在基础工作区,相反,如果需要把基础工作区的变量传递给函数
2023-02-12 10:55:50 1934 1
原创 自学笔记十五:详谈Matlab中的Inf和NaN是什么鬼?
众所周知,数学上表达无穷大使用符号“∞”,在Matlab中,用特殊字符“inf”表示无穷大,比如零除和溢出等这样的运算会产生无穷大,这导致结果太大而不能用传统的浮点值表示;用特殊字符“NaN”表示既不是实数也不是复数的“非数字”的值,例如,当把Excel文件中的数据读取到Matlab中时,若只读取数值型数据,那么数据中的缺失值自动使用NaN来表达;
2023-02-05 15:46:08 4981
原创 Matlab答疑六:随着温度(应力、热量)变化,颜色也相应变化的图,怎么画?就像下面这种图
一组数据如何与图像的颜色联系起来,这样,图像的颜色才能随着数据的变化而相应变化;温度数据t,及其对应的坐标点数据x和y,如果没有坐标点数据,那么可以使用温度数据t的自然位置索引代替;简言之,对于本题目,可以使用曲面绘图函数surf,并通过该函数的第四个参数设置颜色数据
2023-01-10 21:41:53 376
原创 Matlab答疑十八:绘制surf曲面图首先建立网格数据的方法
曲线图,在Matlab里的绘图函数是plot3,用法是输入三个维度的坐标数据(x,y,z)即可;注意,这里的三维坐标数据的格式必须满足:每个变量(x、y、z)都是列向量;在Matlab里,曲面图使用函数surf,用法是输入三个维度的坐标数据(x,y,z),与上面有所差别的是,这里的三维坐标数据的格式必须满足:每个变量(x、y、z)必须是矩阵,也就是建立好的网格数据点;
2023-01-02 13:51:20 1197 2
原创 自学笔记十四:Matlab浮点型:创建和转换、取值范围、运算和精度问题
浮点型分为单精度(single)浮点型和双精度(double)浮点型;创建双精度浮点数使用double函数,创建单精度浮点数使用单精度single函数;测试浮点型数据的取值范围最大值和最小值分别使用realmax和realmin函数;判断是否为浮点型使用isfloat函数,测试一个变量的数据类型使用class函数;由于计算机只能以有限的精度表示数字(双精度要求52个尾数位),对于数值运算,这种浮点型表示值与其真实值存在微小的差异;
2022-12-25 15:27:47 4285
原创 Matlab自学笔记十三 数据类型:整型,创建方法、取值范围、整型运算、常用函数、程序示例
Matlab创建和使用变量,不需提前声明,默认使用的浮点类型数据,基本上做各种常规运算和编程都是没有多大问题的;这里我们先从最基本的数值型:整型,Matlab支持整数数据的1个,2个,4个和8个字节的存储,再分为有符号和无符号,总共8个整型类别,测试整型数据的取值范围最大值和最小值分别使用intmax和intmin函数,整型数据似乎用的比较少,但是对于一些特定应用场景,例如图片,使用imread把图像数据读取到Matlab中,表达数据的格式就是整型数据,图像数据使用像素点阵表达,使用整型数据可以节省内存。
2022-12-18 14:45:48 1327
原创 Matlab自学笔记十二:运算符的优先级、不同数组大小的运算兼容性
在Matlab中,可以任意组合使用算术运算符、关系运算符和逻辑运算符等形成的表达式进行运算,Matlab进行运算处理的顺序取决于每个运算符的优先级;Matlab中运算符的优先级是指,当多种运算符组合使用时,优先运算的顺序,运算符优先级越高,将优先运算;如果多个运算符具有相同的优先级(例如加法和减法),那么按照表达式从左到右进行运算处理;我们知道,两个完全相同大小的数组可以运算;若运算数其中之一是标量的两个大小不同的数组可以运算;若一个是行向量,一个是列向量,可以运算;若一个是矩阵,一个是具有相同行数
2022-12-12 20:53:56 1216
原创 Matlab自学笔记十一:关系运算、运算符、复数、空矩阵的关系运算、查找矩阵中的特定元素
关系运算(relational)使用“小于”,“大于”和“不等于”等运算符,定量地比较运算数,比较的结果是一个逻辑数组,关系为真时返回1,关系为假时返回0;复数包括实部和虚部,对于等于“==”和不等于“~=”,同时判断实部和虚部是否相等;对于非等于(大于、大于等于、小于、小于等于),仅比较实部,忽略虚部;判断一个数值是否等于无穷大(Inf)或者非值(NaN),不是使用运算符“==”,而是使用特定的函数:isinf和isnan;实例:查找矩阵中的特定元素。
2022-12-04 21:03:30 366
原创 Matlab自学笔记十:逻辑型数据、逻辑运算、逻辑变量的创建、应用、真值表、常用函数、程序示例
逻辑型(logical)数据是用数字1和0分别表示真(true)或假(false)的状态;Matlab中一些运算会返回逻辑值,表示一个条件是否被满足,可以使用这些逻辑值来索引数组或执行条件代码,例如IF条件语句的用法;在Matlab中,把数值型矩阵转换成逻辑型矩阵时,数值0为假,非0数值为真;寻找并提取变量a=[0 1 2 -1]中所有的偶数;判断是否全为真all;判断是否存在逻辑真any
2022-11-27 21:20:39 1551
原创 Matlab自学笔记九:算术运算、数组运算、矩阵运算、运算符、常用函数、程序示例
算术运算(arithmetic)主要指加减乘除、幂和舍入等运算;Matlab有两种不同类型的算术运算:数组运算和矩阵运算;数组运算,是基于元素的运算,也就是我们平时常用的四则运算法则,它支持任意维度的矩阵和多维数组;矩阵运算,是指矩阵乘法、矩阵除法等,遵循矩阵运算的基本规则:前一个矩阵的列数等于后一个矩阵的行数,它仅支持二维形式的矩阵;
2022-11-20 14:24:31 406
原创 Matlab自学笔记八:多维数组、高维数组的概念、索引方法、常用函数、维度简化
Matlab中具有多于两个维度的数字阵列被称为多维数组;多维数组是普通二维矩阵的扩展;下面以三维数组说明(四维以上的数组同理);如图,为3*3*2的三维数组(维度名称分别为行、列、页面);高维数组有多个维度,在Matlab命令行窗口显示数据只能是二维数字阵列,因此,高维数组的显示方式是,分离成若干个二维阵列;多维数组的数组特征(大小、维度等)与矩阵的用法一致;
2022-11-13 15:23:13 1258
《freexyn编程实例视频教程系列36 Matlab GUI教程》文档讲义
2022-12-25
《freexyn编程实例视频教程系列37 Matlab AppDesigner》课程文档
2022-12-25
《Matlab编程实例视频教程系列33:Matlab 导入导出》文档讲义
2022-08-17
《Matlab编程实例视频教程系列22:Matlab优化专题》课程文档
2022-08-17
《Matlab编程实例视频教程系列 31:Matlab作图与动画 ( 绘图 )》课件讲义
2022-08-17
freexyn编程实例视频教程系列47:Matlab与遗传算法(作者:freexyn)
2022-08-14
Matlab编程实例视频教程系列43:神经网络入门和拟合(作者:freexyn)
2022-08-14
freexyn编程实例视频教程系列1:Matlab基础入门(PDF课件讲义)
2022-08-14
freexyn编程实例教程45 Matlab深度学习 PDF课件
2022-07-20
布匹缺陷检测-小样本数据集(很典型,附教程)
2022-07-16
CIFAR-10数据集(好用的子集,方便个人学习使用,附教程)
2022-07-16
MNIST数据集(已处理,Matlab直接使用)
2022-07-16
freexyndb数据集(长度预测/角度预测/颜色分类)
2022-07-10
Matlab编程实例视频教程课程文档PDF(作者:freexyn)
2022-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人