粉丝260获赞3134

大家好,欢迎收看技术人的工具箱第五期,这期主题是用马特代表来解决简单的数学问题。不知道大家有没有碰到过亲戚,小孩初高中要辅导数学作业 干,我数学是早就还给老师了,现在小孩作业还是有点难的,你要说不会吗?小屁孩看到心里肯定会讲,这个人比我还笨,哼哼,很丢面子。 这个时候就需要我们马特莱布大哥来纠缠了,我可以简单介绍一下马特莱布。马特莱布全称是 matrix neburatory 绝症实验室, 是这 master 公司推出的数学软件,主要的功能有数字计算,图形绘制,他有一套 的脚本与扩展的,像电路设计上用到的信号仿真和一些人工智能上的应用功能有很多, 我平时可能还是取些礼盒方面用的多一点,大多数时候是当一个方便的计算器的用好。我们实际看用玛莎的表来解一些简单的数学题, 我随便找了点题目,方程,方程组,导数和极限, 用玛特莱本来解,这种应该是杀鸡用的。第一题解一个一元二次方程, ok, 先先进脚本保存有一个未知数 single x, 从减符号变量 x, 然后表述一下方程式字, aqn 等于 x 方,加上四乘以 x 减去八九六等于零, 然后进行求解。 下面输出的答案,嗯, x 有两个解,一个解是负三十二,一个解是二十八, 这个应该是正确的解, ok, 我们看下一题解方程组,这方程 组是二元二次,他应该有两组九,看我看这怎么改。他有两个变量 xy 方程组, 三 x 方加上五 x 减去八 等于等于三十六,二 x 方减去三 x 减四,二等于等于三。 嗯,检查一下, 对,没错。 so, 求解 返回的结果是两个 x 的结和两个 y 的结,没有显示具体的值。嗯, 这里将求解的结果保存在一个变量里,然后分别输出 x 的解。 display, 我爱的解 运行,可是你可以看到具体的痣 一足解是 x 等于五, y 等于八。另外一组解是 x 等于六, y 等于四分之五十一。 我不确定这个答案对不对,其实可以写程序验证一下,没必要啊,我们先看下一题。求导数 函数, y 等于 x 方乘以口算 x 的导数为 okay, 未知数只有一个, x 是指变成 x 方乘以扩散 x, 然后球打第五, 运行下面输出的结果,二 x 乘以口,三 x 减去 x 方乘以三 x。 这道题答案是 a。 嗯,我看下一题。求极限,柿子里只有一个变两 n 新宝恩表述 n 次方跟可以表述 库存 n 分之一次方。 根号里面是一加三的 n 次方,加上五的 n 次方, 然后用 limit 求极限,第一个参数是试纸,第二个参数是极限边量,第三个是到达的值 community 护城, ok, 运行, 说出的结果是五。嗯, 按区域无线的时候,根号里面一盒三单次方可以忽略 用马自达。本来解决简单的数学题目还是相当方便的,但是它的功能不止这么一点, 这只能算是起个头。 ok, 这视频就到这里,谢谢您的收看,我们下次再见。

