啊,大家好啊,从今天开始的话,我们介绍一下 spring 联合东 s 函数以及啊内切 matlab 编程模块的学习和应用。那么这里的话,我们啊首先讲解一下 matlab 方学模块的使用,我们根据博克中的啊内容,我们打开, 然后的话先打开第一个,然后点着酷浏览器,然后再打开这个 simlink 模块,在这个地方 user defined 方旋里面我们可以看到 matelab 这个 matelab 方旋这个模块,我们这里主要的使用学习这个模块。啊,这里的话首先看一下它的单输入,单输出,比如说我们这里给了一个帧,然后的话用 score 进行显示,我们可以双击看一下 啊,内部的话直接复制啊,这样的话一个比较简单的文本啊内置的函数就完成了,我们点击运行 好,这样的话啊这个正弦信号就通过这个方弦传递给这个 scope 了,然后我们再打开第二个程序啊,第二个程序的话是演示类系,是一个啊多输入多输出啊,这里话我们需要在啊 simon link 里面 通过啊 milksh 以及 dimksh 将两路信号合并成一路,然后给这个 u, 然后输出的时候再通过这个 dimksh 加一路信号变成两路进行显示,然后再把它的表方型里面 可以看到,我们直接这样定义就可以了,这样的话通过 u 一 u 二来分别表示这两路信号,然后再合并,通过一个矩阵模式进行合并, 然后输出的时候就可以将其合并输出,再通过 demux 啊分别显示两路信号,我们可以开看一下嘘嘘嘘,一个是震弦,一个是差一个向位的震弦信号,嘘嘘嘘 啊,一个是不同频域的正弦信号,然后第三个,第三个的话在里面我们定义了一个比较简单的函数, 定义了一个正弦,然后输了信号 u 的 话,它是一个时间变量,然后时间变量的话我们采用 clock 这个模块,然后在这里面我们定义了啊这个程序的电路,然后我们点击运行, 可以看到也是一个正弦信号。所以说这个 miter 方向这个模块的话,我们可以在啊 semicolon 里面啊实现一些比较复杂的一些算法, 然后通过这个模块以 semicolon 的 形式啊在 semicolon 里面进行建模。好,大概就这么一个功能。好,演示完毕,谢谢大家。
粉丝1410获赞3780



例如现在画这两条视力函数的图像,首先新建一个脚本,输入 x 的 取值范围及函数表达式, 这是 x 左极限,这是 x 取点分度值,用弧度一圈分成三六零分。 画第二个函数的图像,中间冒号是说第二个函数用虚线 运行,看看效果, 删掉画虚线指令,再看看 这样两个函数图像对质就实现了。

今天我们继续学习 maclub 算数运算函数,在上一个视频里,我们一起来学习了求和和差分,今天继续学习其他的运算函数。首先来看求积 囚机的函数是 prod, 他的与法格式与前面介绍的萨姆函数完全一致。我们还是首先来看一个实力,在命令行产生一个魔方矩阵 m a g i c magic 三,产生一个三行三列的魔方矩阵 a。 我们现在对矩阵 a 进行求机,输入命令 b 等于 p r o d proud a。 当没有输入参数的时候,默认是按列进行求机。比如说九十六第一个元素就是第一列的 八、三、四这三个元素球机,四十五是第二列一五九这三个元素球机, 八十四是第三列的球机。那如果想求按行进行球机的话,就要加上参数二,输入命令 b 等于 proud, 原括号里 a 二, 这个时候就是按行径求机。同样如果加上奥,这个参数 b 等于 proud, 原括号里 a, 奥放在单引号里面,这个时候只产生一个元素,他是 a 这个矩阵当中所有元素的成绩, 这是对于函数求机 prod。 下面再来看平方根,平方根对应的函数是 sqrt, 他返回的就是要求的数组中每个元素的平方根。 比如我们在命令行输入命令 y 等于 s, q, r t, 负二到二,输出结果就是从负二到二这五个元素当中每个元素的平方根。 好,这是求平方跟 sq r t 函数。下面再来看一下取整。曼特拉布提供了四种取整方式, 我们首先在命令行创建一个随机数据阵 a, 通过实力一起来看一下具体的取整方式。在命令行输入 rng 零,再数五命令 a 等于十点乘 二 and 四在十五命令 a。 这条命令是让最后一行变成一个复数。好,这样就产生了一个随机数矩阵 a。 下面咱们对矩阵 a 的每一列用不同的取证方式,注意观察他们的区别。对 a 的第一列输入命令 二,运用四要函数向上取整。对于 a 的第二列, 用 fix 函数向零取正。对于 a 的第三列, 运用 flow 函数向下取整。 对于 a 的第四列,运用 round 函数四舍五入 至输出结果。第一列向上取整,结果为不小于当前数值的下一个整数。 第二列向零取整,所有的小数部分被截去。第三列向下取整,结果为不大于当前指的下一个整数。第四列为四舍五入。好,这就是取整。 再来看取于迈特拉布中有两个函数可以计算余数,用帽的函数 称为取魔运算 ram 函数称为求于。运算猫的函数等于 a 减 m 点成 flow, e 除以 m。 ram 函数等向于 a 减 m 点成 fix, a 除以 m。 通过视力来看他们的区别。我们在命令行输入 a 等于 负三到三,产生一个一尾的一个数组 输入命令 mode m o d, 这是结果好,再来看一下求于的函数, ram 命令行输入 方括号 r e m rem 会发现两个结果是不一样的,帽的函数与除数的结果同号,而 ram 函数与被除数的结果同号,数值也是不一样的。 好,当除数为零的时候,冒的返回被除数,而 rem 返回无穷大。比如我们在面临行输入方括号 m o d a 零 rem 一零来看结果,第一行是帽子的输出结果,第二行是 ram 的输出结果。 好,这就是 matlab 算数运算函数中的求机平方根取整和取于。 那今天的分享就到这里,关注我,后面咱们再来一起学习迈特拉伯的其他知识。

matelab 正在启动室内机器人视觉目标跟踪仿真, 批量化 kcf 相关滤波跟踪器频域和函数目标按正弦轨迹移动,绿框真值,红框跟踪 全真光强余弦扰动 log 预归一化模板缓慢更新, 中段加黑色遮挡条响应,风下降时颜色快二次修正,光照和遮挡叠加视觉超声深度加权融合。 四场景指标对照开题,目标慢速运动,中心误差小于二十五像素光照变化跟踪保持稳定, 遮挡通过期下降,通过后恢复混合扰动响应延迟稳定 四项指标全部达成。

cad 图可以转化成 g 代码,从而后续用于 cnc 加工,而这种特定的函数曲线图需借助 matlap 绘制,随后转换成 dxf 图,打开 matlab 运行如下代码,这个代码直接在工具栏上方 apli 就可以下载。运行完成后,右键选择 dxf 图,选择在外部打开,这样就成功转换开的图。 这个点比较稀疏,后续机床的加工精度也会较低,因此可以在麦特拉增加点的数量,再次运行打开,看的点变得更加密集了。这种方法你学会了吗?

