Matlab扫盲速成小短篇
文章平均质量分 68
freexyn
简约自由之风格(公号同名)
展开
-
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 · 300 阅读 · 0 评论 -
Matlab自学笔记三十三:表table类型数据的创建、索引和自身属性的用法
表(table)具有容器特性的数据类型,可以方便的存储混合类型的数据,可以使用数字或命名索引访问数据以及元数据(例如变量名称,行名称,描述和变量单位等);表的索引方法有两种,下标索引和字段索引,在Matlab中,表类型变量创建之后,自动生成该变量的相关属性,例如变量名称,行名称,描述和变量单位等,这些变量一般称为元数据,访问和索引表的属性使用内置字段名.Properties,程序示例如下原创 2024-08-15 07:24:54 · 902 阅读 · 0 评论 -
Matlab自学笔记:句柄、函数句柄、图像句柄(概念、用法、原理和区别)
句柄作为一种变量,它的特殊性在于,它指向的不是一个简单具体的值,而是一个结构体,这个结构体包含了很多可以读写的分支数据,一般称为属性或者方法,例如图窗类的句柄;函数句柄,它虽然也称为句柄,但用法上,基本不太使用他的属性(它好像也没有什么属性),而是指向函数表达式本身。...原创 2022-08-15 15:10:16 · 2335 阅读 · 2 评论 -
Matlab自学笔记二:创建函数文件、函数语法定义、匿名函数、多元函数、局部函数等知识串联理解
题目:创建函数y=x²+x+1function y = myfun(x) %函数定义行y=x²+x+1;%函数表达式end %函数结束说明:function是关键字,创建函数必须以该关键字开头;y是因变量,写在等号左边;myfun(x),是函数名,写在等号右边,其中x是自变量;y=x²+x+1,是函数表达式;end,是结束关键字,在单独的函数文件中可不写;...原创 2022-08-18 15:08:42 · 1856 阅读 · 0 评论 -
Matlab自学笔记三:创建脚本、M文件、运行脚本、注释、语法高亮、编程好习惯
脚本文件是包含一系列的命令和函数的程序文件,扩展名是.m,所以一般称为m文件,也简称脚本;它是Matlab里普遍的编程方式。原创 2022-09-19 22:35:44 · 6313 阅读 · 0 评论 -
Matlab自学笔记四:调用函数基本方法、传递参数、函数工作区、命令语法、调用匿名函数
[out1,out2]=function(input1,input2)说明,调用时,把输入参数括在小括号内,有多个输入参数时,用逗号分隔;有多个输出参数时,放入中括号内,用逗号分隔,如果不指定输入变量,则Matlab使用默认变量ans作为输入变量;函数工作区,是函数运行时产生的数据和变量的存储区;原创 2022-09-22 21:27:05 · 5639 阅读 · 0 评论 -
Matlab自学笔记五:创建矩阵、矩阵大小、维度、数目、空矩阵、标量、向量、创建矩阵的函数、数字序列
矩阵是一个二维的数据阵列;基本运算符:[],即,使用中括号把矩阵元素数据括起来,用逗号或空格分隔同一行的元素,用分号或回车键分隔不同的行;对于字符数据,例如'Hello World'这样的字符元素,看作是1×11的矩阵,每个字符表示一个矩阵元素;原创 2022-10-07 16:14:42 · 5497 阅读 · 0 评论 -
Matlab答疑:一个关于符号表达式写法的简单问题
sym函数是声明符号变量的,而创建符号表达式直接写表达式即可,有些同学一眼看到“出错 sym…”,立刻手足无措,以为sym函数出了问题,于是从这方面入手检查纠错,显然是非常错误的做法,大家必须明白,Matlab自带的函数是不会出错的,如果出错了,原因只有一个:你的用法错了。原创 2022-10-17 21:30:36 · 1978 阅读 · 1 评论 -
Matlab自学笔记六:矩阵索引的概念、下标索引、线性索引、逻辑索引、冒号和end索引、超出索引报错
如果矩阵是一个电影院,那么矩阵索引就是每个座位的编号,每个观众都可以通过这个编号找到自己的位置,同样的,通过矩阵索引可以找到每个元素的位置。索引方式是使用小括号,把行序号和列序号分别作为第一个和第二个参数,这种索引方式称为下标索引(也叫组合索引)。线性索引,同样使用小括号,把元素序号作为唯一的输入参数,这里的所说的元素序号是指,把矩阵所有元素按列优先排列成一字长蛇阵,某一元素排在第n个位置,那么序号就是n;原创 2022-10-23 21:34:48 · 1395 阅读 · 0 评论 -
Matlab答疑五:使用微分定义求解微分方程的数值解
解微分方程 dydt=sin(y)+t,其中t=0时y=0,并绘图。说明,一般对dydt的求解方法为:y(t+dt)=y(t)+dydt(t)*dt,除了题目给出方法:使用定义求解;还可以使用dsolve符号运算,以及使用ode45的数值解法;使用三种方法求解,并对比结果。原创 2022-10-30 14:46:03 · 860 阅读 · 0 评论 -
Matlab自学笔记七:矩阵元素的合并、连接、提取、翻转、排序、平铺复制、提取对角线元素
Matlab矩阵元素的操作:包括合并、连接、提取、翻转、排序、平铺复制、提取对角线元素;基本连接符:[],就是中括号;水平连接horzcat,垂直连接vertcat;平铺复制repmat;提取矩阵对角线元素函数:diag;提取上三角形元素triu;提取下三角形元素tril;元素重排reshape;排序sort;左右翻转fliplr;上下翻转flipud原创 2022-11-06 15:47:04 · 2208 阅读 · 0 评论 -
Matlab自学笔记八:多维数组、高维数组的概念、索引方法、常用函数、维度简化
Matlab中具有多于两个维度的数字阵列被称为多维数组;多维数组是普通二维矩阵的扩展;下面以三维数组说明(四维以上的数组同理);如图,为3*3*2的三维数组(维度名称分别为行、列、页面);高维数组有多个维度,在Matlab命令行窗口显示数据只能是二维数字阵列,因此,高维数组的显示方式是,分离成若干个二维阵列;多维数组的数组特征(大小、维度等)与矩阵的用法一致;原创 2022-11-13 15:23:13 · 1195 阅读 · 0 评论 -
Matlab自学笔记九:算术运算、数组运算、矩阵运算、运算符、常用函数、程序示例
算术运算(arithmetic)主要指加减乘除、幂和舍入等运算;Matlab有两种不同类型的算术运算:数组运算和矩阵运算;数组运算,是基于元素的运算,也就是我们平时常用的四则运算法则,它支持任意维度的矩阵和多维数组;矩阵运算,是指矩阵乘法、矩阵除法等,遵循矩阵运算的基本规则:前一个矩阵的列数等于后一个矩阵的行数,它仅支持二维形式的矩阵;原创 2022-11-20 14:24:31 · 390 阅读 · 0 评论 -
Matlab自学笔记十:逻辑型数据、逻辑运算、逻辑变量的创建、应用、真值表、常用函数、程序示例
逻辑型(logical)数据是用数字1和0分别表示真(true)或假(false)的状态;Matlab中一些运算会返回逻辑值,表示一个条件是否被满足,可以使用这些逻辑值来索引数组或执行条件代码,例如IF条件语句的用法;在Matlab中,把数值型矩阵转换成逻辑型矩阵时,数值0为假,非0数值为真;寻找并提取变量a=[0 1 2 -1]中所有的偶数;判断是否全为真all;判断是否存在逻辑真any原创 2022-11-27 21:20:39 · 1466 阅读 · 0 评论 -
Matlab自学笔记十一:关系运算、运算符、复数、空矩阵的关系运算、查找矩阵中的特定元素
关系运算(relational)使用“小于”,“大于”和“不等于”等运算符,定量地比较运算数,比较的结果是一个逻辑数组,关系为真时返回1,关系为假时返回0;复数包括实部和虚部,对于等于“==”和不等于“~=”,同时判断实部和虚部是否相等;对于非等于(大于、大于等于、小于、小于等于),仅比较实部,忽略虚部;判断一个数值是否等于无穷大(Inf)或者非值(NaN),不是使用运算符“==”,而是使用特定的函数:isinf和isnan;实例:查找矩阵中的特定元素。原创 2022-12-04 21:03:30 · 353 阅读 · 0 评论 -
Matlab自学笔记十二:运算符的优先级、不同数组大小的运算兼容性
在Matlab中,可以任意组合使用算术运算符、关系运算符和逻辑运算符等形成的表达式进行运算,Matlab进行运算处理的顺序取决于每个运算符的优先级;Matlab中运算符的优先级是指,当多种运算符组合使用时,优先运算的顺序,运算符优先级越高,将优先运算;如果多个运算符具有相同的优先级(例如加法和减法),那么按照表达式从左到右进行运算处理;我们知道,两个完全相同大小的数组可以运算;若运算数其中之一是标量的两个大小不同的数组可以运算;若一个是行向量,一个是列向量,可以运算;若一个是矩阵,一个是具有相同行数原创 2022-12-12 20:53:56 · 1194 阅读 · 0 评论 -
Matlab自学笔记十三 数据类型:整型,创建方法、取值范围、整型运算、常用函数、程序示例
Matlab创建和使用变量,不需提前声明,默认使用的浮点类型数据,基本上做各种常规运算和编程都是没有多大问题的;这里我们先从最基本的数值型:整型,Matlab支持整数数据的1个,2个,4个和8个字节的存储,再分为有符号和无符号,总共8个整型类别,测试整型数据的取值范围最大值和最小值分别使用intmax和intmin函数,整型数据似乎用的比较少,但是对于一些特定应用场景,例如图片,使用imread把图像数据读取到Matlab中,表达数据的格式就是整型数据,图像数据使用像素点阵表达,使用整型数据可以节省内存。原创 2022-12-18 14:45:48 · 1290 阅读 · 0 评论 -
自学笔记十四:Matlab浮点型:创建和转换、取值范围、运算和精度问题
浮点型分为单精度(single)浮点型和双精度(double)浮点型;创建双精度浮点数使用double函数,创建单精度浮点数使用单精度single函数;测试浮点型数据的取值范围最大值和最小值分别使用realmax和realmin函数;判断是否为浮点型使用isfloat函数,测试一个变量的数据类型使用class函数;由于计算机只能以有限的精度表示数字(双精度要求52个尾数位),对于数值运算,这种浮点型表示值与其真实值存在微小的差异;原创 2022-12-25 15:27:47 · 4098 阅读 · 0 评论 -
Matlab答疑十八:绘制surf曲面图首先建立网格数据的方法
曲线图,在Matlab里的绘图函数是plot3,用法是输入三个维度的坐标数据(x,y,z)即可;注意,这里的三维坐标数据的格式必须满足:每个变量(x、y、z)都是列向量;在Matlab里,曲面图使用函数surf,用法是输入三个维度的坐标数据(x,y,z),与上面有所差别的是,这里的三维坐标数据的格式必须满足:每个变量(x、y、z)必须是矩阵,也就是建立好的网格数据点;原创 2023-01-02 13:51:20 · 1065 阅读 · 2 评论 -
Matlab答疑六:随着温度(应力、热量)变化,颜色也相应变化的图,怎么画?就像下面这种图
一组数据如何与图像的颜色联系起来,这样,图像的颜色才能随着数据的变化而相应变化;温度数据t,及其对应的坐标点数据x和y,如果没有坐标点数据,那么可以使用温度数据t的自然位置索引代替;简言之,对于本题目,可以使用曲面绘图函数surf,并通过该函数的第四个参数设置颜色数据原创 2023-01-10 21:41:53 · 357 阅读 · 0 评论 -
Matlab答疑篇二十:定义的function使用工作区变量a时为什么报错?这是一个典型的参数传递问题
在Matlab中,工作区的变量,一般是在命令行窗口或者脚本文件中创建出来的,此外,还存在一种程序代码的组织形式,叫做函数文件,必须强调,函数工作区和基础工作区是不相通的,也就是说,两者的变量不能相互直接使用,相互使用的方法是:参数传递。方法是:在命令行窗口或者脚本环境中,调用这个函数进行运算,生成的输出参数就在基础工作区,相反,如果需要把基础工作区的变量传递给函数原创 2023-02-12 10:55:50 · 1814 阅读 · 1 评论 -
自学笔记十五:详谈Matlab中的Inf和NaN是什么鬼?
众所周知,数学上表达无穷大使用符号“∞”,在Matlab中,用特殊字符“inf”表示无穷大,比如零除和溢出等这样的运算会产生无穷大,这导致结果太大而不能用传统的浮点值表示;用特殊字符“NaN”表示既不是实数也不是复数的“非数字”的值,例如,当把Excel文件中的数据读取到Matlab中时,若只读取数值型数据,那么数据中的缺失值自动使用NaN来表达;原创 2023-02-05 15:46:08 · 4693 阅读 · 0 评论 -
Matlab自学笔记十六:如何设置数值显示格式、小数的显示位数
Matlab命令行窗口中的数值的显示格式,数值格式仅影响数字显示在命令行窗口输出中的方式,而不影响Matlab计算或保存它们的方式,使用函数format指定的显示格式仅应用于当前 Matlab会话,若Matlab关闭后重新打开,将恢复默认设置;当然,可以通过修改“预设”,改变Matlab显示数据的默认方式,但一般不建议这样做,平常的编程应用中,通过format函数临时修改数据的显示格式,或者小数的显示位数原创 2023-04-09 21:11:35 · 2693 阅读 · 1 评论 -
Matlab自学笔记十七:字符型数组、创建、判断和索引方法,集合运算、与数值型转换方法、运算、程序示例
字符型(Characters)数据一般用来存储和处理文本数据,字符数组是一个字符序列,字符向量把字符存储为1乘n的向量,是常用形式,在Matlab中有两种表示文本的方法:字符型和字符串型,本文先介绍字符型数组的创建、连接、转换和运算等内容;创建字符型数组使用一对单引号 '',判断一个变量是否为字符型数据使用函数ischar;水平连接使用strcat函数,竖直连接使用strvcat函数原创 2023-04-16 22:31:12 · 838 阅读 · 0 评论 -
Matlab自学笔记十八:字符数组中字母、空格、大写、小写、数字、标点符号的识别和处理,删除尾随空格
判断字符数据中的字母和空格,把字符串中的空格剔除删掉,判断字符串中的字母、小写字母、大小字母,判断字符中的数字、标点符号、空格,空字符的处理:调整位置、剔除、删除尾随空格原创 2023-04-23 21:15:05 · 2024 阅读 · 0 评论 -
Matlab自学笔记十九:多类型数据混合连接和运算的结果类型
众所周知,Matlab有很多数据类型,包括浮点型、整型、字符型、逻辑型等;现在的问题是,Matlab多类型进行运算和连接后,结果是什么类型呢?原创 2023-05-14 21:40:27 · 197 阅读 · 0 评论 -
Matlab自学笔记二十:字符串型数据:创建、比较、索引和运算
字符串数组是由多个字符串作为元素组成的数组,从Matlab2016b开始,可以使用字符串类型数据,从2017a开始,可以使用双引号创建字符串;s(2,3)="x" %扩展为2行3列的数组,并将第2行第3列元素赋值为''x''s=["123","abcd";"自由未知数","%$%#"] %创建字符串数组。"自由未知数","%$%#"]"ab"] %字符串纵向连接-变为字符串数组。["123","ab"] %字符串连接-变为字符串数组。原创 2023-05-21 21:02:31 · 531 阅读 · 0 评论 -
Matlab求解一元高次方程的编程示例
使用Matlab求解一元高次方程时,可以使用roots函数。roots函数接受一个多项式的系数向量作为输入,然后返回方程的根。以求解x^2 - 3x + 2 = 0方程为例,下是一个求解一元高次方程的示例代码原创 2023-06-18 22:37:04 · 1213 阅读 · 0 评论 -
Matlab自学笔记二十一:字符串的转换、缺失字符串的创建和应用
常见的,大家在读取外部文件(例如Excel表格)数据的时候,如果是数值和文字混合类型的,那么读取后要进行处理,数值的运算就不罗嗦了,那么,文字的处理,例如合并、提取字符、删除列、查找类别等,都会用到字符或者字符串类型的处理,在本文以及前后相关文章中都会一一讲到。string(missing)==string(missing) %缺失值与任何数值比较都为假,除特例比较不相等。string(missing)+string(missing) %结果为缺失值。char("100") %字符串型转化为字符型。原创 2023-05-28 21:30:47 · 438 阅读 · 0 评论 -
Matlab自学笔记二十二:字符串的大小写转换、排序、倒序、统计和查找,判断是否以给定的字符起始
字符串的大小写转换,使用lower函数和upper函数,字符串的排序和倒序使用sort函数和reverse函数,另外还有一个sortrows函数是按行排序,统计字符串中某个字符出现的频次,使用count函数,查找和判断字符串中是否包含某个字符使用contains函数,查找和判断字符串中是否以某个字符开始使用startsWith函数,以某个字符结尾使用endsWith函数原创 2023-07-02 20:31:51 · 1038 阅读 · 0 评论 -
Matlab自学笔记二十三:字符串的提取、替换、插入和删除
提取分为三种情况:提取某字符之前的所有字符使用extractBefore函数,提取某字符之后的所有字符使用extractAfter函数,提取两个字符之间的所有字符使用extractBetween函数,程序示例如下原创 2023-10-06 20:37:17 · 2207 阅读 · 0 评论 -
Matlab自学笔记二十四:字符串的关系运算和比较
strncmpi("abcd","abCD",2) %比较字符串的前n个字符(不区分大小写)["56789","A895","ab7cd9"]原创 2023-11-17 22:24:54 · 590 阅读 · 0 评论 -
Matlab自学笔记二十五:字符串的拆分和连接、换行符的使用
字符串的连接和拆分涉及到四个函数:strjoin和join、strsplit和split,用法的区别在下面程序示例中说明,字符串拆分时,若不指定分隔符,默认在空白字符处拆分,空白字符等效于集合 {' ','\f','\n','\r','\t','\v'} 中的任何转义字符,程序示例:clear,clc"艾萨克 es牛顿"]%连接、拆分names1 = split(names) %在空白字符处拆分字符串join(names1) %添加空格按行连接。原创 2024-01-13 21:53:55 · 2689 阅读 · 0 评论 -
Matlab自学笔记二十六:sprintf函数用法简介
格式设置的含义:每行起始为竖线|,%是必须的字段,f代表浮点型,将浮点型值转化为文本,\n为转义符代表回车。%第一个输入参数,使用单引号字符数组作为数据类型,每个%开头表示一组格式,此处,3组格式设置对应3个值;当普通文本和数值需要按照特定格式显示和输出时,会用到格式化文本,常用函数为sprintf。格式化文本,是具有特定显示格式的文本形式,包括字段宽度、显示精度、特殊标志和辅助符号等;%第一个输入参数为格式设置,第二个输入参数为对应的数值;%8.2总长度8,小数点后保留2位,长度不够时按实际长度。原创 2024-01-28 21:06:20 · 837 阅读 · 0 评论 -
Matlab自学笔记二十七:详解格式化文本sprintf各参数设置方法
格式化操作符可以有六个字段,只有主字符%和转换格式是必需的,其他都是可选的原创 2024-02-25 21:54:43 · 1286 阅读 · 0 评论 -
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 · 796 阅读 · 0 评论 -
freexyn视频教程目录及课件讲义文档获取(下载链接)
freexyn编程实例视频教程涵盖了Matlab基础入门、解方程、微积分、解微分方程、插值、优化、拟合、灰色理论、最近邻、K均值、决策树、SVM支持向量机、科学绘图与动画、文件数据导入写出、脚本函数编程、界面编制GUI和app designer、图片/图像数据提取(坐标、长度、角度、圆心、半径),神经网络基础和拟合、深度学习卷积神经网络、遗传算法、粒子群算法、模拟退火算法、以及答疑典型纠错案例汇总等内容,目前还在不断更新中。想要精通Matlab编程?47.1/Matlab遗传算法/概念/原理/编程演示。原创 2024-04-08 21:48:11 · 287 阅读 · 0 评论 -
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 · 1526 阅读 · 0 评论 -
Matlab自学笔记三十:元胞数组的修改、添加、删除和连接
'a',["a","b"],[]} %理解:元胞数组是大箱子,用大括号表示,内部的元素是盒子,盒子也是元胞型,盒子与箱子遵循Matlab预设规则,打开盒子往里面装内容,内容可以是任意大小任意格式的内容。元胞数组的子数组或元素也是元胞型的,其元素内容(值)是本身类型,因此,在添、删、改和连接处理时,必须明确每个元素的值的类型和大小,否则,编程报错是不可避免的了。(2)大括号{},连接后组成更大的元胞数组,特点是,连接的数组可以是任意类型和任意大小,缺点是,数据的运算和处理等不如矩阵数组那样灵活;原创 2024-05-25 22:21:19 · 1629 阅读 · 0 评论 -
Matlab自学笔记三十一:结构数组的创建、索引和预分配内存
使用struct函数创建,示例:数组名=struct(‘字段名’,‘字段值’...),注意字段名和字段值成对排列,字段值未指定时使用默认值为[](默认为空矩阵,与元胞数组相同)。首先介绍一个概念,前面已经说过,结构数组创建的时候使用圆点,使用圆点的访问某一字段的索引叫做字段索引,这是结构数组特有的索引方式,数组索引。上述是最简单的结构数组,仅包含一个元素,结构数组还可以包括多个元素,创建方法在上面的基础上,继续添加元素即可,添加时使用数组索引。原创 2024-06-16 21:33:49 · 887 阅读 · 0 评论