同学们好,我是你们的小新老师,从现在开始我们学习 mataba 最优化算法的线性规划问题, 首先我们要了解一下线性规划的概念,那么什么是线性规划问题呢?就是,嗯,带线性约束的现行目标函数的最小化问题, 那么这个相信规划的数学模型呢,就是我们这一块内容,那个 ststs 点, t 点就是呃对应的我们对这个数学模型的一个边一个呃约束条件, 那么 a 乘 x 小于等于 b 呢,是我们这个函数模型的一个不等, 是约束,那么 aeq 乘以 x 等于 bq 呢,就是我们数学模型的等式约束。 然后呢,还有对自变量就是决策变量的一个上下线的一个约束。好,那么学了,我们看到了这个数学模型有这么多的参数,那 我们需要对这个这么多的参数呢做一个呃线他的这个数组的一个规范。那么首先呢 f 就是我们的数学模型 里面的 f, 然后角色变量,嗯,还有我们的 b 就是约束不等式,不等于是约束条件,还有 bqlbub 是作为是一个项量的数组, 那么 a 和 aq 呢?是一个矩阵的书桌。然后呢我们 mataleva 对于这个数学模型的这个现行规划的求解呢,提供了一个一个函数,那我们了解一下这个函数的用法, 那么这个函数就是 lanprog, 首先我们要看一下它的吊用格式, 那么这个调用格式呢?和之前我们讲的呃,在呃在这个单面量的里,单面量最油化问题里面讲到的基本上类似, 我们可以看得到之前我们讲过一个 fmimbnd 的一个呃优化问题的一个 matalaba, 对应的函数 也是 ffvlexit flag, 然后我们对应的他的讲解是最优解,还有目标函数最小值以及退出的条件。那么我们对应的学习一下今天的 今天的这个函数的用法。首先我们还是要讲解一下我们这个函数后面需要需要设置的这些参数, 比如说我们需要设置 a 和 b, 就是我们对应限行限行不等式约束,然后 aeqbeq 呢就是对应的限行等式约束。 lb 和 ub 就是对应的决策项链呢?下届,下下届项量和上届项量。那么 options 是也是对这个优化参数选项呢,做了一做一个嗯相应的设置。那么今天呢,也会对这个 options 做一个初步的一个讲解,嗯,然后举例说明。 为了举例说明这个函数的具体用法呢,我们出了一个下面的例子,就是求解下列现行规划问题。首先呢是有这样一个数学模型,然后求解 负 xx 负负三乘以 x 一加十二乘以 x, 二加四乘以 x 三的最大值。那么他的呃约束条件呢?包括以下以下的六点吗? 第一点是不等式约束,那么第三点大家也可以看得到,也是不等式约束,因此呢,我们要对这个地方要做一个标准化, 然后呢写成对应的右面的这种形式,让他都变成小于等于什么,小于等于什么,因此我们的第 我们可以看到左边第一行也是小于等于什么,但是呢第三行是大于等于十,因此呢,我们要把等式左右两边都乘以负一,然后等式变大于号,变成小于等于号。 好,这个是关于标准化这一块,我们做一个解释,那么除了这个不等式约束条件呢?其他的等式约束条件和上下线上下上下结 上下届的这个标准化是不需要再进行的,那么我们通过标准化之后的这个模型, 呃需要在 mataleb 里面做,对应的就是参数的呃数组,那么矩阵形式和项链形式,那么之前我们也 提到了这一点,就是这几个项链,这几个变量已经或者是参数码是一个项链的形式,那么然后这两个为矩阵的矩阵的形式, 那我在这里已经都列出来了,那么 f 呢,就是负三负十二和负四,负三负十二负四,那么 a 呢是对应的, 不等于是呃约束条件里面的,那么包括两个,包括两个,因为呢有三个自变量,所以呢我们要写三行,第一行呢是八 负一九,这里是八负一九,那么回车站另起一行,那么负二是负七,负二是负七,以及我们第三行如果没有在做这个不等式约束条件的话,我们都默认为零。 好,然后对等式右边,不等式右边呢做一个复制余币,复制余币,我们复制是一个项量的复制,然后把十复十、五复十,五复十以及零,然后填进去, 相应的等式约束条件和不能式约束条件也是同样的。然后我们这一块 l b 和 ub 呢,是对应我们的角色变量的一个上下线,做一个呃设置,那么 inf 其实就是, 嗯,无穷,真无穷,还有一个富的 inf, 富的 anf, 嗯就是代表的是呃富无穷, 好,接下来我们根据 ppt 里面的这个函数模型呢,在 macam 里面实际进行编程,解决这个现行规划问题。那我们把不等式约束 条件我们已经写好了,直接复制过来,以及等式约束条件还有参数的上下届,那么复制过来,这里有一个需要大家注意的地方,就是对于我们的项链来说,我们的项链都是列项量, 列项量的话需要在我们的这个航线量后面加一个单引号,在英文状态下的单引号。 好,我们把所有的呃项链都加了引号之后呢,呃,就完成了这个模型的一个约束条件的呃一个一个设置,然后我们需要看一下我们这个函数的钓鱼格式,钓鱼格式我们可以 直接复制过来,复制过来之后我们看一下 f, 我们有了,然后 a, 我们有了 b, auaq 和 bqlb 和 ub 上下线都已经有了,我们还有一个 options 没有进行设置,那我们先把这个 options 先去掉, 我们运行结果,我们可以看得到我们的运行结果是优化,优化方案已经找到了,而且 呃我们的退出的条件等于一,也是代表这个结果是可靠的,我们可以看到最终的结果是在 x 一, x 二, x 三分别等于这个数值的时候,那么函数模型的最小值就是负到二十三,二十八点 九四四九。那有同学们会问的,问到这个 options 起什么作用呢?那么我我们接下来就是对这个 options 做一个, 做一个初步的设置,然后让大家了解一下这个 optance 是具体来怎么设置的,然后我们在设置之前先对这个文档进行一个就是初步的了解, 嗯,在哦不是在那个迈特拉布里面输入 doc 这个函数命令,可以直接看到他的文档, 这个帮助文档里面因为是我们对对应的是输入的一个变量,因此呢我们直接点到这个音铺的,然后我们找到 options 这一块,我们可以看到 op 城市里面包含了以下的内容,有算法,还有诊断的信息以及需要输出的内容,那么需要设置的最大的一个一个迭代次数,还有优化的容忍线, 容忍度,呃,以及他给了一个例子,我们可以把这个例子复制进去, 复制进去我们我们复制进去好之后,把 options 放到这个函数的最后面, 然后 ctrl 加回车键,我们看一下运行的结果, 好运行的结果就是,嗯,我们把这个重新清理一下,看一下这个结果。 为了便于观察,我们把 optance 这一块将加引号进行进行,不让他输出,然后只对结结果进行输出之后,我们可以看到 这这一部分内容是我们之前没有加 options 的内容,那么加了 options 之后,他大家会发现多了一多了这部分的内容, 那么这部分的内容是什么呢?我们可以看到他是对每一个呃点 叠带的步骤进行了一个呃,进行了一个每一步的每一步叠带的一个结果的一个展示,然后还有优化的呃优化完成的一个呃原因, 我们可以对这个 options 进行一个更改,首先把算法我们可以进行一个更改, 他不是还有其他的算法吗?我们可以换一个别的算法,这个设置的是这个。好,我们可以换成这个试一下, 我们直接把这个里面的引号里面的东西替换掉,然后 display 里面他有三个内容。 好,是在这个里面,我们可以把这个 it 一二换成,换成这个 off 或者是 no, 我们换成 off 试一下, 注意一定不能把引号去丢掉。然后换了之后,我们按回车 ctrl 加回车键, 大家可以看得到加了 off 之后他不会有这个迭代的信息出现, 然后我们可以看到他的运行的结果,换了算法之后,运行结果和上面的之前的运行算之前算法的运行结果是一样的。 好,这个就是关于 options 的一个优化参数的设置,优化像的一个设置吗?然后我们还有一个还需要再看一下,这个文档里面有一个内容需要给大家注意一下, 在这个一三啊,在这个例子里面, 嗯,有一个关于呃解决这个 lp 问题的一个呃问题结构化的一个处理办法,就是以另外一,就是另外一种,以另外一种形式的编程 来解决这个问题。好,我们就按照我们在 ppt 里面的这个函数模型 呢,做一个呃问题的结构化。呃结构化的一个程序,我们把之前的可以注视掉, 按 ctrl 加 r 二直接进行注释,然后我们这部分写问题结构化编程, 他这个编程的好处就是不需要对问,不需要再进行这个函数模型的一个标准化处理。 减去了这个步骤之后呢,我们可能对这个中间的问部署步骤会简化很多,以以免这个问题呃出错, 然后不小心的话把那个你前面的系数给弄错了。好,我们把这一段内容直接复制到 excel。 嗯,复制到这个。哦。呃,曼德拉布里面,我们看到它有 xy 变量,我们看一下它这个函数模型是怎么样的,它是角色变量,是 xy, 因此呢,我们可以把 对于我们这个问题是有 x 一到 x 三这三个角色变量,我们进行跟把这个进行换。呃,替换,嗯, x 二, x 一, 然后还有一个 x 三, x 三里面的内容, x 一到 x 三里面的这个上下上下线我们需要进行更换。好,我这里就全部进行更换, 然后上线。只是无穷大,无穷大也就是 nf, 那么富,无穷就是富的 nf。 好,我们对有色变量已经进行设置完毕,然后对这个函数模型,也就是这个对象进行进行一个设置,我们我们把这个窗口拉小一点,往外观察。 好,我们把这个地方可以替换那个负三乘以 x 一加十二, 二乘以 x 二加四乘以 x 三。 然后后面是这个是要求这个函数模型的最大值,所以说啊,是 xmaxmai 乘以 max。 然后对我们的。呃模型的约束条件呢进行一个设置, 八乘以 x 一减 x 二 加九,九乘以 x 三,小于等于十五。 然后是第二个是负 x 加 x 二 加二乘以 x 三。 好,这个等于。注意这这个地方有两个等于号,一定要记住等式。呃,约束条件是有两个等于号, 然后写第三个约束条件, 二二乘以 x 一 减四乘以 x 二加七乘以 x 三,大于等于十。 好,剩下这三个约束条件就是 我把这个改一下,这个地方, 不好意思,这个地方有点有点错误。好,把这个替换掉。 好,我们把含住模型呃的问题结构化,结构化 已经全部设置完毕,然后我们需要对这个呃函数模型进行处理问题的处理,那么需要对问题处理的话,有还需要进行两个步骤,我们把这两个步骤复制过来 检查一遍。 好,我们运行结果,运行结果仍然是呃,二十,付完。二十八点九四四九。 好,我们今天的线管与 macalaba 优化算法线性规划的内容就先讲到这里,谢谢大家的观看。