大家好,欢迎收看 matelab 教学视频系列,这里是我的 qq 号和微信号,欢迎大家加我为好友一起探讨 matelab 问题。今天我给大家讲解的是 matelab 当中二维图形的绘制以及锯饼操作, 这里是我们今天的教学内容。首先给大家讲解一下绘图函数 plot 的 基本用法, 然后给大家演示一个单条曲线的绘图实例,接着是一个多条曲线的一个绘图实例,通过以上这两个实例给大家引导出 matelab 当中图形聚饼体系的基本概念。 最后再通过两个具体的实例给大家演示一下 matelab 当中一些基本的聚饼操作。 很多初学 matelab 的 同学可能都是从啊函数绘图都是从基本的绘图开始学起的。然后我们在绘制二维图图形的时候,啊使用的是 plot 这个函数, 下面给大家介绍一下 plot 这个函数的一些基本的调用格式和一些基本的用法。当我们需要看一个函数它的具体的用法的时候,最好的这个老师是 matelab 的 help 文件。好,我们进入到这个 help 文档里面, 我们搜一下 plot, 我 们来看一下这个 plot 的 一些基本的解释。 好,这边是说了它是绘制啊,用来绘制二二 d 的 这个啊曲线的,然后下面的话是它的一些啊调用的格式,然后下面有每一种格式它的一个具体的描述。 description 啊,首先这个地方是说啊, plot 括号 x y, 它是绘制二维的曲线,然后横坐标的话是 x, 纵坐标的话是 y。 然后下面它分几种情况,首先第一种情况,如果 x 和 y 都是向量的话,那这个其实这个时候就很简单了,那就直接是 x 为横坐标, y 为纵坐标,然后会指 x y 的 这个曲线。 然后第二种情况,如果 x 和 y 都是矩阵的话,那么 x 和 y 必须有着相同的, 然后这时候我们 type 来绘制曲线的话,它是以 x 的 每一列为横坐标, y 的 每一列为纵坐标,这样绘制出来一系列的这个啊图形。 然后第三种情况,如果 x 和 y 当中有一个量,它是啊向量,然后另外一个量是矩阵的话,那么这时候它有个要求,就是说啊矩阵的行或者列 这两个尾数当中至少有一个,这个尾数是需要和这个向量的长度相等的。然后对于啊这一大这一大段英语可能可能啊读起来比较绕人,我们直接在 mathlab 当中来看一个例子,可能这样的话大家可以更好的去理解 好。我们生成一个 x, 比如说我们生成一个十,间隔是一到十四,这样 x 它是一个向量, x 的 长度是啊六,就说 x 里面有六个元素,然后我们再生成一个 y, y, 我 们生成一个随机矩阵, 啊,我们生成一个,比如说四行六列的 好,这时候我们就生成了 x 向量和 y y 的 这样一个矩阵,然后我们来 plot 一下 x 和 y。 好, 大家注意一下,如果 x 和 y 当中有一个是向量的话,它是要求矩阵当中的某一个尾数需要和这个向量当中的这个长度是需要相等的。比如说对于 y 这个矩阵来说, 它列这一维,比如说它是有一二三四五六,它是有六列的,就是列这个维数上刚好和 x 的 长度是相等的,因为 x 是 有六个数值的,所以说这时候可以用 plot x y 来绘制成图线, 这样的话大家可以来看一下,我们可以看一下这个上面有几条线,一条、两条、三条、四条,这时候有四条线, 其实很好理解啊,其实这四条线它的横坐标都是十、十一、十二、十三、十四、十五,就是横坐标都是 x, 它的纵坐标的话 就是分别是 y 的 第一行是跟 x 构成一条线,然后 y 的 第二行和 x 再构成第二条线。类似的就是说有四条线,因为有四行,四行分别和这个 x 就是 x 这个横坐标来构成这样一个 x, y 的 一条线,所以说这里面会的是四条 线,然后还有它还有一些啊另外的一个调用格式,比如说这个 line spec, 它这边是说这个时候是在绘图的同时,它是设置这个线型啊记号的这个形状以及线的颜色。然后我们可以点一下这个 line spec, 它跳到了这样的一个表里面,然后这里面给了一个例子,比如说这是啊两个短线,然后中间是 o, 然后是 r, 它代表的一个意思是这样的,首先两条短线代表的是虚线,就是这个线型, 然后 o 我 们接着看, o 其实代表的是一个 mark, 就是 它这个记号是一个圆圈,然后这个 r 可以 继续往下看, r 的 话它代表红色,也就是绘制的线是红颜色的。 当然大家可以从这个表里面啊,比如说从这个线形的里面任意去选一个出来,从这个记号里面任意的去选一个标记出来, 然后从颜色里面去选出来任意的一个啊颜色符号出来,然后就可以构成这样的一个字串, 这个字串呢就用来定义这个线形 line style, 然后这个记号的形状叫 marker symbol, 以及线的这个颜色。后面我们会通过具体的实例来啊给大家演示一下,就是说这个地方的一个用法。 好,我们刚刚看的是前两种的这个调用格式,当然 plot 它还支持就是啊多组的曲线的一个绘,比如说第一组曲线就是 x y 一 是第一组,然后 x 二, y 二,第二组等等等等,一直到 x n y n d n 组, 然后同样呢,我们在可以绘制每组曲线的时候,给它添加一个这个啊,添加这个曲线的它的一些颜色啊,一些记号啊,这样的一些啊属性, 这样这样的话类似的是每一组每一组的这样的话 x y 一 lines pack 一, 这是第一组类似的第 n 组是 x n y n lines pack n。 另外 plot 还支持单个的这个变量,就是单个的输入参数,比如说 plot y, 这时候它绘制这个 曲线的时候,纵坐标就是 y, 然后横坐标的话就是一二三四五六七这样的一系列的一个整数。类似的还可以 plot y, 然后再设置一下我们这个曲线, 然后具体的这些内容,大家可以在这个 plot 的 这个 help 文档里面可以仔细的去阅读,然后这个里面还给出了很多的一个例子,然后同学们都可以自己去试了,像这些地方对这个现行啊颜色啊做了一些设置, 然后 help 文档是一个很好的这一个啊学习的一个工具,希望大家可以啊充分的去利用好这个 help 文档。然后这里面的英文都是都不难的,其实都是比较简单的英文,大家可以啊 结合着像有道词典啊这些比较好的一些工具,然后去仔细的去阅读一下这个这个 help 文档,然后读着读着,大家对这个里面的单词慢慢的就会熟悉了,然后也会读着读着这些啊,读着这些英文的时候,也可以同时提高自己的英语水平, 然后阅读的话,其实是越轻松的,越读越觉得这个 help 文档好。 我们刚刚看完了这个 plot 函数的这个用法啊,下面我们就来啊做一个具体的实例,我们绘制一个零到二派上的一个鱼弦曲线, 我们新新建一个 m 文件,我们写程序的时候养成一个好的习惯,第一行我们做一下一个触式化的一个工作,就是 clear c, l, c close all。 然后第二行的话,我们再开始正式写我们的这个代码, 首先我们定义横坐标是零到二 pi, 然后到二 pi, 然后纵坐标的话就是 find x, 这样我们就把横坐标和纵坐标定义好了,然后使用 plot, 我 们会制一下 x y 的 这个曲线。然后刚刚我们在这个 help 文档里面看过这个 linespec, 好,我们这时候就是在这个 plot 里面,我们就将这个啊这条图形的一些啊线型,它的一个这个记号的形状以及它的颜色,我们将它定义好,就是用 linespec 的 这个格式来给它定义好。首先我们来看一下,我们选线型的话,我们就选选这个虚线, 好,所以是两个短,两个短横代表这个线型是虚线。然后第二个属性的话是这个记号的形状,我们选这个星号,就是每个坐标点的这个形状,我们选星号,这边写上星号, 然后颜色的话我们写定义成红色,红色的话就是 r, 我们运行一下这个程序,先将这个程序保存一下,这个是我们的第七期视频,所以就是 m 零七杠一。 好,通过这几句简单的代码,我们就会制出了这样的一条鱼线曲线,大家可以看一下我们的这个设置啊,首先它这个线型是虚线,然后这个坐标点的这个记号是这个星号,然后颜色的话是红色, 然后对于这一幅图的话,它是一个比较原始的,我们一般去做论文或者去做报告的话,是需要在这个图上面去加一些啊,比如说加一些注视性的一些文字啊,比如说给 x 轴上啊,写一个注视, y 轴写一个注视,然后再加标题之类的 啊。呃,其他的情况可能就是说我对这个啊,这个线的这个颜色啊,包括这个啊记号的这个形状啊,我不是很满意,我想啊有更多的一些选择和设置,这时候啊,我们就需要对这个图形来对它进行一些操作, 然后在 matelab 当中我们来设置这个图形的话,可以通过啊写代码的方式,也可以通过手动操作的这个方式来对这个图形进行一些设置。 当然对于初学者来说的话啊,用直接用代码来对图形做一些设置的话,可能会有一些困难 啊,所以说啊,在今天的这一个视频里面,我会先啊给大家演示一下,就是用手动操作的办法来对这个图形啊,对这个坐标轴啊,我们来做一些设置, 然后利用 matelab 啊自动生成代码的这样的一个功能,然后我们就可以啊反向的来得到对应的这个设置的它的这个 matelab 代码,然后我们在这个自动生成的代码上面,我们做一些基本的一些啊修改,然后就可以得到自己的代码。好, 下面我们就先用手动操作的办法来对这个啊图形,我们来进行一些必要的一些编辑,将它最大化,我们点击这个箭头,这个上面显示了 edit plot, 也就是说你点这个箭头就是让你编辑这个啊图形的,我们点一下, 然后这时候大家可以看到这边被选中了,这个背景被选中了,我们双击一下这个背景,这时候下面会跳出一个框,然后这个框里面,然后我们可以看一下,首先是 figure name, 也就是这个图形窗口的名字,我们将它写成鱼线曲线, 然后我们将这个背景的颜色大家看一下,这时候是灰的,我们将它改成这个白色的背景。好,这时候大家看它这个背景的颜色变成了白色的了,然后同时这个上面有一个 flag 有 个名称了,叫鱼线曲线。 好,然后我们再单机一下这个坐标系,我们这时候可以将给这个坐标系添加一个 title, 就是 标题,我们这个标题叫绘制与弦曲线, 然后我们可以设置一下这个 x 坐标的这个范围,我们将它设置成零到六点五。 好,这样,这样的话大家可以看到这时候它的坐标轴的这个啊,最大的坐标就是到了六点五就截止了。然后我们还可以给 x x 轴添加一个注士,我们写一个叫 x 值吧,简单一点。好,这样的话我们就将 x 轴做了一些必要的一个设置, 然后我们再来设置一下 y 轴,首先我们将 y 轴的范围,我们将它改成负的一点二到正的一点二, 大家可以看到坐标轴的这个范围已经变了。好,这个 y 轴我们也给它做一个注示,叫 y 值, 好,这时候 x 值, y 值包括标题它都有了,然后把这个网格线打开,这样的话看图的话会更容易一点,更方便一点。 然后我们把这个 box 关掉,大家可以看一下这一块的变化,这时候它是有这个,有这个框线,我们把这个 box, 把它把它去掉。好,这时候就是这个框就没了。 好,我们接着来做设置,我们可以看一下这时候啊 x 轴,它这个坐标间隔是一比较大,我们将它这个坐标的 x 轴的这个坐标间隔,我们将它设成零点五 点到 x axis 这个属性里,然后我们点一下这个 tickets, tick, tick, 好, 我们点开, 点开之后,这时候它是啊自动的,就是 x 的 这个这个间隔啊,或者这个标签啊,它是一个自动的,一个状态都是自动的。那这时候我们选这个 step by, 我 们将它的间隔改成零点五。 好,然后 apply 一下。好,这时候大家可以看到这个 x 轴的坐标间隔就是零零点五一,就是间隔都是零点五了,更密了。 ok, 那 同样呢,我们将这个 y 轴的这个坐标间隔,我们也可以去设一下,因为这时候大家可以看一下负一点二和正一点二,它没有在上面显示 到 y 轴这个里面去,也去给它做一个设置,同样点这个 step by 就 说呢,大家可以看一下。我们没做设置之前,它是从负一开始的到一结束的,就说它这个坐标标签显示的这个值,然后 step by 一下,将这个间隔,我们将将它改成零点二。 好,再 apply 一下,大家可以看到它是最最小的,是负一点二,然后到下面的正一点二,然后这个这个地方其实是零啊,因为这个是 e 的 负十六次方,很小很小的一个值,大家不用去管,它就基本上是零了。然后, ok, 好, 这样的话,我们就将啊 x 轴的间隔和 y 轴的间隔,我们也设置成我们想要的这样的一个结果。 好,设置完坐标轴之后,我们就可以来设置这个啊,设置我们的这个线条了,那我们鼠标点击一下这个线条。好,大家可以看一下下面的这个 property edit, 就 变成了这个线,这时候我们可以对这个线来做一些啊属性上的一些编辑。 首先我们将这个线型来改一下,之前是虚线,我们将它改成这个中心线,然后线宽之前是默认的零点五,我们将它改的粗一点,改成二,所以大家可以看一下。线变变粗了,然后线的颜色,我们将它改成这个品红色 变掉了,然后这个标记原来是星号,然后我们将这个标记也改一下,改成一个方块,就是大家可以看一下变成了方块, 然后方块的大小之前是默认了一个六,让他改的大一点,改成十。好,再看一下方块也变大了,然后之前的方块里面啊填充色是是白色的,其实是看不出来这个填充色的,这时候我们给这个里面这个方块加一个填充色,我们将填充色改成绿色, 可以看一下,这时候看每个方块里面的填充的颜色都是绿色。好,还可以将这个方块的这个边框将它改成一个黑色的边框,这时候大家去看一下,感受一下这个效果。 好,这时候方块它的填充色是绿色,然后它的边框是黑色。好,通过我们上面手中的这些操作,我们就将这幅图啊我们去给它编辑了一下,编辑成了一个我们想要的一个它的一个显示的一个状态。 然后然后刚刚也给大家说过,我们可以通过 matelab 自动生成代码的形式,然后得到我们刚刚所做的这些操作,它对应的 matelab 代码,这个是 matelab 里面可以自动生成的,然后我们点一下这个 file, 然后这个里面有一个 generate code, 就是 自动生成代码。好,我们来点一下,好,这时候它在自动生成代码,大家可以看一下啊, 生成的代码是一个函数的形式,是一个 function 的 形式,是一个函数的形式,然后这边的话就是对应的这些代码,比如说我们最早的对这个啊图形窗口所做的一个操作,就是将图形窗口命名成鱼线曲线,然后将它的这个背景颜色改成白色, 白色的话就是 color 颜色属性,然后颜色的话它这边用的是一个 rgb 的 这样的一个颜色一,一的话在 rgb 这个里面其实代表的就是白色。好,所以这个是设置这个图形窗口的名称和背景色, 然后紧接着是这个坐标系 axis, 然后 axis 的 这个啊 parent 就是 他的这个父亲是 figure 一, 也就说是 axis 这个坐标系,它是在这个 figure 一 里面, figure 一 就是上面的这个图形窗口, 然后紧接着它设置了这个 y tick 这个属性,比如说是负一点二,然后负一其实就是间隔是零点二了,然后紧接着是将这个 y 的 这个啊网格将它打开,然后 x 的 这个啊 x 的 这个 tick, 也就说它这个间隔 x 轴上面的这个间隔是零点五,同样的将啊 x 的 网格线将它打开, 然后下面的话这个这个他将他啊注视掉了。其实我们也做过这个设置,就是 x 的 范围, x 轴的范围是零到六点五, y 轴的这个范围是负一点二到一点二。 好,紧接着是绘图的这个命令,然后上面是啊这个我们这个记号块,就是 这个图形的这个啊,标记它的一些设置,比如说标记的这个啊颜色,标记的填充色啊,这个标记标记边边框的这个颜色啊,比如零零零就是代表这个边框是黑色, 然后这个标记的这个大小标记的形状是方块 square, 然后我们这个线的这个线宽是二,然后线型的话是一个中心线,然后线的这个颜色 定义了这样的一个 rgb 的 这样的一个啊颜色的这样的一个定义,然后后面的话是创建这个标题,然后给 x 轴添加注时,给 y 轴添加注时,这个都是我们刚刚所做的操作, 我们做的所有的操作都在这个代码里面啊有所体现,就是说我们的操作通过这个自动生成代码的方式,它它都有对应的代码跟它对应的, 当然这个代码的话,它是 matlab 自动生成的,它这个啊,包括你看起来啊,以及有些写法上啊,都是啊,都都不那么完美,所以我们可以在这个自动生成的代码上,我们来做一些修改,然后得到我们自己的一个代码, 我们将这个代码,我们将它拷走 到我们刚刚自己写的这个这个 m 文件里面,将它拷进来,我们将我们需要的部分,我们将它留着。 首先我们是定义了这个啊图形窗口的名称以及背景。好,这个我们是需要的。这个之后我们是来做一个坐标轴的一些设置, 然后这一句话呢,这这个 parent 点号,这个这个 parent, 然后 figure 一, 这个我们可以删掉, 因为这时候我们只有一个,在这整个绘图的这个窗口里面,我们只有一个图形窗口,就是 figure 一, 所以说没有必要再给他指定他的他的父亲是谁, 将它删掉就可以了。 好,我们在设置这个啊坐标轴间隔的时候,我们习惯上是先设置 x 的 坐标,然后再设置 y 的 坐标,所以我们将这一个先先给它减上来。 好, xt, 我 们其实是将它的间隔设成啊零点五的,大家可以看一下,这边是一个啊,其实是一个向量的值了,也就是零到六点五,然后中间间隔是零点五,没必要这样去写,直接是零到 零点五,然后再到六点五,然后接着我们再设置这个 y 的 这个 tick, 然后呢我们将这一句话将它拷上去,好类似的,其实这个就是负一点二,然后间隔是零点二,然后再到一点二, 它自动生成的代码,它比较傻,会把整个这个项链都给你显示出来,其中你可以用这种方法来写 好。下面的话,打开 x 网格和打开 y 网格,这个我们不要在这里面设置,我们可以直接用 great on 这个命令来写,没必要写的这么麻烦。 这个之后我们就可以加上 great on, 就是 把 x, y 的 网格都给它打开, 下面的话,我们将这一句将它保留,然后我们再设置一下 x 轴的这个范围和 y 轴的范围,这一句是设置 x 轴的范围,然后再设置 y 轴的范围。 设置完之后我们就来绘图了, 大家注意一下,我们刚刚是这个自动生成的代码,它是一个函数的形式,所以这边的话我们要 x, y, 要写上我们这个 m 文件里面具体的这个 x 和 y, 是 x 和小 x 和小 y。 我们在做绘图设置的时候,一般习惯性的是先设置线型,然后再设置这个标记 mark, 所以 我们来先设置一下这个啊线的这一这一些属性。首先是 line style, 就是 线型,将线型设置成中心线, 然后再是线宽是二, line width 是 二。接着我们再来设置一下线的颜色, 这样的话我们将这个啊限行的属性,我们就将它设置好了, 我们换一换一行吧,三个这这个逗号之后后面加三个点号,然后回车就代表换行,换行之后我们再来设置我们这个啊标记的一些属性,首先是我们的标记的形状, mark 是 square, 就是 方块,然后再来设置这个标记的大小, mark size, 将它设置成十好逗号之后我们再换一个, 然后我们再来设置一下它这个填充色和边框色, 这样的话我们将啊绘的绘制出来的这个它的相关的属性,我们也将它设置好了。 好,最后我们来添加标题,添加 x 轴的一个注视, 添加 y 轴的这样一个注视,这样的话我们在自动生成的这个代码的基础上,我们做一些必要的修改,就得到我们自己的代码了,我们来运行一下看看这个效果 好,可以看一下啊, 这边多出来了一个窗口,因为这边我们这个地方绘制了一次,所以我们将它删掉。 下面这个地方已经有 plot, 所以 我们最早绘制出来的那个就不需要了,所有的这个图形的绘制都是在这个 plot 里面。完成好,再来运行一下这个代码, 这样的话我们通过这个写代码的这个方式,一样的就得到我们刚刚用手来设置的这样的一个图形,就是说当你写代码的时候,我不知道怎么写的时候,就可以到这个 到这个编辑器里面自己用啊手动操作的办法来啊,得到你想要的这样的一个显示结果,然后再通过反向生成代码的这个方式, 然后你就可以得到你的这些操作所对应的这个代码,然后对这个自动生成的代码,我们来做一些啊修改和简化,这样的话就可以得到啊,就是就可以相当于说自己来写出这样一个对图形设置的这样一个代码了,有这样的话啊, 会比较的方便,当我写程序一筹莫展的时候,我就可以用这种办法,然后去解读一下自动生成的代码,可以做一个更深刻的一个理解,这个我们就不需要了,将它关掉。 我刚看的是单条曲线的,是比较简单的,下面我们看一个稍微复杂的,我们来绘制一下这样的一个 sin cosine, cosine 加 cosine 这样一个啊三条曲线,然后我们对这三个曲线来做一个设置, 我们生成一个新的 m 文件 一样的,我们先定义 x 轴的,这样 x 轴的 x 的, x 的 很,就是我们先来定义横坐标,也就是 x 坐标零到零点二,然后到二排, 然后我们定义 y 一 是三 x, y 二是三 x, 然后 y 三等于三 x 加三 x, 也就是 y 一 加 y 二了, 然后我们将这个 y 一 y 二 y 三,我们将它写到一个矩阵里面,我们这个矩阵叫小 y, 我们将这个 y 一 y 二 y 三作为矩阵的行,这样的话我们就生成了一个矩阵,矩阵里面的第一行是 y 一, 第二行是 y 二,第三行是 y 三,来运行一下这个代码 叫 m 零七杠二 来看一下这个 x 和 y, 好,首先 x 的 话它是一个横向量,大家可以看一下,一乘三十二,就是它里面有三十二个元素啊,一行三十二列,就是一个三十二个元素的这样的一个横向量, 然后我们再看看小 y, 大家可以看一下啊,它是有三行的,然后是三十二列,三行三十二列, 然后第一行的话其实是 y 一 就是三 e x, 第二行 y 二是 cosine x, 第三行是 y 一 加 y 二,也就是 cosine x 加 cosine x, 这时候我们 plot x y 的 话,我们之前在解读 plot 这个函数的用法的时候已经知道,这时候绘的话,绘制图的话 x 为啊横坐标,然后 y 当中的每一行作为一个纵坐标,然后它里面有刚好有三行,所以说会绘制出来三条线,分别就是啊,第一行的 sign x, 第二行的 sign x, 第三行的 sign x 加 sign x 来绘制一下, 好运行一下这个代码看一下,这时候我们就绘制出来了这样的三条的曲线, 好类似的,这个曲线是一个很初始的一个状态,我们来先用手动操作的办法来对这个曲线进行一些必要的美观化的一个设置。 好我们这些啊 figure 这个图形窗口的这个背景啊,它的这个背景里面我们就不设置了,就让它是默认的这个灰色吧。然后我们第一步设置的话,我们就从坐标轴开始设置起, 我们先来给这个这个图形添加一个标题,叫多条曲线的绘 好,来设置一下 x x 轴的一个范围,还是设置成零到六点五, 然后我们给给它添加一个标题,标题我们还是叫 x 值 y 轴,我们添加一个注式,就是 y 值 y 轴的范围,我们将它设置成负二到二 一样的,我们把这个 box 跟它去掉,然后打开 x 网格线和 y 网格线。 好,这样的话我们做了一个基本的设置,这个图啊变得有一些美观了。然后大家看一下我们这时候是三条曲线,其实我们用肉眼来去区分这三条曲线,就是分别它是什么的话, 比如说我,我想一眼看出来哪一条线是三 x 加三 x 的 话,就不是那么容易,这时候我们可以用添加图例的这样的一个办法,然后在图上就很容易的来看出来,就是哪条线它对应于哪一个量。 好,我们来添加一个图例,图例在这个地方 insert legend, 就是 添加图例的意思,点一下, 好,这时候大家看到了,这时候这边会多出来一个窗,多出来了一个啊,跳出来了一个窗口,然后放在了这个上面,然后比如说这个蓝颜色的这条实线就是 date 一, 然后绿颜色的这条线是 date 二,红颜色的话是 date 三。 虽然这时候有图例了,但是它这边啊是默认的,像 date 一、 date 二、 date 三这样的一些字母,就是我们还是没有办法区分哪个是三 e x, 哪个是三 e x, 以及哪个是三 e x 加三 e x, 所以 说我们可以通过对这个文字我们给它做一个编辑。 好,我们点击一下这个图例,然后这时候大家可以看到这边出来的话是这个图例的编辑器就是 legend 的 edit, 然后我们点到这个 more properties 里面,点一下, 好,然后看一下这个 string 这个属性,大家可以看一下它的这个属性值,是一个一乘三的这个单元素组,好,我们点击一下这个这个填字的这个记号, 这时候大家可以看出来这边就是刚刚图例上显示的这三个字母, data 一, data 二, data 三, 然后我们画图的时候大家还记得吧,我们第一行是三 x, 第二行是三 x, 第三行是三 x 加三 x, 它分别对应于这个三个这个字串,所以我们将这个啊默认的这个 data 一, data 二, data 三这个字串,我们将它改掉就可以了。我们第一行是三 x, 这边我们直接写 sign 吧,简单一点,第二个其实就是第二行就是我们的 cosine, 然后第三行是 sign 加 cosine, 好, 这样的话我们就将它改掉了。 ok, 好, 这时候我们再回到这个图里面去看一下, 这时候这边的字母串就变掉了,变成 sine, cosine 和 sine 加 cosine, 所以 我们通过这个图例我们就可以一眼看出来,比如说绿色的这条线,绿色的这条线它是 cosine x, 然后红色的这条线 cosine x 加 cosine x, 这样的话,有这个图例的话,我们就很容易的来啊,区分出这个多条曲线,它每一条曲线代表什么? 下面我们来,对啊,每一条曲线我们来设置,就是说每一条曲线它的这样的一个显示的一个啊形貌。我们先来设置一下这个 蓝色的这条线,就是 sign 这条线,我们点击到 sign 这条线上,我们将这个线型,我们将它的颜色改成这个虚线,将它的颜色改成平红色。 好,线宽我们保持不变,然后这个标记的话,我们将它改成圆圈, 然后我们来设置 cosine 这条线,我们点到这个绿色的这条线上面,然后我们将它的线型改成中心线,同样呢我们线宽不做处理,然后将它的颜色改成蓝色, 我们将它的这个标记改成下三角,下三角。 然后接着我们再来设置 sign 加 sign 的 这条线 好,颜色是红色,我们保持不变。然后我们就改一个标记,让它标记改成下三角,我们将它标记改成菱形,当 cosine 的 话,这个标记是下三角,我们将 cosine 的 这个标记,我们将它改成菱形, 这时候我们就将这三条线的啊这个显示的这个效果,我们也将它做了一些修改, 这个就是我们啊最终修改得到的这样的一个曲线。 好类似的,我们可以通过反向生成代码的这个方式,我们将我们刚刚的这些操作,它所对应的这个啊 messlab 代码将它自动的生成出来, 这时候可以大家同样的自己可以去看一下这个代码,然后同样的这个代码里面,呃是自动生成的,我们需要对它做一些基本的一些修改,然后得到我们自己的一个代码。 好,我们将这些生成的代码,我们将它拷到我们刚刚的 m 文件里, 这个 plot 就 不要放在这个地方,放在后面。 好,首先我们生成一个图形窗口, 然后是创建这个坐标系, 然后坐标系它的啊坐标系是在这个 figure 一下面的, 其实这时候是没有必要的,因为这时候我们只有这一个作标题,所以这一句这个可以直接去掉,然后打开 x 网格,打开 y 网格,我们也没必要在这个 x axis 这个里面来对它做这个打开的这个操作,直接用 grid on 就 可以了, 所以说这些都都不需要了 哦,为了说那个后面的锯饼操作,我们刚刚的那一句还是保留吧,不然可能大家理解起来可能会跳跃的太快。 我们将这个打开网格的操作,我们将它删掉,然后 x s 的 话还是将它的就是说 x s 它的这个啊,我们这个 x s 一 这个坐标系还是在 fake 一 里面的。好,这一句我们将它保留, 然后我们再来设置这个啊, x 轴的这个范围是零到六点五,然后 y 轴的范围是负二到二, 然后这边话我们需要打开网格 gray 哦, 紧接着的话我们就来绘图, 大家看一下啊 plot, 然后这个里面我们是定义横坐标是我们的 x, 然后大家可以看一下啊,它的纵坐标其实是一个矩阵,也就是说是这个 y 因为会制这三条线,所以这时候我们小 y 是 矩阵, 然后它是在这个 axis 一 里面来绘制,就是说这个啊,这三个图形,它的父亲是啊,坐标轴 axis 一, 所以说就是说将这个三条线绘制在 axis 一 这个坐标里面。 好,紧接着的话 set 这个函数可能大家是比较陌生的, 这个其实就是啊,它的一些锯饼操作了,这个我们在后面马上就会讲到。好,我们就保留这一些这个 set 里面的这些保持不变,因为我们也我们也不确定它现在还不确定这个 set 是 用来干嘛的,这个不要换行了吧,让它写成一行, 这个地方长度还是够显示的,程序会更紧凑一点, 大家可以看一下啊,然后这边的话其实是是在设置这个 限行啊,它的这个记号的形状啊以及颜色啊这些这些属性,然后包括这个 display name, 就是 说啊是 sign, 然后显示第二个显示的话是 cosine, 然后第三个 display name 显示的话是 cosine 加 cosine, 也就是图例上的那些显示的那些内容了。 好,然后再添加这个标题,然后给 x 轴添加注视,给 y 轴添加注视, 然后最后再生成我们的这个图例。好,通过这样的一些啊简化和修改,我们就得到了自己的这个代码,我们来运行一下这个代码,来看一下效果, 再运行一下。好,可以看一下我们通过这个啊代码的这个啊,我们通过这个自动生成的这个代码,我们将它做一些必要修改,我们就得到了自己的代码, 然后我们运行这个代码之后呀,的确就是得到我们刚刚跟我们手动设置的图是一样的这样的一个结果,大家可以来看一下啊,这个是 sign 曲线,然后是 sign 曲线,然后 sign 加 sign 曲线, 我们再来回顾一下,就是这个生成多条曲线的这个代码,我们来回顾一下这个,我们将它关掉,我们来回顾一下这个代码,我们看一下啊,比如说从这个地方开始看这个 figure 是 生成一个图形窗口,但是它有个返回值叫 figure 一, 然后 x 链就是设置 x 轴的范围, 它是它的第一个变量,是 xce, 就是 上面刚刚的这个坐标系的这个返回值,然后同样的 y 轴的这个啊,范围 它的第一个,第一个这个啊,第一个参数也是刚刚生成的这个啊,坐标系的这个返回值,然后类似的, 然后包括这边我们在绘图的时候 plot x y, 然后他的父亲就是 parent 是 xs 一, 也就是说他是在 xs 一 这个里面来做这个绘图进行操作的,也就是说所有的都用到了刚刚的这个返回值。 然然后同样的对于 plot 这个这个绘图的这个命令,他也有一个返回值,叫 plot 一, 然后大家再看一下这个 plot 一, 又放到了这个 set 这个函数的第一个,这第一个输入参数里面,然后它还是 plot 一 括号一,然后 plot 一 括号二, plot 一 括号三。好像很奇怪,然后 plot 一 我们可以去看一下, 将这个 plot 一 拿出来看一下,哦,的确它是一个啊,它是一个项链,然后它是有三行的三行一列,它里面有三个元素,有三个啊值,第一行,第二行,第三行有三个值, 大家可以看一下啊, plot 它有个返回值, plot 一, plot 一 里面有三个值,然后我们绘图的时候,其实我们绘制的是三条线, 然后它刚它这个里面刚好又有三个值,然后在设置这个,我们在设置限行的时候,又分别用了 plot 一 里面的第一个值, plot 一 里面的第二个值,有 plot 一 里面的第三个值,然后所有的这些返回值像 plot 一, x x 一, figure 一, 哎,这些是什么呢? 可能刚学啊 matlab 的 同学对这个可能是有一头雾水的,其实这个就是啊,说到了这里的话,就是我们今天这一讲的一个核心的一个内容,就是图形聚丙的一个概念, 就是我们在绘图的时候,当我们有多条曲线需要进行设置的时候,这时候 matlab 里面它自动生成的代码,它是用这个啊,是这种 图形锯饼的这样的一个方式来来做一个操作的,然后用到了 set 这个函数来设置这一些取这些啊线的这些这些啊线上面的一些颜色啊,一些记号啊这些属性。 所以说我们很有必要去知道什么是 fig 一, 什么是 x 一, 什么又是 plot 一, 这些都代表什么?这个就是我们下面所要说的一个内容。 下面来讲一下这个啊图形聚饼体系,我们将这个代码运行一下,我们对到着这个图来说,这个图形聚聚饼体系 好,我们看一下啊,当前的话是一个屏幕,然后屏幕上面呢有这样的一个图形窗口叫 figure 一, 然后这个图形窗口里面大家再看有一个坐标系,这地方是一个坐标系,对吧?然后坐标系里面有什么呢?三条线,一个图例,还有什么?还有这三个文字,这三组文字 这个其实是很清晰的,从屏幕到图形窗口再到坐标系,然后再到坐标系里面的曲线以及文字,这个是一层一层往下的一个关系。 我们刚刚所说的那些啊关系的话,就是这个里面的蓝颜色文字的一个内容,首先是我们的计算机屏幕,然后计算机屏幕下面呢是一个图形窗口,那图形窗口下面呢?接着又是一个坐标系对象, 然后坐标系里面呢又包含我们的这个啊线条,还有一些文字好,是这样的一个从上而下的这样的一个关系,同样也是包含和被包含的这样的一个关系, 这其实就是我们 maclab 当中的图形聚丙体系。当然啊对于 图形窗口的话,它下面的话不止不只是可以有这个坐标系,它还会还可能会有像这个啊 ui control 就是 界面控制对象和界面菜单对象,然后这两个对象的话是在我们这个做界面设计的时候会用到,就是我们在做 g u i 设计的时候会涉及到这两个对象,然后我们今天的这一讲里面 只涉及到坐标系,就是我们的 figure 下面我们只看坐标系的这种情况,然后在坐标系下面的话,其实它可以有很多对象,除了我们刚刚看到的线条对象和文字对象以外,它还可以有矩形对象、表面对象、光源对象、图像对象和贴面对象。 那今天的话我们只涉及这个线条和文字,然后刚刚我们也看到从计算机屏幕一直往下到线条和文字对象,其实他是从上到下的一个关系,然后 从上而下我们来看的话就是副对象和子对象的关系,其实子对象是包含在副对象里面的, 比如说这两个是子对象,他的副对象就是坐标系,他是包含在坐标系里面的,然后坐标系的他的副对象呢就是图形窗口对象,当然坐标系也是被包含在这个图形窗口里面的,然后顶层的这个对象其实就是我们的计算机屏幕。 好,这个是说了就是整个这个图形里面它的一些对象,它之间的一个啊,从上而下的这样的一个啊,包含和被包含的这样的一个关系。 然后我们再回到这个啊图形窗口里面,我们再回到这个图形窗口对象,以及坐标系对象和这些曲线对象,线条对象和文字对象,我们回到这个对象里, 大家可以看一下啊,我们所有的每一层里面的这个东西,它都叫对象,对象,对象,都是对象对吧?好,但这边还有两只大象对象对吧? 好,都叫对象。那这时候会有一个问题,我们有这么多的对象,而且不同的对象他在的层级也不一样,有的是副对象,有的是子对象。有这么多对象, 那我们的 matelab 怎么样才能把这些对象区分开来?因为都是对象,这时候就涉及到对象的区分和识别, 然后在 matelab 里面,它其实是啊,通过给每一个对象进行一个编号,做一个唯一的一个啊编号,然后用这个编号来代表不同的这个对象, 然后这时候我们给这个,给某一个对象所做的这个编号,就叫图形锯饼, 这时候我们引出了锯饼的这个概念了,就是对象的编号,对象的编号就叫锯饼,这是对象对吧?一对大象对象,它的一个唯一的一个识别的一个编号,就叫做这个对象的锯饼。 因为对象本身我计算机是,你是没有给他量化的,所以说他没有办法去识别你。但是一旦我给这个对象,给某一个对象,比如说我给这个线条对象,给这个文字对象,我给他了一个唯一的一个识别号, 可以看一下啊,比如说我们这个 plot 一 里面是有三个线条的,对吧?所以说这时候我给这三个线条给他了三个三个编号,就是说这三这三组数就分别对应这三个线条的编号, 这时候我这个编号就是我这三个线条的距比,就分别这三个编号就是我三个线条的它的这个距比, 这三个线条它的它的编号分别在这个地方,所以说这时候它的编号我们在 matelab 里面就叫做锯饼,其实这些值就是这些三个线条的它的这个锯饼, 这时候我们就建立起来了聚丙的这样的概念,同样的我们还有 x、 x, 对 吧?我们的坐标系它也是一个对象,我们可以看看坐标系的这个对象,它的编号是 x、 x 一, 同样的它也是一个数值,对吧?所以说 坐标系对象它的这个编码在这个地方,也就是叫做这个坐标系对象,它的聚丙。 好。讲了一圈,其实就是在说一个问啊,说一个概念就什么是聚丙?聚丙就是对象在 matelab 当中的一个唯一的一个编号就是聚丙。 好,我们来类比一下,对于人来说,我们有有,中国有十三亿人,有很多很多人,对吧?然后我们怎么来识别每一个人呢?公安系统里面是 给每一个人给他一个身份证号,也就是说给这个人给他身份证号是他的唯一的一个识别号,然后通过身份证号呢,我们就可以啊识别出这个人是谁。 然后聚丙其实也是类似的,我们有各种各样的对象,然后我们怎么来识别和区分这些对象呢?啊?就就给他一个编号,这个编号就叫聚丙值啊,聚丙值和人的身份证号其实他是一个啊,相似的这样的一个一个东西,对吧? 然后对象和人是这样一个相似的,这样的一个是是有相似性的,身份证号和聚丙有一个相似性, 然后对于人来说,他身份证号和人是一一对应的这样一个关系,并且身份证号是具有唯一性的。那么对于对象和聚丙来说,一样的 锯柄,锯柄和对象它也是一一对应的,然后锯柄的值呢也是有唯一性的,我只要知道一个,知道了一个锯柄,然后我就其实在计算机它就知道这个锯柄代表的是哪个对象,就是这样的一个关系。 然后后面我们在对啊对象的属性去做一些啊设置的时候,那我们就是通过这个对象的编号,也就说这个对象的距来找到这个对象,然后对这个对象来做设置, 然后我们下面来看一下这个啊对象的属性,我们知道对于一个人来说,他有身高、体重、肤色等等属性, 那么同样的对于啊不同的对象来说,它也也有一系列的属性值。比如说我们来看一下啊 figure 这个对象它的属性,也就是图形窗口的属性,它首先有名称,有背景色, 然后对于坐标系啊这个对象它的属性,它有 x 轴的范围, y 轴上面显示的刻度, y 轴上面显示的刻度等等。 然后对于一条线来说呢,它的属性,比如说有线型线宽线的颜色,标记的形状,标记的填充色,标记的边框色等等。然后对于一个文字来说,它的这个属性, 比如说包含有这个文本里面的这个文字的内容啊,它的字体字号是多少啊?以及文字的颜色是什么?这些都是文本的一些属性。 好,我们以这个图为例,我们来看一下就是不同对象的它的这个啊属性查看器。我们以刚刚啊最早画的这个曲线为例, 我们运行一下这个第一个代码,像这个这个 这个图形,将它复制出来,然后我们来看一下不同对象的属性。首先我们来看一下这个 figure 的 属性,我们点这个箭头,我们啊单击一下,双击一下这个图形窗口的这个背景, 双击之后它就会跳出来这个属性查看器,对吧?我们点击这个 more properties, 这时候大家可以看到这是一个查看器,属性查看器查看的对象是这个 figure, figure 对 象就是图形窗口对象,然后这边的话 列出了这个我们这个 figure 图形窗口这个对象它的所有的属性名称属性值,左边是属性名称,右边是属性值, 比如说我们刚刚设置过的这个啊,图形窗口的这个名称这个属性啊,当然还有背景色这个属性,比如说背景色,它的属性名称是 color, 颜色是白色。 然后我们再给大家看一下坐标系这个啊对象的它的这个属性。好,我们点击到这个坐标系上面,同样的去点 more properties, 这时候这个属性查看器就变成了我们的这个坐标系对象了。好,一样的,这边是属性名称,右边是属性值, 比如说我们之前设置过的 x 轴的范围这个属性,来看一下它的属性名称是什么,比如 x li, 对 吧? x 的 范围是零到六点五,这个属性名称叫 x li, 它的值是零到六点五, 类似的,我们可以看线它的所有的属性一样的属性名称属性值, 当然你可以去点击文字 properties, 那 这时候查看的话就是 text 是 是啊,文本的它的这个所有的这个属性名称和属性值。 前面给大家介绍了这个四种对象,图形窗口对象、坐标系对象、线条对象和文本对象。 在 matlab 当中,它提供了一些相关的命令,用来创建图形窗口,比如用 figure 这个命令来创建一个图形窗口对象,用 xs 这个命令来创建一个坐标系对象,用 line 来创建一个线条对象,但是 line 这个函数一般用的比较少,我们 多数情况来画,绘制这个二维曲线的时候,我们是用 plot 这个这个函数的功能会更加的强大, let 用的比较少,所以我们后面的例子都是 plot, 直接用 plot 来绘制这个线条这个对象。 然后创建文本对象的话,通用的方法是用 text 这个函数,同样的 text 用的也比较少,我们一般绘图的时候就是设置 x 坐标, y 坐标和标题,它都有啊,专用的这个函数来给你生成一些啊,这个 x 轴的注视, y 轴的注视和标题,其实生成的都是文本对象。 好,通过前面的介绍啊,我们已经知道就是对象以及对象的聚丙它是什么了。在 matlab 当中啊,有三个比较特殊的,这个啊,对象聚丙叫当前对象聚丙, 比如说我们当前的图形窗口锯饼,我们要获得这个当前的图形窗口锯饼的话,用 gcf 这个命令, gcf 它的全称就是 get current 的 figure gcf 就 可以获取当前图形窗口对象它的这个锯饼值,然后如果获取当前坐标系的锯饼呢?就是 gca get current axis, 然后还有一个叫啊,最近被鼠标单机过的这个对象矩阵就叫 t c o get current object, 然后之前我们在这个代码里面也已经看过啊,用 set 函数, set 函数来它的一些用法我们已经看过了,其实这个是设置这个啊,设置这个线条它的一些属性值,我们用的都是 set 函数, 我们在 matelab 当中来设置一个对象的属性值的时候,我们就使用 set 函数, 然后 set 函数里面的第一个输入参数就是对象的锯柄 h 杠 object, 然后 h 其实就是锯柄的英文单词 h handle, h 是锯饼的英文单词 handle 的 第一个字母,所以说啊,我们一般用,一般很多时候就是说我们来定义这个锯饼的时候,我们前面会习惯性的给它加一个 h, 代表这个是一个锯饼, 这个变量是锯柄,所以说 h 杠 object 就是 一个对象的锯柄,这个里面大家注意一下,英文里面 handle 就是 锯柄的意思,所以说我们一般定义锯柄的时候,前面会加一个 h, 但你也可以不加,这只是书写习惯的一个问题。 然后设置一个对象的属性值的时候,用 set 函数, set 里面的第一个参数就是这个对象的距饼值,其实这个对象的距饼就代表这个对象刚刚已经说过。然后第二个的话写你你想要设置的这个啊对象的属性名称, 然后第三个你去写这个对应属性名称,它的这个属性值大概大概是这样的一个啊,这样的一个 书写的一个一个方法,当然这个里面我们只列了一组,对吧?你后面还可以接着来加很多组,加很多很多组的 property name 和 property value 成对的出现,往后面加就可以了。 好,说了这么多,我们还是来啊做练习,然后这样的话大家理解起来会更深入。 其实啊,最终你理解了之后,还是需要通过啊写代码的方式才能掌握这个用法,才能啊学到真正的东西。所以下面的话,我们来来做一个案例, 做一个会制一个单条曲线,我们先从简单的单条曲线的这个居民操作先来学起,然后再过渡到多条曲线的这样的一个设置。 好,我们来绘制这样的一条曲线啊,这个曲线的这个表达式就是它的输出 y 其实是一个二阶系统的一个时域输出了,这个学过控制理论,或者甚至说机械振动啊这一些 啊,这些同学应该对这些公式至少有所印象吧,有没有印象的话也没有关系,我们只只要根据这个公式去把这个 y 把它定义好了就可以了。 有这样的一个公式,然后这个里面的话, theta, omega, n 和时间 t 都是作为已知已知参数的, 就 theta 和 omega n 是 已知的两个参数,然后 t 的 话是一个时间序列,这些都是已知的量。而有了这些已知量的话,这个其实 这个等式的右边就是可以直接通过这个已知的量将它计算出来。比如说 omega d, 通过两个已知的量, omega, n 和 zeta 可以 直接算出来,这个象脚可以通过 zeta 也可以直接算出来。然后 t 的 话,我们给定的一个时间序也是已知的,直接单进去算就可以算出来这个 y, 因为这个这个 y, t, 这个这个公式还是有一点复杂的,所以说为了我们后面来写代码的这个简洁和方便,我们将 这个公式,我们将它分装到一个函数里,做成一个函数的形式,然后我们再来写这个代码的时候,直接调用这个函数就很容易的啊,将这个 y, t, 将它简单简单明了的将它生成出来。 这时候顺便给大家看一下,就是说怎么来写一个函数来定义刚刚的这个函数,定义刚刚的这个公式,我们用 function 的 形式来给它定义好, 它的这个输出值就是我们想要的这个输出的变量是小 y t, 所以 说输出参数是 y。 然后我们给这个公式起个名字,我们叫二阶系统,用汉语拼音来代替二阶系统, 它的输入参数和已知量是 zeta, omega, n 和 t, 所以 说这三个已知量我们作为一个输入参数, zeta, omega n 和时间 t, 然后我们根据这个公式来计算就可以了。先计算一下 omega d 等于 omega n 乘以根号下,乘以根号下 e 减 z, 它的平方 根号下,根号开,根号就是 s, q, r, t 这个函数 z 它的平方, 这 omega, n 就 将它定义出来了。完了再定义一下这个象角 five octane 的 这个 好,我们将这样就将 omega, d 和 five 就 定义好了,都是通过已知的参数 omega, n 和 theta 直接可以算出来这个 omega, d 和 five, 然后再将 omega, d 和 five 带到上面的这个公式里面,以及输入的这个时间 t 带上去之后,就可以将这个 y 将它算出来了。 来定义 y, 首先是一个指数,指数函数或者 z 乘以 omega 乘以 t, 然后除以根号下, 除完了之后再乘三, omega, d 乘以 t, 加上 five, 这样的话我们就将这个函数定义好了,大家检查一下这个公式,防止大家写错。那注意一下,这边是点乘啊,是点乘,因为这个 t 是 一个,会是一个向量,这边我们要用数组的乘法,所以是点乘。 大家检查一下这个 y t 这个公式,防止写错。 写好的时候我们保存一下保存的文件名,一定要和这个函数名一样,就是一 g x t 二 g 系统, 这样我们就将刚刚的那个公式就定义到这个函数里面去。 好,我们再来新建一个 m 文件, 我们定义一个 zeta 等于零点三, 来定义 omega, n 等于二十。再定一个时间序列,从零开始,零点零二的间隔,再到一点五, 然后我们调用刚刚的那个函数二阶系统, 好,我们就可以计算出来一组吧, 我们运行一下这个代码,零七杠三 看一下啊,好,我们计算出来一组 y 还一组 t, 对 吧? t 的 长度和 y 的 长度是一样的,两个都是向量,都是七十六个,所以我们这时候可以 plot 来看一下效果,这我们就画出来了这样一条曲线, 大家注意一下啊,我们 plot 这个函数的话,我们绘制的话其实是会记这样一条曲线的,这样的一个命令,绘制这样一个线条对象的这样一个命令。但是我们在绘制线条对象的时候,大家有没有发现 它自动会把这个图形窗口对象,就是飞格对象和这个坐标器对象,它将它自动的创建出来了。 其实这个也很容易去理解,因为我们这个图形对象或者这个线条,我们这个线条对象一定是要在这个坐标系对象这个下面的,然后坐标系对象一定又是在这个图形窗口对象下面, 就是我们刚刚说的这个 matlab 当中的这个图形聚平体系,我们的这个线条对象一定是要在坐标系对象下面,然后坐标系对象的这个负对象,它是图形窗口对象。所以我们刚刚虽然我们只只用 plot 这个命令来创建了线条对象, 但是他会把默认的这个默认的会把他的这个线条对象的副对象就是坐标系对象,以及作坐标系对象的这个副对象, figure 对 象,然后将他自动的甚至创建出来。其实这个也很好理解,他是儿子吗? 没有脑子哪有儿子,对吧?同样的 axis 就是 figure 的 儿子,对吧?没有 figure 这个老子,哪有 axis 这个儿子?所以说你即便创建了拉引这个孙子,对吧?你还得把他的爹和他的爷爷也要将它创建出来,它不能单独的存在的,它肯定是有, 它肯定是从从上而下这样一脉相承下来的。所以说大家注意一下,我们虽然只 plot 了这条线,它会自动地生成这个坐标系窗口和这个图形对象,图形图形 c 这个窗口, 因为我们下面的话是要做聚丙操作的,这样的一个实力,对吧?所以说我们将这个 plot plot 完了,它的其实是生成的是一个啊线条的这个对象,我们将这个线条的对象保存在这个 h 里面, h 的 话就是这个刚刚那条线条的它的锯饼, h 就 代表我们 这条线,这时候 h 就是 这条线的锯饼, 好来运行一下,然后我们来最对这个整个这个图形这个系统,我们来给它做一些设置。 首先我们将这个图形窗口的这个背景色,我们将它设置成白色, 我们用 set 函数来进行设置。还记得我们刚刚所说的这个当前当前对当前对象矩阵的这个概念,这时候我们啊当前的图形窗口就是这个 figure 一, 所以说我们来设置这个飞格一的它的这个这个对象的这个啊颜色的这个属性,那我们首先要获得飞格一这个对象,它的距离,它是一个当前的图形窗口对象,我们用 gcf 就 可以获得这个图形窗口的它的这个啊, 就是当前的这个图形窗口的这个锯饼,好,我们用 set 函数好 gcf, 我 们就得到了这个图形窗口的它的这个锯饼。然后我们将它的属性,好,我们将它的这个背景颜色这个属性, 先双击一下这个对象,好吧?然后比如我们要设置这个背景颜色,对于初学者来说,我不知道背景颜色这个这个属性的名称是什么,那我们就到这个啊属性查看器里面去看一下,我们去找一下, 比如他有这么多的属性值,我们去看一下点这边的,这边有有两个加号的,他是将这个属性的这个啊名称将它分类了,比如说我们要看的是颜色,背景颜色,它属于这个啊, 属于这个外观之类的外观和属于外观的这个啊子目录里面的,所以说我们点开这个,这个里面会有一个 color, 大家可以看一下,可以对照一下,现在是灰的,对吧?所以说 现在的这个背景颜色是灰色的,这边是灰色,它的名称叫 color, 所以 说这样通过这种方式的话,我们就可以得到这个属性的名称, 因为我要设置一个啊,设置一个东西的时候,我不一定知道它叫什么名字,它这个属性我不知道它叫什么名字,到属性查看机里面去找一下,这个可读性还是比较强的。 好,那我们就设置背景色,它的名称叫 color, 将它设置成白色,用 rgb 这个来表示的话就是一就是白色。 然后我们再将它的这个这个名称名称,我们将它设置成二阶系统。一样的,我可能不知道它这个名称啊,它的名称啊, 它对应的这个属性属性名是什么一样的,可以去去找一下 data 里面看看。好,这边有一个 name, 对 吧? 就是它了,它的名字很容易理解,名称嘛,就是类,将它的名称设置成二阶系统。 好,我们来运行一下,看看这个效果怎么样。果真啊,这个背景色设置变成了白色,看看这个名称二阶系统,用 set 函数 gcf 就 代表当前的这个 tcf 就是 代表当前的这个图形对象这个窗口, 它的这个锯柄。当前图形对象啊,当前图形窗口对象,它的锯柄就是 tcf get current faker 它的背景色这个属性名称,将它这个属性值设置成白色,然后它的名称这个属性将它设置成二阶向量函数 啊。同样的,我们设置完这个图形窗口对象,我们再设置这个坐标轴这个对象,来设置它的一些属性值, 然后设置这个坐标轴对象,设置这个坐标轴对象的时候一样一样的,我们要先得到这个坐标轴对象它的这个距比,我们用 g c a 就是 get current axis 就 可以获得当前的这个坐标系的它这个距比, 就设置当前这个坐标系,对吧? t c a 就 代表当前坐标系的它的这个距饼,我们将它的 x 轴范围 这个边,我就直接给这个啊属性名称了,关于就是怎么来找这个啊?属性名称一样的,去到这个属性查看机里面,大家去看,然后去 去每个属性值挨个的去读一下,很容易去理解,哪个是哪个属性值代表什么,哪个属性你看代表什么,同样的可以点开那个属性值去看一下,然后确认一下自己选的是对,这边我就直接给这个, 直接把我们要设置的这个内容,直接把它这个属性我就直接写出来,就不再重复了。我们将它的这个 x 轴范围,我们设置成零到一点六,然后再将 y 轴的这个范围 设置成零到一点五, 来看一下效果,来看一下 x 轴的范围零到一点六, y 轴的范围零到一点五,然后我们再来设置这个间隔, 就是 xt 间隔, x 轴我们设置成零点二的一个间隔,零到零点二到一点六, 然后 y 轴的间隔 我们设置成零点二五的一个间隔, 运行一下,看一下效果,看一下 x 轴的间隔,零零点二,零点四,间隔是零点二, y 轴的间隔是零点二五。然后我们来继续设置, 将这个这个图形显示出来,我们下面来设置一下 x 轴坐标它的这个颜色, x 轴的颜色,好吧。然后再设置一下 y 轴的这个颜色, 还是对坐标轴这个对象来进行设置。 x 轴的颜色,它的这个属性名称叫 x color, 将它设置成红色, 然后 y 轴的颜色叫 y, 设置一个,设置一个 rgb 的 一个颜色的一个定义。 好,运行一下,看一下效果,这可以看一下啊,这个 x 轴变成了红色, y 轴是品红色,呃,是粉红色这样的一个情况。 然后再将 x 轴的字体和 y 轴的字体,我们将它加粗,将这些字体将它加粗, 字体的粗细这个属性就是 font weight, 加速就是 bold。 再来看一下效果,好加粗了,对吧?然后我们不需要这个,这边的 box, 我 们不需要它,然后再把网格线打开, 看一下效果,这时候已经效果已经比较好了啊,这边加粗的字,加粗的字颜色,这边打开网格线,将这个 box 去掉, 我们还可以生成。我们将 x 轴和 y 轴,我们将它注视一下,比如 x 轴,我们叫时间 t, y 轴叫输出值 y, 然后再加一个标题, 二阶系统的响应。 这时候其实我们创建的是三个文本对象,同样呢,我们可以将文本对象的这个锯柄将它获取,比如说 我们这个锯柄叫 h x, x 轴注视的这个锯柄叫 h x, 然后 y 轴这个注视的这个锯柄叫 h y, 然后这个标题的这个文字的这个锯柄,我们叫 h t, 所有的都以 h 开头代表 h 的 好。然后我们可以对这个文字进行一些设置,对文本就是 text 的 对象,我们来给它进行一个设置,比如我们先设置 x 轴注视的这个文本它的一个属性,我们设置一下这个文字的颜色吧, 让它设置成黑色,看一下这个运行的结果, 哦,变错了,这应该是 h x, 看一下啊,这时候它显示的是黑色,我们将这个 x 轴的这个啊时间 t 的 这个文本就是 h x 这个锯饼,将它这个颜色设置成了这个黑色, 然后我们可以设置啊 y 轴的这个注视它这个文字的颜色, 我们将它颜色设置成 blue, 我 们再设置这个标题的这个啊文本的这个颜色, 找一个 rgb 分 量 rgb 的 这样的一个颜色定义,大家看一下效果。 然后我们将这个标题的这个字体,我们将它放大一点,像字体这个属性放到 size, 将它设置成十二, 来运行一下这个代码,来看一下效果好,大家看一下啊。这边是我们生成了这个三个文本对象,就是 text 的 对象,分别是 x 轴的注视, y 轴的注视和这个标题标题标题名, 然后将它这三个文本对象分别保存在这三个,它的这个锯柄分分别保存在 h x、 h x、 h y 和 h t 里面,是代表这个三个文本的这个呃文本对象的这个锯柄,然后分别来设置这个三个锯柄的它的这个颜色, 比如说 x 轴注置的颜色零零零代表黑色,然后 y 轴的这个文本的这个颜色 代表是蓝色,就零零一代表蓝色,然后再将这个标题的这个颜色,我们设置成这样的一个 rgb 分 量,大概是一个比较偏绿色的这样的一个颜色,然后同时将它这个字体啊设置成十二,大家可以看到这个字体明显的比这两个 明显的比 x 轴标识和 y 轴标识的这个字体要大,它是十二十二号的一个字。 设置完这个文字之后,我们最后来设置一下这个线型,设置一下我们这个线条对象的它的一些属性,这个 我们刚刚已经将这个线条对象的锯饼保存在 h 里面,所以我们 set 函数直接对 h 进行设置就可以了。我们来先设置它的这个 line style, 就是 线型,将它设置成中心线, 然后再来设置线宽, 你将线框设置成二,然后再来设置它的颜色, 将颜色直接设置成黑色, 看一下效果, 它是中括号。好,这样的话就将这个设置成中心线框是二,颜色是黑色。 好,我们继续对它做设置,对这个线条做设置,我们给它添加一个标识, 给它添加一个上三角的这个标记, 再做一个颜色的一个定义, mark face color。 好, 这样就得到了我们这个这个整个图形的这样一个定义了。 我刚刚定义的是一个上三角的这样的一个标记形状,然后里面给它填上一个青青色的一个颜色,然后边框的这个啊颜色是黑色。 填充直接定义了填充色是一个青色,然后边框没有定义,它是一个默认的一个颜色, 再可以再回味,再回味一下这个代码啊。首先我们是生成了一个 x, 坐标是 y, 坐标是 呃,横坐标是 t, 纵坐标是 y, 然后绘制成这个曲线,然后将这个线条的这个对象呢,它这个锯柄保存在 h 里面,然后紧接着我们来设置这个图形啊图形窗口对象,然后再来设置这个啊坐标系对象, 然后再生成了三个文本对象,然后再来设置这个文本对象的属性,最后再设置这个线条对象的属性,这整个就是一个聚丙操作的这样的一个啊代码的一个标准的一个写法。 好,刚刚我们看的是一个啊单曲线的这样的一个啊锯饼操作的这样的一个实力。下面我们来看一个稍微复杂的,我们看一个多曲线多坐标系的这样的一个啊图形操作的一个图形的锯饼操作的一个实力。 我们生成一个新的 m 文件, 先来看一下我们想要啊绘制的一个图形大概是一个什么样子, 我们会在一个图形窗口里面放两个坐标系,第一个坐标系,第二个坐标系,然后每个坐标系里面我们放置两个啊,两个啊线,两条线, 然后分别第一个坐标系里面放的这个 z 叉值是零点二和零点四,然后第二个坐标系里面我们放 z 叉值,零点六和零点八的这样的两条线, 所以我们首先要定义这个四条线,它上面的这个数据来定,先定义 c 四个 zeta, 然后再定义一下 omega, n 还是等于二十时间, t 还是从零到零点零二到一点五, 好,然后我们来定义四条线的这个 y 值, 我们刚刚将这个 y 的 计算是分装到二阶系统这个函数里面了,就是大家可以看到我算 y 值的话,我直接调用这个函数就可以了,所以就算起来就很方便,没有必要重复的去写公式了。首先是 y 一 对应于 z 叉一, 这样我就很容易把 y 一 就这样算出来调用函数,这时候代码就很简洁,重复的话 y 二再次调用函数,这个就是函数分装所带来的一个好处, 这样的话我们就将这个四条线的这个 y 值,我们将它算出来了, 保存一下, 好,我们先生成一个图形窗口,运行一下这个代码,这时候生生成的是一个空白的这样的一个啊, figure, figure 窗口, 然后我们来对这个 fake 窗口,我们先拿先对它来做一个设置,好吧,这样我们生成的是 fake, 当然我们生成的这个 fake 就是 当前的图形窗口了,对它来做一个设置, gcf 是 它的距比,先设置它的颜色, 让它设置成白色,然后再设置它的名称内 叫二阶系统,看一下这个效果,看一下啊,首先我们生成了一个这样的一个图形窗口对象,然后设置这个当前的这个图形窗口,它的背景色是白色,它的名称是二阶系统。 接着我们就要来生成一个生成坐标系了,对吧?我们要生成的, 我们在这个图形窗口里面先先生成一个坐标系,我们总的是要生成一个两行一列的这样的一个布局的一个啊子坐标系统,然后先生成两行一列当中的第一个坐标系,我们来看一下这个效果。 好,这是大家可以看一下啊。 subplot 就是 要生成一个坐标系,这个坐标系呢?整个飞格里面呢?我们要生成一个两行一列的一个坐标系,这时候是在第一个位置上我们生成一个坐标系,这时候我们只看到了一个坐标系,对吧? 然后我们在这个第一个坐标系里面,我们进行一个绘图,我们将 y 一 和 y 二的这两条曲线绘至在第一个坐标系里面。 好,这时候我们就在第一个坐标系里面这样画了这两条这两条曲线了。好, 我们后面要对这两条曲线,就是 plot 出来的这两个啊线条对象,我们对它进行聚丙操作,所以我们需要将这个啊这两个线条对象的聚丙值,我们将它保存下来,将它保存保存到 h a 里面去, 再运行一下,然后我们来看一下 h a, 大家可以看一下 h a 里面有两个值, 好,这两个值就分别代表这两条这两条线条对向的一个距,一条是蓝颜色线的距,一条是这个绿颜色线的这样一个距,两个值就代表这两条线分别代表两条线的距, 第一个 h a 里面的第一个值就代表 y 一 的距离, h a 里面的第二个值就代表 y 二这条线的一个距离。 好,这样绘制好了,对吧?然后我们进行坐标系的一些设置,先设置一下坐标系, 我们设置一下坐标系的这个范围是零到一点六, y 零 y 的 范围也给它设置成零到一点, 运行一下,看一下,这时候 x 零到一点六, y 也是零到一点六,我看一下啊, set 的 话,这边是 gca, 就是 get current x, 这时候我们是生成了这个 这个坐标系是刚刚生成的,所以说刚刚生成的这个坐标系就是这个坐标系,它就是当前的坐标系,就是 g c a 就 代表它的这个聚,这个坐标系的一个聚丙值。 我们再来将这个坐标系的这个标签进行一个设置, x 轴标签的间隔我们设置成零点二, y 轴的标签我们也要给它设置 y 轴的这个间隔,我们也给它设置成零点二, 好看一下效果。 x 是 间隔零点二, y 的 间隔也是零点二, 然后我们将这个 坐标轴上面的这个字体,我们将它加粗 好,这时候这边的字体都加粗了, 打开网格线,关掉那个 box, 打开网格线,然后这个 box 也关闭了, 然后我们添加注视 x 轴的一个注视叫时间 t, 然后这时候我们直接在这个 x level 这个函数里面,我们来给这个文字添加一个颜色, 当然也可以用我们前面那个例子的方法对锯柄进行一个设置,然后怎么方便怎么来,有时候这样写的话会更方便一点,那我们就这样写好,这时候这句话的意思就是说给 x 轴添加注式时间体,然后这个文本的颜色,是啊,零零一这样的一个颜色, 类似的,我们可以给 y 轴,也给 y 轴来加一个注式, 把它的这个文本的颜色我们也来设一下,我们也设置一个零零一的这样的一个颜色, 来看一下效果好,又添加了两个注示,然后颜色是蓝颜色,然后我们再来添加一个标题, 然后我们将标题的这个字体也给它加粗, 这样的话我们将这这三个文本也给它添加上去了。然后最后的话,我们再来设置一下这两条线的一些属性。 好,我们绘制的这两个线条的这个锯饼保存在 h a 里面,刚刚我们看过 h a 里面其实是有两个量的,然后 h a 里面的第一个值就代表 y 一 的锯饼, h a 里面的第二个值代表 y 二的锯饼。 set, 第一条线是 a 一, 代表第一条线的一个锯饼,我们来设置一下它的线型, 设置成中心线, 线宽设置成二,线的颜色 将它设置成一零零。 再像第一条线的这个 marker, 我 们设置成圆圈, 这边用小 o 表示。好,来看一下这个效果。第一条线颜色是红色,线宽是二,然后中间的这个标记是圆圈,线型是中心线。 第二条线这个代码跟它类似,我们考下来改改一下就好了。然后第二条线的话,它的锯柄是 h h a 二就是 h a 里面的第二个, 然后线型的话和线宽的话跟第一条线一样,然后颜色的话我们改一下,这边我们改成零点五,零点七,零点五, 然后 mark, 我 们改成一个方块 square。 好,我们看一下这个效果,这样的话就得到了这个两条线的这样的一个设置。然后同样的这边的话有两条线,我们需要来给它区分一下,所以加一个图例,图例的话我们直接用 legend 的 这个函数来生成一个图例, 那里面写上我们所要标识的这个啊字母串的这个内容,我们只要标第一个第一条线的话,就是 z 叉值等于零点二, 然后第二条啊线的话,我们想要标识的话就是 z 叉值等于零点四。 将它这个两个字母串,将它放在这个单元素组里面,来看一下这个效果, 看一下啊如果没有最大化的话,这个这个图例的话,将这个线挡住了,我们将这个图例换到这个 这个右下角,右下角在地图上面的方向的话就是东南方向,东南方向就是我们这边加一个 location 的 一个属性,就是位置的一个属性 southeast。 好, 来再看一下这个效果, 这时候图例就放到这个东南方向来了, 这是上面我们在第一个坐标系里面做的一些啊,绘制成两条线,并进行了设置。好,紧接着我们在第二个坐标系里面来绘图, 两行一列,这个呃子坐标系里面的第二个,看一下啊, 好,这是我们在这个下面的第二个位置也生成了一个坐标系,大家注意一下,一旦我们 subplot 二一二就是生成了这个新的坐标系, 最新生成的这个这个坐标系是当前坐标系,这时候的话,如果我们写 g c a 的 话,它就不再是上面这个坐标系了,这时候当前的坐标系就变成了下面的这个坐标系,写 g c a 的 话,就是下面这个刚刚生成的这个坐标系,就是 g c a, 就 代表下面这个坐标系的一个啊距比 这边我们一样的来绘制两条线,然后将这两条线的这个啊锯柄放到 h b 里面,我们来绘制 y 三和 y 四, 这时候在下面这个坐标系里面也绘制了两个两条线了。好,然后我们来设置 这个坐标系的一些属性值,刚刚说过了,这时候如果写 g c a, g c a 的 话,是代表最新生成的这个子族标记,这个子族标记的这个啊聚丙值,现在的话就是用 g c a 就 可以直接获取,所以跟上面的代码是高度类似的,我们将它 将这些拷贝下来,然后做一些修改就可以了。 这边 x 的 范围,我们将它改成零到一点二, 然后 x 的 这个间隔还是零点二, y 的 间隔也是零点二,但是它是到一点二就结束了,然后这边的话字号字字体将它加粗,然后打开网格,关闭这个 box, 然后设置这个啊 x 轴的注视它的颜色,然后 y 轴的注视和颜色,然后再设置一个标题,都跟它跟之前的保持不变,来看一下这个效果。 这些都设置完了之后,同样的我们再来设置这两条线的一些属性。好,同样的我们将这个也要拷拷贝下来,在这个上面做修改, 这时候我们设置 y 三的啊属性, y 三,它的锯柄是 h b 里面的第一个, y 三是 h b 里面的第一个 颜色,一样的,我们也是一零零这个颜色,然后 mark 也是这样, 这样我们来写的简单一点,那这地方注意一下,这是 set, 这边是 h b 啊,所有的这个这一的,这边的话我们都设置的 y 三这条线,所以这边 set 的 话都是 y 三这个线的这个距离,这边是 h b 就是 y 四 h b 二。 好,这样的话我们就将 y 三和 y 四这两条线将它的属性也设置好了,来看一下这个效果。 那上面这个坐标系是类似的啊,因为我们的设置都基本上是类似的,然后让大家能够知道怎么样来用锯饼进行操作就可以了。然后最后一样呢,我们给下面这个坐标系里面加一个,加一个图,利用 legend 这边的话是零点六和零点八的 zatch, 我 们还是放在东南这个方向 好,这样的话就就完成了这个整个图形的绘制,以及啊所有对象的它的一个属性的一个设置, 大家可以再回味一下这个代码。首先我们生成了一个图形窗口,然后直接用 set 函数对当前的这个图形窗口进行了一些属性的一些设置, 然后生成了一个啊,第一个这个紫坐标系,然后在这个紫坐标系里面绘着 y 一 和 y 二的这个图形啊这个线条,然后将这两个 y 一 和 y 一 的 y 一 和 y 二这两个线条的距离保存在 h a 里面。然后接着我们来设置这个坐标系, 然后添加一些注示,然后再设置分别设置 y 一 的属性和 y 二就这条线的一个属性,最后来添加一个 添加一个图例,然后对于第二个子坐标系一样的会是 y 三 y 四的这个啊线,然后对坐标坐标轴,坐标系啊,以及这个文本做一些注视啊,以及一些属性的一些设置。最后添加图例, 大家可以再运行一下,看一下这个结果, 这就是我们刚刚得到的这个最终设置好的那个图 啊,今天这一讲的内容就是这么多,然后获取更多的 matelab 教学视频以及学习资源,请请联系我的 qq 号和微信号, 然后扫一下这个下面的这个二维码,可以加我,加我的一个个人微信,然后右边的这个二维码是一个 matelab 公众号,也欢迎大家一起来加一下这个 matelab 公众号,然后关注更多的啊 matelab 教学的这个动态。好,谢谢大家。