哈喽,大家好,我是我不可能,那么今天呢,我给大家讲一下,就是近期搜索算法的一个原简单的一个原理建设,还有就是他就是 tsp 的一个案例的一个详细啊,主要是关于代码的部分。 那首先呢是关于一些相关的概念啊,首先是淋浴,淋浴的话其实很简单,就假如说我们这里是我们的变量 x, 那这里呢是它淋浴,这里是它淋浴,这里是它淋浴,这里也可以是它的淋浴, 其实非常简单的一个概念。然后的话,当然我们这个在我们的问题当中,一般 x 不会是单位的,就是不会是一尾的,他可能是 多维的,那多维的话他可能就是在多个维度上同时都会发生变化,可能会更复杂一些。淋浴动作的话也很简单,我们把 x 加上零点一,加上零点三,加上零点五,他都可以是一个淋浴动作,那当然了,就是我们对于多维度的话也可以进行这样一个类似的一个操作啊。还有就是 啊,灵异动作的话,不仅仅它可以加减,它也可以用其他的形式,就比如说我啊,正常的 tsp 问题的话,我们会用一个顺序啊,比如说一二三四五,那我们就是如果 对他进行一个淋浴动作,我们可以把它变成一三二四五,那我们把二三嗯兑换了顺序,对吧?那这样的话也可以是称为是一个淋浴动作,嗯,接下来呢是金鸡表,金鸡表 是什么意思呢?就是我们对这个啊,当前的这个变量 x 呢,就是进行领域动作,进行操操作嘛,然后比如说给他加零点一,又给他加零点三, 嗯,然后呢就是我们把它每一步的动作呢都给他记录在这个记忆表当中。比如说我走到这就是加了零点一,那我不可能下一步的时候我进行一个减零点一,然后完了之后他又回到原来的位置, 那这样不是就是功亏一会了吗?所以说我为了避免这样的情况,就是使用了一个晋级表,但是晋级表的话可能会把他三三步、四步、五步的这样一个呃呃都给他记录下来。 接下来呢是评价函数,大家如果熟悉优化算法的话,肯定就是对于评价函数的话也比较了解,他其实就是我们的所说的目标函数和适应度函数,其实就是我们最重要优化的那个目标,不管是我们求最大值还是求最小值,嗯,最终呢我们都是就是 针对这个优化优化的这个目标来进行优化的,也就是我们这个评价函数,然后这里有一个特设规则,特设规则是什么意思呢?就假如说我们往这个领域上走啊,我往上走,走个零点一,完了之后我再走个零点五吧。嗯,假如说我往上加零点一,再加个零点五,哎,完了之后呢,我又往回 退零点一,哎,结果我发现,哎,他这是我们当前就是能得到的一个比较优最优的一个解,那这种情况下的话啊,我们就肯定是需要保留这个解啊,那这个时候,但是他往往前零点一,这个是在我们的晋级表当中的呀, 啊,那这种情况下我们就利用我们的特殊规则,也要帮也要把当前的这个解呢去给他保留下来,那接下来呢,我们来聊一下这个进行搜索方法的一个简单的一个流程。那么首先呢就是我们要生成一个初始的一个可行解,然后对测定的方向进行搜索啊,接下来呢 有了初始的可音节之后呢,我们设定一系列的就是产生嗯这个淋浴的一些规则,然后产产生淋浴的,产生完淋浴之后呢,我们对这个呃初始的这个可音节呢进行就是淋浴动作,然后获得我们这个呃候选的 一个剪辑吗?嗯,得到这个候选的剪辑之后呢,我们计算所有的候选剪辑,候选剪辑他的那个评价函数或者目标函数,计算他的数值,然后我们再判断他跟当前的这个肯定姐的一个呃优化的一个程度。然后呢我们选取一部分就是比较优秀的这个 呃剪辑,然后我们选取一部分优秀的剪辑,我们把他这个呃领域动作呢去给他记录下来,记录到我们的晋级表当中呢,记录,记录到我们晋级表当中,然后呃记录完之后呢,我们进行下一次的接待就是,当然我们这个初始的这个可行解,如果我们 嗯下一步当中离就是候选解题当中存在,存在就是一个解,它优于我们的初始可行解,那我们初始可行解会进行更新,然后我们的全局最优可行解也进行更新,然后完了之后呢, 我们在进行之后的迭代,然后我们具体的话还是我们一起来看一下代码吧,主要还是代码,这个代码的话,其实他是一个非常简单的一个解决了一个 tsp 的一个问题,相对来说问题是比较简单的。首先呢我们常规操作就先把我们所有的这个之前的数据呢去给他清空, 然后呢这个 c list 其实就是我们对应的这个,呃,数据,就是我们要优化的这个 tsp 问题的一个数据。

像这样的表格,我们填充公式后,当没有数据的时候会显示零,有什么方法让这个零不显示出来呢? 其实很简单,首先我们选中这个公式区域,按 ctrl 加一,设置单元格格式,选择数字,选择自定义,清除类型,理内容,输入井号,点击确定, 这样就可以了。当我数据为空的时候就显示空,有数据就可以显示结果了,你学会了吗?

好,同学们,我们接到一个粉丝的请求,希望我们通过玛莎拉伯实现这个函数的求解。我们已知 fx 的函数定义如下, fx 等于 x 平方,加上 x 减去六,当 x 小于零的时候, 然后当 x 大于等于零小于十的时候, fx 等于 x 平方,减去五, x 加上六,当 x 大于等于十的时候, fx 等于 x 平方,减去 x 减去一。我们要 写一个函数文件,计算 fx 的函数值,这个里面要用到 e 辅语句,实现选择判断。好,就这一道题,我们开始进行我们的马特拉姆编程。我们首先打开我们的马特拉姆原件, 我先把这个划到最靠边,我们打开我们麻辣辣的软件,我们要写新建脚本,我们把脚本起个名字,我们保存, 我起个名字叫什么?我们起个名字叫 c a l, 这个名字根据大家需要自己随便取。好,我们现在开始 输入这个脚本,我们先定一个功能,发个型,发个型,定一个函数,函数,函数有一个输出,结果 yy 等于,我们取的函数名就是 cl, 然后他有一个输入 x, 好,我们就滴入了这么一个函数 function y 等于 c l x。 接着我们写下面的一句,这地方为什么报错,是因为我们下面一句还没有用到他,所以他会报错。我们接着写下面的一句,我们用 e f, 一句 e f x 小于零,然后 我们就 y 等于 x 的平方 x 点,然后 x 点的平方加上 x 减去六, 打上分号,这是第一种情况。然后 lc 衣服如果不是小于零的话, lc 衣服如果是 x 小于十的情况下,我们是 y 等于 黑色点的拼吗? 减去五 x 减去五型号 x, 然后加上六,再封号,这是第二种情况,我们对一下 x 小于零的是 x 的平方, x 点的平方加上 x 减去六, x 大于等于零小于十。 在 lc 五小于十的时候, x 点的平方减去五, x 加上六。好,我们再写第三种情况, x how? x 大于等于十,在这种情况下,我们的 y 等于什么? y 等于 x 点的平方, x 点的平方减去 x 减去一, x 点的平方减去 x 减去一, x 小于零, x 小于十, x 大于等于十, y 等于。然后 and 我们看 这地方有个小错误, x 点的平方减去 x 等于一。这里面有一个等号是有错误的, l c e 负 l, c e 负 y 等于 x 点的平方,我们看看这是什么错误哦,我们少了一个分号,大家千万不要忘记,这个分号容易少,写这个分号就容易出错,我们看看这个分号少写的好,现在这个函数是没错误的,我们再比对一下, 如果一个是小于零的时候,等于一个是平方,加上一个是减去六,如果 小于十大于等于零的时候, x 平方减去五, x 加上六。如果大于等于十的时候是 x 平方 减去 x 减去一。好,下面我们把我们写的这个保存一下, 下面我们就计算一下,我们计算如果说小于零的时候,我们计算负三,我们就输入 c a l 负三,我们看看值等于多少。推车,负三的值是等于零,我们看看负三负三的平方是三三九九减去三,减去六,减去九等于零。好,我们再试一个, 我们是一个 cl 啊,零到十之间呢?我们是一个五吧,我们是一个 cl, 五回车 c r 五等于六,我们看看五五五的平方五五二十五减去五乘以五减去二十五,加上六就等于六。好,我们再试一个。第三个 大于等于十,我们就设为我们计算十十的情况。 cl 然后十,我们看看 回车等于八十九,我们十十的平方一百一百减去十,九十九十减去一等于八十九。好,这个我们的这个 函数就实现了,实现了根据分段介绍这个函数的值。好,这节课我们就讲解到这里,下一节课我们会根据这个分段函 函数来画出他的啊函数图像,希望大家接着收看这节课讲到这里,谢谢大师,大家收看,我们下期再。