传感器采集的数据往往夹杂大量高频噪声,硬件 rc 电路成本高,体积受限,如何只用软件算法实现降噪?本期视频带你用一行代码 实现工业最常用的一阶低通滤波器。首先回顾经典硬件 rc 低通电路,由电阻、电容组成,根据吉尔霍夫定律,可以列出 rc 电路的微分方程。以经典参数为例,电阻选举十 k o 姆,电容选举零点一位法 计算得到时间长数等于零点零零一秒,对应截止频率约一百五十九点一五赫兹。对微分方程作拉普拉斯变换得到传递函数。我们直接在 matlab 搭建模型,模拟硬件 rc 滤波效果。 从示波器波形可以直观看到原始信号,肤质衰减,相位轻微滞后,这就是低通滤波器的典型特性。配合 metal lab 绘制薄德图,能直观查看浮屏、相屏特性,直观理解滤波规律。硬件电路有局限,我们把微分方程离散化 采用后向差分近似微分项数学推导整理后得到一阶数字低通迭代公式,核心滤波系数 alpha 取值范围零到一,同时推导得出截止频率、采样时间、滤波系数三折强绑定,采样周期不同,想要相同滤波效果 就要修改 alpha, 工程中必须灵活匹配。接下来在 metallab 的 metallab 方程中写入一行核心迭代代码,复刻纯软件一阶低通。 仿真运行后对比波形,软件一阶低通和硬件 rc 模拟滤波效果完全一致。简单总结,从硬件 rc 电路出发, 理解时间长数与截止频率,通过叉分离散化把模拟方程转为数字迭代公式,最终用极简代码实现高性能软件降噪,学会一阶低通。下一期用同款推导思路带你实现数字沟通滤波器, 后续还会讲解姿态结算,常用的互补绿波。需要工程代码 simulink 模型的欢迎评论区留言,干货持续更新,一键三连,我是林一,我们下期再见!