各位同学大家好,下面我们继续介绍迈特拉伯的使用,继续介绍他的核心内容。今天我们介绍迈特拉伯的函数, 利用 matter 软件写程序对账程序。文件我们一般分成两种类型,第一种类型呢就是所谓的脚本文件, 脚本文件,第二种我们统称为函数文件,这个区别就是说 脚本文件里面他不会出现三根线这样一个关键字, 那么函数文件他一定会有翻跟线,这样 不只是有,而且啊,而且第一行或者说第一个不是注视的行,他一定要有三个线,并且啊为啊第一行 或者说啊第一个不是注视的行, 这就是说函数文件的特征。 那么脚本文件比较简单,就是相当我们新建一个脚本,然后啊你在这里面直接写代码,用到写上二加上三,然后我们可以选择这个 啊运行,我们也可以把它保存,保存,保存的文件名只要符合定义就可以了。保存,那我们点这个运行,也可以在这个命定仓口看到这个运行的结果。 我们在这个呃平时碰到一些学生常常犯的错误,喜欢用自己的学号作为文件名来保存,比较新建一个文件,他输入啊一 加上三,想看出这个结果是不是他保存为十号,因为他的十号是十二号保存,这个时候啊我们啊这里他保存了,然后啊再点运行,他发现怎么都是十二, 是一个常见的错误,就是说保存不要成数字,如果成数字,那么他就得到了运行十二,这结果是十二了哦,对于这种脚本文件,就是他里面不含有三个线, 那么剩下的就是所谓的函数文件。函数文件一般来说,第一行是有分开线的, 对函数文件来说,我们需要清楚两两个地方,一般来说,对函数文件我们要有啊,啊,要有两个文件 来运行他,一个是所谓的函数的定义文件定义文件,第二个就是函数的调用文件,在脚本里面调用, 这个一般是在脚本文件里面吊用,或者说在命令窗口直接吊用啊,命令窗口,然后啊,对于函数文件来说,我们要求这两个文件在同一个目录下 你才能够进行啊,同一个目录下还要求这个函数文鉴明, 必须与啊,必须与文件名与函数名相同, 必须连接完成,这是我们有几个要注意的地方,下面我们来详细讲解这些内容。 对于 metal 来说,这个函数啊,你可以完全理解为像我们数学上的函数一样的,我们数学上一般来说一个函数是 y 等于 f x, 是吧? 例如说啊, y 等于正选三 ex, 那么这个就是代表函数名称,这个是质变量,这是应变量,例如说 y 等于 x 平方, 这样,那么在这里面 s 是字变调 se 变掉,结果是这样,那迈开步里面函数应该怎么定呢?我们要有两个文件文件音啊,文件音 先定义函数,文件先定义函数,那么第一行必须以翻跟线开始, 然后啊,对于这个函数来说,我们要记住它的自变量是 x, 它的函数值是 y, y 等于 f x, y 等于 f x, 那么这下面就 y 等于 x 的平方, s 平方, 那么这就是所谓的定义,这就是定义啊,函数文件,函数文件,那么使用怎么使用呢?使用我们就要在文件二里面调用,文件二里面调用,比如说我 s 复制给印, 那么我可以算 y 等于 fs, 这样就是为了吊用。那么函数应该怎么定义呢?就是这里是周围输入量或者输入参数,输入啊,这个输入参数,那么这个叫做 输出量,会输出参数。在函数定义的时候啊,那么从这一行开始以后啊,在下面我们都要把输入量当做已经知道的值,把 x 周围已经知道的比着某个数, 通过输入量去计算出位置量。外来这下面代码,我们需要把这个输出量给计算出来,输出量给计算,这是输出,已经知道这是位置,把它计算出来。好,我们演示一下这个函数的定义, 要第一函数第一行是翻跟线开始,然后我们输出量是 y, 输入量是 x, 函数名称是 f f, 那么这里 y 等于 x 平方,平方,那么我们保存,注意这个保存这里关键的地方是在于这里啊,保存你这里起的文件名,这是叫做文件名,以我们刚才这边啊, 我们刚才这边的函数名称,这是要相同的,我们刚才已经保存完了,就这两个地方是一致的, 这两个地方是一致的,那么这样我们就定义好函数文件,就是以这个开始,把 s 周围已经知道的输入量,把外作为位置量,下面函数的主体就是通过以质量把这个位置量给算出来,把这个算出来。 好,那么怎么使用呢?我们可以在命令航窗口调用它,那么调用它我们必须给 x 一个值, s 一个字, x 等一,那么我们在 y 等于 fx, 我们就可以看到这里就出现了 y 等一,但是这会出现两个 y 等一, 出现两个外等于你这只有行数路出现两个外,那么另外个原因就是在函数主体里面,这里面啊少了一个分号,而且这软件也提示我们这里确实省了一个分号。 好,我们现在不补上分号,我们也可以直接这样调用 f f 二, f 二,那么就相当于把二带入到这个 x 里面去,下面还是主体,就是把 y 给算出来,算出来就复制给 f 二,这就是相当于我们可以这样使用,等于四, 这里会出现两个四,一个是 y 等于四,一个是啊,这里 ans 等于四,那么 y 等于四呢?是在 这里面搜出来的,我们应该加上分号啊,加上分号之后不要忘了保存啊,我们再来试用调用 fo, 按向上的箭头就可以,我们看到这样就出现了,如果我们把这个函数值复制给 a 等于 fo, 那我们知道 a 就等于二了, a 就等于四, 哎,联系,这就是所谓的函数调用,那么我们在这里写的是函数名称 ffo 啊,我们一般习惯在一个新建脚本里面来调用刚才这个函数,我们知道 y 是 fx, 那我们怎么调用呢?我们一般是在这 s 等于一,对吧,我们写上 y 等于 f x 啊, 那么 x 等于 x 一等于三,那么 y 一等于 fx 一啊,那么这里都是相当于把 这个输入量是已经知道是等于三了啊,必须要确定输入量,那么韩叔给你算出这个值来,算出这个值,并且复制给外印,复制给外印。好,那我们可以运行这几行代码, 运行这代码,我们也可以把这个保存保存,然后啊运行这整个啊整个代码,我们可以看到得到结果,但是这样定义的话,我们会有一个啊问题,呃,在这里面你 s 必须是数 啊,才能平方,如果 x 是,我要求是一到三呢?一到三,对吧?那我们再调用 y 等于 fx, 我们可以看到这样运行这两行代码,那么 x 点一二三,那么 y 就出错了,他告诉你错误的原因是 s 平方不能算,那么事上我们再来看看函数的主体, s 等一二三,那么 s 就是这么一个项链,这个项链,那把这个项链带进去, 那么像量的平方,这是没有意义的,但是我们知道 y 的 x 平方是对每个 x 算,每个 x 平方应该是按元素起平方,所以这里一般要加一个点啊,代表每个元素的平方啊,每个元素的平方,这样好,那如果是这样加了点之后 啊,我们在运行,你发现人人是错误的啊,错误的,呃, 啊,这里是啊,啊,这里保存啊,如果没保存,那么人类是错误的啊,刚才这已经保存了。好,这个就是说啊,我们可以 s, 这个时候可以输入项链了啊,项链了,只有函数的意思,就是通过输入量得到输出量啊,输出量,好,我们再看几个例子, 这就所谓的函数的定义与使用,如果说我要你定义这样函数,我定义 y 等于 s 一的平方加 x 二的平方,那我们找这就是二元函数了,这二元函数,二元函数就有两个位置量,两个输入量,一个输出量,那我们可以这样定义, 我们新建一个文件,我们也是发根线开始 y 点一 f, 我们写两个 f, 有个 x 一 xo, 我们现在命名函数作为 ff 啊,下面呢,我们要通过 x 一和 xo, 我们算出这个 y 来, y, 那么等于 s 一的平方 加上 h o 这个点的原因我们刚才解释了,这个分号的原因我们也解释了,那这样我们就保存, 保存,我们啊直接就保存,不要去修改他的文件名。好,我们就可以使用这个函数,使用这个函数可以在脚本里面,我们可以搁在刚才这个脚本里面啊,使用刚才那些脚本都没有用。好,我们继续啊使用 就可以说 x 一啊, x 等于二啊, x 啊, y 等于二,对吧?那么这一等于 sf xy, 那我们跟这里稍微不同,不同没有关系,这里面只是告诉你下面啊, 如果 x 一知道的话,下面是把 x 一带你算,如果 x 二知道,下面把 x 二算,那么在这里调用函数,就是说你使用这个函数,只要这个 x 值在用之前知道他的值就可以。 x 之前我们知道已经复制给印了 y, 在这个进入函数之前啊,我们要知道这个值外等号,那么这个得到的结果算出来就是这里面的,算出来这个值 y 啊,输出量就是整个函数值,然后我们把整个函数值负值给这啊,所以呢符号不要。那么希望大家理解函数的本质意识, 本质意思就是说把 x 一 x 二作为已经知道量下面主体,把这个外算出来, 外算出来就是相当整个函数值,整个函数值,我复制了一个新的变量证啊,复制个新的变量证,这是相当有两个啊,有两个啊,输入啊,有一个输出, 我们也可以把两个输入合成一个输入,把它做一个项链放在一起,那么就产生了所谓的下面这种啊,我们 我们可以定义输出 ffo, 是吧?你用一个 x, 现在一开始虽然是一个 x, 但是我已经规定 x 就是一个项链有两个分量的项量,那么既然规定有两个分量项量,我下面要删除这个 y 呢? y, 那么就 x 的第一个分量, 第一个分量的平方加上 s 的第二个分量的平方,那么这样我们也就定义好了 f f, 好,我们保存,那么现在函数名称是 f f 二 啊,我们要调用的时候,那么这个时候使用 ffo, 如果我们这样调用的话,那这个就会出错了, 说错了,不信我们试试看。我们点运行,他告诉你这个输入参数太多,因为你这里逗号中间,那么就相当输入了两个参数,而函数第一里面只有一个 x, 所以你正确的用法就是把这两个做一个整体,用个中号表示啊,定义成一个起正中国号,那么也就是这整个就是一个,现在是一个整体附近去,他有两个分量好,我们就可以运行他,这就相当于 虽然是多元函数,但是可以作为项链函数啊,项链函数,那如果我们要定义这样一个函数呢?有两个输入,两个输出, 我们要定义啊, y 一等于 x 一平方,加上 x 二平方, y 二等于 x 一平方减 x 二平方,那我们再写函数就有四种方式来写,他 就四种方式来写字,第一种方式我们就啊,我们来说这样函数第一种方式就是说 我可以说 f u n c t i 啊,第一函数我的输出啊,是两个 y, 一百二啊,一百二,这样写,再把中间用逗号分开,那么等 一,我现在是 f f 啊,三个 f 吧,一,那么这个输入啊,我用两个 x 一 x 二,那下面就通过 x 一 x 二算出八一 y 二来输出。里面啊, 是用这样表示有两个输出啊,两个输出,那么 y 一呢,等于 x 一的平方啊,加上 x 二的平方,你可以加个点啊分号,那么 y 二呀,算是 y 二了,等于 x 一的平方减 x 二的平方, 那么这样我们就定义好了,这就相当于把它周围两个字变量啊,两个应变量,两个输入,两个输出。好,我们可以按照前面的方法把两个输入整合成一个,那么得得到第二种定义方式,那么也是 y 一 y 二等于 f f 二吧,那么 x, 对吧,那下面写,你就算出 y 一 y 一,怎么算呢? x 第一个分量的平方,加上 x 第二个分量的平方啊,那接下来是,嗯, y 二等于 x 第一个分量的平方, 减掉 x 第二个分量的平方啊,证明是好了,我们也可以把整个输出啊合在一起,作为一个矩阵来输出,那么就可以所谓的这样来定义三个线啊, 啊,下面啊,我们接着接着写到下面来,那么可以 y 等于 f f f 三啊,可以使用 x 一 xo, 那么要注意,现在两个输出都合在这里合成一个项链了,那我们就应该这样写, y 的第一个分量, 那么可以等于 x 一的平方啊, x 一点的平方加 x o 点的平方啊,分套啊, y o 等于 x 一点的平方,减 x o 点的平方。 那么第四种方式就是说我们把输入输出啊,都合成 一个 y 等于 f f 是 x 啊,那么这个是 s, 就有两个分量, y 有两个分量, y 一 y 二,我们分别把它算出来, s 有第一个分量啊,加上 x 第二个分量啊, s 一的第一个分量的平方减 s 第二个分量的平方,这就是所谓的多元函数的第一啊,多元函数第一,那么在调用的时候,如果你一定要调用这个,那你就必须啊这样 来调用,那么比如说我们要得到 ab 对吧? f f f 一二三这样调用,那么对这个呢,调用呢,就是让他把这个二三呢,用一个中国号括起来,那么这里调用就是 ab 等于 f f f 二二三啊,那么这里调用,那怎么调用呢?那么这里只能写个啊,写一个合在一起啊,写一个 c 啊,等于 f f f 三对吧,那这里二三对吧,这里写个 d 啊,等于,嗯, f f 四啊,二三好起来,那么我们要得到这个 c, 那么 c 有两个分量,那么你可以用 c 一取得第一个分量, c 二取第二个分量,第一第二选好啊,我们 来演示一下啊,第四个函数调用和调用,以及啊,第一啊,那么第四个函数呢?是这样第一的啊, 那么 y 等于 f f 四啊,输入使用一个 x 啊,我们要删除外的第一个分量来,那么点 x 第一个分量的平方,加上 x 第二个分量的平方啊, y 二 等于 s 第一个平方啊,减掉 s 第二个分量的平方啊,那么这样一下就有两个速度输出了啊,我们保存 作为这个函数,那么调用呢?我们在命令仓的可以直接调用,比如说啊, a 点一, f f 四是吧,二三,注意这里参数他值一个,但是是一个项链, 在我们这 a 就有两个分量了,十三和负五,那么 a 一不就得到十三, a 二就等于负五,这就是我们所要的函数的定义。好, 那么既然函数的定义和数学上的习惯是一样的,但是迈开步里面函数的定义稍微更广泛一点,这里输入输出啊,不一定是数,也可以其他的一些啊,数据类型,甚至是字幅串呢,函数名称呢,函数函数的地址啊等等都可以, 那么无非他属于我们统称为参数啊,就不再叫做自变量啊,自变量,那么对于参数的意义来说,对于参数的意义是,如果我有啊,任意多个,我在我在你调用之前,我不知道你会输入多少个参数,那么怎么来处理 任意多个参数的意思呢?那我们就使用这个命令啊,使用这个命令来处理任意多个参数为 a r 啊,这是变量的意思,变化的意思啊, a r g 表示参数的意思, argument, 那么 i n 是输入的啊,参数是可变的啊,或者我们使用 var arg out, 这是 out 输出, art put in put argument 啊,那么这是表示第一啊,任意多个输入会输出参数与任意个参数, 一个是用的输出,一个用的输入,那么我怎 我们来判断你得到多少个呀,我们 number 啊, n, 参数个数 a r g 啊,输入的参数个数 n, 那么以及 n, a r g alt, 那么这是输入参数课程,那么我们就要得到啊,实际输入参数的个数, 实际输入啊,或者输出啊, 唱一首歌送, 这样我们就可以来定义啊,很多个参数的意思,我们来举个例子啊,说明这个意思,现在就说,我来定义,你输入两个数,我就把两个数加起来,你输入三个数,我就把三个数加起来,那我们就这样定义 啊,我输出是一个纸盒,那么我,我要上啊,啊,我, 我两个 ssrum, 我输入参数,我是任意多个都可以, vir argument 啊,输入参数个数,那我们想得到,你到底是几个参数呢,对吧?这得到几个参数啊,那么 我们就想知道啊,你这参参数个数啊,这参数个数,那么我外啊,我就等于你所有的参,输入参数之和啊,输入参数之和,那么参数是放在这里面,对吧?那就啊, a r v a r a r g i n, 这是第一个参数啊,加上啊, 如果有两个参数,我们就加上第二个参数,那么如果有输入哈,有很多参数,我们就不如把它加起来, 这样我们就可以输入很多的参数了,那么我们等我们讲完循环,我们再来讲这个参数,我们法律输出一个简单哦,也就是这个时候啊,不管输入多个参数,我都可以运行,但是,呃,我,我都是 y, 等于哦,通过输入我算的输出来 啊,我们要把所有的参数都加起来,是吧?呃,这个方法我们后面再实现,现在我们就可以在这里调用 y 等于 ssum, 对吧?我选一二,对吧?输入两个参数也可以,我输入三个参数也可以啊,输入三个参数可以,甚至我们来来显示下,我知道你输入几个参数, disp, 我们输入说,我,我显示参数个数啊,我,我就显示你啊,参数个数, n, a, r, g, argia, 这是我显示你参数的个数。是这么多,那么这个时候我们来 啊,这里保存啊,保存,那我们看看, y 等于 s, s u m 啊,我一二看看是不是得到两个参数啊,得到两个参数啊,我们就直接把 y 复制给 n 啊,加 n 啊,就是把参数个数复制给 y 嘛,复制给 y, 那么我们看 y, 如果我输入三个参数呢,我就得到三个参数, y 就等于三了,显示,显示了三,就是显示命令可以把它删掉。 好,那如果我输了五个参数呢?一二三四五。好, 那么这个就是说我可以任意一个参输入,呃,输入参数,我可以用这个取得参数个数,我也可以任意输出个参数,我也可以取得输出个,所以我们可以看到内部命令往往会有多种用用法,如果你是两个参数,我怎么办?如果有三个参数怎么办? 我们举一个简单例子,如果你这个参数是两个啊,那么我们假设你参数个数用 n 表示啊,啊,如果啊, n 等于啊,如果只有一个参数, 那么我就什么呢?我就输出外来外,就等于啊,第一个参数值。好, 如果啊,我按是等于二两个参数,我 y 就等于两个参数之和,第一个参数加上 第二个参数。使用这个方法做一个参数,那么在它里面所有的参数啊,其实就是逗号分割的一个单元体,使用这个大括号取出他第一个单元里面就是第一个参数值啊,如果是两个参数,那我们就输出两个参数啊,结束, 结束。好,这样呢,我们就写好了这个代码,现在我们来看看,现在是如果是两个参数就等于三,是吧?如果是一个参数呢?嗯, 我就等于啊,他本身,对吧?等于他就第一个参数值啊,如果是两个参数,我们就把两个参数加起来,对吧?好,我们也可以说我们也是多个输出参数啊,我们可以变任意多个 啊,输出参数啊,任意多个输出,那么在这里如果输入是一个,那么我输出啊,啊,我的输出啊, 我,我第一个输出参数,那么我就是等于你输入参数,那么如果说 如果我有两个输入输入参数,那么我输出参数也来两个,第一个 是两个之和,第二是两个之差啊,第二个等于两个之差, 好,呃,保存,对吧?现在我们来看一看哈。如果输入是一个参数, 输入输出也是一个参数,那么 y 等一啊,二十 sum 二,那么 y 就等于二,那么如果输出是两个参数, j y 和这,那么输入啊,是啊, ssum 二和三, 那我们就知道第一个啊,直至外就他们两个之和,第二就他们之差,这就是所谓的可以控制任意多个输入输出参数也可以控啊,或者输出输入参数个数个数,那么特别的,如果我一个 没有输入分没有输出啊,这是可以的啊,那么就是说无输入参数啊,啊,无输出啊, 那么这要分几种情况,第一种情况就是有输入无输出。第二种,是啊,第一个是无输入,无输出啊,无输入,有输出啊,有输出。还可以啊, 有输入无输出啊, 那么有收入,对吧? 有输出,那我们前面就看到有输入输出,还有多少个的问题,那么像这个都比较简单,我们举个例子说, 你能说我这样写 functiv, 是吧?那么这个时候我不要写着 ff f 啊,五吧,那这样就是只有函数名称,没有输入,也没有输出,输入放在括号里面,那我们在地面,比如说我显示 啊,一个制服 a 啊,一个制服 a, 那这个函数就做这样的事情啊,或者说我我直接写行 y 点二啊,写个啊啊,写个 a 点二啊,定一个 a a 点二,好,那么定,如说我定义这样一个函数, 我没有输入,但是有输出的 ff f 六吧,啊,没有输入输出,我就是通过,不需要什么我把这个 y 给算出来啊,就要把这个函数未知的东西算出来点,哦, 就可以了。你甚至可以说,呃,我啊有输入啊,但是不要输出 f f f 七八,我只要一个 s, 告诉我 s 啊,我把 s 的 平方显示出来,就可以 s 平方打印出来,加给他打印出来,那么这些都可以看到,看到,哎,世上 那么这些啊,呃,这样一些无输入无输出的里面有一个特殊情况,就是说 当我这个没有输入的时候啊,你是可以点运行的时候,直接算他的结果啊,那么这个时候我们可以看到像我们前面这些函数都是有输入有输出,你点运行的话啊,那这个就不好办了,是吧?你想这个啊, 有输入有输出的话,你点运行,他就会提示你错了啊,听错了,像刚才这个是任意多个都可以,零个也可以,那么如果一个行业是无输入也无输出呢?那我们就好办啊,比如说,嗯, 我这个没有输入也没有输出啊,我就是显示,嗯,还有啊,好,那我们就做这个事情保存,对吧?那我们 就可以点运行了啊,这个函数啊,功能就是做啊,显示是哈喽,这样一个啊,单词,那么如果有输入话,那你就不行了,所以说你就要 提供输入,这是函数关于有输入和无输出的情况,那么有的时候我们就会出现你输入了两个参数啊,输入需要两个参数,结果你只输入一个参数,这就会出错了。 但是对输出的情况他不是一样的,如果你要求输出有两个参数,结果你只用了一个参数,我们来试一下啊,这样一个情况,好,我们啊,假设我们第一个函数啊,第一个函数 我有两个输出, y 和 z 啊,等于 f f 七啊, x, 嗯, y 对吧? x 六和 v 吧。啊, 我外呢?是哈,我要通过右位算出这个外和这来外,是的,右加上位, 我这样等于右减七位啊,右减位,那么这个函数就是有两个输入,有两个输出。好,我们来试一下,比如说我只提供一个输入, a 等于 f f 七啊,三个 f, 四个 f 七,我二和三,是吧,那我们就就算出了啊,一个五五就是他的第一个参数值,这是没有提供第二个输出参数。如果我们提供了第二个输出参数, a 和 b 等于 f f f 七 二和三,那我们可以看到这样就输出了两个,一个是 a, 等于两个字和 b 是,那这个时候我们就不能理解为负 负值了,这个时候我们就要理解函数调用,函数调用,那么在这个时候呢,我们也知道不能理解为负值,你可以理解函数调用,函数调用就说 把默认的啊,如果说后面的参数缺少了,那么后面参数啊啊,这些计算量就不给你付出啊,付出复制过去,只把这个外给你啊,算的第一个,也就说默认呢,只考虑第一个参数,就是在函数调用的时候,输出参数可以省略 啊,输出参数可以省略, 可以省电,甚至一个参数都不需要的情况,比如说我们 这里有两个输入,两个输出我,我没有,我输出一个都不提供,我直接 f, f 啊,七是吧,三和四是吧,那么这个时候他就是把这个第一个参数值作为默认的输出来啊,默认的输出来, 那么这就相当于他啊,可以省略的,或者哈可以补全啊。像我们说怎么补全一些参数呢?那我们可以使用前面那个技巧来补全一些参数, 那么如果我们要实现自动补全参数,那只有自己来实现啊,补全参数,呃,我们举一个例子来说啊,是这样处理补全参数的问题。呃,我们直接写一个代码啊,给大家演示下什么叫补全参数。嗯,新建一个 函数是 f u, n, c, t, i, 那么输出是 y 和 z 啊,输入啊是 f f, f 啊,是 f 六吧啊,不能重名 a 和 b, 那么这里要求是两个, 那么如果我想输入一个他也行的话,那我们就使用 narg, 哎,输入参数如果是只等一个,那么也可以啊,也可以,那我就自动把 b 补全为零,对吧?啊?结束,对吧?如果说输入参数 啊,等没有输入参数,我们也可以,我就把 a 补成零啊, b 补成零,这就所谓的一般来说默认值的问题 啊,就是我怎么设?如果有参数怎么办?那么这个时候我们就可以外就等 a 加上 b 啊,这我就可以等于 a 减去 b 啊, a 减去 b, 那么那么输出参数 我们也可以,如果你输出参数啊,如果输出参数你只得只有一个啊,只有一个,那这个时候我们说我就把 y 就改成 a 加上 b, a 减去 b, 就把这个整个的计算结果做一个项链把你输出来。好, 那么我们来看看这个什么意思?就是上面如果你只输入了一个参数,我们先保存, 那么我就默认币就是零,如果你两个都没有输入,我默认就是啊,都市零,都市零, 那么都市里如果你默认是两个数字参数,我就一个是两个字和一个字啊,如果你只给了一个参数,那我就是直接用销量说出来,那这个时候我们来测试它啊,测试它,首先比如说我正常的外和,这 就等于 f f f 六,对吧?我输了两个参数二和三,我们可以看到 y 就等于两个字和这等之一,对吧?那么现在呢?我们把这个删给删掉去 啊,那我们发现也可以,甚至歪和这外是两个字和这是两个字差,好,那如果说我哦也删掉去,一个常识都没有,我甚至这个胯也可以删掉去,那么这个时候我们发现都可以等于零也是对的。 好,现在我们假设后面是正常的,那但是前面呢,我们这里可以删掉一个,我们现在只有一个输出参数,一个输出参数 y, 那么这个是 y 就变成了项链啊,项链,项链。好,我们前面说 在任意多个参数我都可以处理啊,任意多个参数都可以处理。 好,下面我们来介绍这个啊,所谓的匿名函数啊,匿名函数, 匿名函数啊,虽然就是我有时候也叫做聚丙函数,这个词不太好理解,那么大家就可以看着所谓的匿名函数就是指的啊,我们 不需要函数的名称,函数只是放在这个啊,像这有五个抽屉,我并没有这个给这个抽屉叫做啊,这个衣服抽屉,鞋子抽屉,袜子抽屉,我没有,我就说这是这个抽屉,我只要知道地址就可以了, 所谓的记柄啊,分匿名函数都是一般是指的地址的意思啊,你可以理解为啊地址,那什么叫匿名函数呢?就是说 说,我这个函数没有名字了,没有名字我只有变量质,变量名字,我用个艾特符号代替他,然后我们下面函数的主体啊,是 x 平方加上二乘以 x 加上三,那么这样一个函数 把,这个函数我还可以复制给一个啊, f 复制给一个 f, 那么这个是 f, 就相当于函数名称了啊, f 就相当起的这个函数的地址 啊,那么我们把三放到这个地址里面,就放到这个函数里面去算,那我们就可以知道这个结果。好,我们来演示一下啊,那么事上,因为我们刚开始已经定义了这个函数 f 啊,已经定义函数 f, 那么我们把这个 f 删掉去啊,如果不删的话,那么你这样写 f 三,他不知道是使用哪一个 好,我们也可以测试一下他到底使用了哪一个啊,新建一个文件,是吧?那我们可以说我 f 等于 at 啊,这是匿名函数,我 x 平方啊,加上 x 平方,加上 ox, 加上三,对吧?那么接下来 fo 加上 fo, 我们运行他, 那我们看看他到底是调用了内部函数还是这个函数,那我们这是调用了这个函数啊,这就相当于 在这个地面并不需要二,但是这个里面我们也可以把这段复制给记啊,这个记,那么用记二表示,那我们就可以看到。呃,算出来记二也是十一啊,十一,那么在这里面我们可以看到这里有个函数,另一面函数 fg 啊,你可以把这个清掉去,没有关系 啊,这所谓的匿名函数。好,我们也可以这样使用,那内部函数是有一个啊, 上瘾函数,我们可以用 f, 等于艾特上瘾,我们取得上瘾函数的地址,接下来啊,我们输入 f 派, 那我们就实验是算出了什么上瘾派,对不对?算是上瘾派,用原来 f 是这个函数,我们运行这些,我们可能 f 已经改成了正确函数上映派。一,一点二二亿的服务十六次方,那么就接近您了,这就是正确函数啊, 这就取得函数的地址,嗯,取得函数地址,取得函数的地址啊,啊,我们知道我们在这里面已经有了 f f, 对吧?有,有这样函数,那我就可以使用艾特这个符号取得他的地址。 ff, 我们的两个 f 啊, f f 两个 f, 我们就取得他地址,那接下来我就使用 f 二三啊,我们来算这个啊, 就相当于算出啊 f f 二三,那么就是等一,这是啊,两个平方加起来,这就所谓的啊匿名函数,那么这个啊匿名函数呢?或者函数记柄呢?特别有用,比如说我们想对函数进行操作 啊,什么意思?什么意思叫做对函数操作呢?比如说你输入一个函数,那我就求出这个函数根,输入另外一个函数,我求出另外一个函数的根,是吧?求这根,那么这个时候你输入的函数是变化,我是要对函数进行处理,那 我们下面再求解这个根,对吧?求解根,那么我们这里就要使用一个函数放在这里啊,别墅呢? f, 对吧?我们要使用函数在零点附近的根,那下面就要使用 fx, 那这个时候我们就把函数的记啊地址传进来就可以了啊,传进来就可以了, 这就所谓的啊函数的地址和啊记柄函数,那么匿名函数是一个特别有用的啊,希望大家能够掌握,下面我们介绍指函数,指函数, 指函数就是一个文件里面有多个函数,比如说我,我上面有个翻跟线,对吧?翻跟线,我下面在同一个文件里面,我们下面还有个翻跟线,还有更多个翻跟线, 那么像这种函数,那么上面这一部分函数就叫的主函数,下面都叫的指函数,那么比如说这个是 f f f 啊八,那么这是主函数的函数名称,那你的文件名呢?就要和他是一样的 啊,如果主函数也可能有输入,也可能有输出,那么下面是指函数,那么只有主函数可以使用这个指函数,那么在外面呢,你只能使用主啊,在其他的文件里面,你只能使用主函数, 这指函数只能被他的主函数使用,这就是为了主函数和指函数的意思, 那么前面使用的匿名函数就特别有用,如果说我要在啊,在这个主函数里面 使用指函数,一般有两种方法,一种就是使用刚才这这种方法,一种是直接写函数名称的方法,都可以,你也可以有多个指函数,所谓多个指函数是指的这个意思啊。 f, 嗯啊,这是主函数啊, 啊,这是主函数,然后接下来啊,又是指函数啊啊啊,指函数,那么这样的话,一个组多个啊,多个指函数构成一个文件,构成一个文文件啊, 那么这些紫函数是相互独立的,相互独立的,那么紫函数可以互相调用。 呃,这是关于主函数和指函数,那么下面一个命令是 叫做千套函数啊,千套函数啊,就是说我最外面有一个函数,函数底面还有一个函数啊, y 表示 fx 啊,那么这个函数底面还有个函数 啊,还有一个函数啊, b 等于 f f, a 啊,但是我们这样写话,上面就变成主函数,这都在一个文件里面啊,一个文件里面上面都变成了啊,主函数,那这个时候我们要加按的啊, 这按的就表示这是最外面的,那么这里要加个按的,那么中间是函数的主体,函数的主体啊,这下面可能还含有其他的代码,这都是主函数的代码,那么这一部分呢,就是指啊,被欠套的函数,被欠套, 那么这就带按的,那么这种函数啊,一般我们用的极少,但是这个函数有个优点,有个优点就是说这里面的变量啊,如果在这个不是他的参数啊,那么这个变量在这里面是相同的变量啊,这可以共享变量, 共享变量,或者说你主这个啊,外最外,最外的这个函数,他其实是全集变量啊,全集变量, 比如说我这里面可以写 y 的 x 平方,那就是 m, 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 算数运算函数中的求机平方根取整和取于。 那今天的分享就到这里,关注我,后面咱们再来一起学习迈特拉伯的其他知识。