欢迎来到博主 Apeiron 的博客,祝大家旅程愉快 !时止则止,时行则行。动静不失其时,其道光明。
目录
1、缘起
大一下半学期,学校开设了 MATLAB 课程。但是,那个时候心思没在学习上,痴迷于悟“道”,就是传统文化中的 道家思想 ,所以当时 MATLAB 也就学的稀里糊涂,而且那个时候也没有认识到 MATLAB 在工科领域的地位。当然,这课门最后也是挂了,补考也是 60 分飘过。哎,说多了都是泪啊 ~~
在之后的学习当中,用到 MATLAB 的场合也不多,只要是遇到不会的,或者遗忘的 MATLAB 知识点就去百度一下,只要把当前的作业完成就好了。然而,最后发现这样学习到的 MATLAB 知识点非常碎片化,不成体系,所以遗忘也就非常大。在每每用到相关知识点的时候,由于遗忘,总是再一次的去资源浩如烟海的网上查询,这样就导致学习效率就很低下。
在觉醒之后,我内心深处有一个声音响起:“该回到正轨了”。这时,我才把心思从道家思想慢慢地转移到学习上。是啊,专注内观,聆听心声;遍体阳和,金华出露;回光循循然行去,不要废弃正业,不要废弃正业,不要废弃正业哇 ~ 。这时的我,在专业课程上已经被同学甩开了一大截。课程落下了,知识没学到,这都没关系,再去重新学一遍就好了。从表面上看,我和同学相比是有点晚了,但是我觉得一点都不晚,学习从什么时候开始都不晚。我是什么样的人,我就会看到什么样的世界;我有什么样的眼光,我就会从世界里面看出什么样的世界意义;从这个意义上来说,世界本身是什么样的并不重要,重要的是我是怎么样的。
现在回忆起之前的经历,我对我之前的选择,一点都不后悔。如果没有当时力排众议的选择,就不会有后面的经历,没有这些奇特的经历,就不会有今天的我。他们总说我瓜,其实我一点都不瓜,大多时候我都是机智的一批。因为 智慧的获得 是可遇而不可求的,要看机缘,看悟性。人一旦开了窍,人生就像开了挂一样,做事也会顺利很多。开窍后的我就像是被打通了任督二脉,突然就不再害怕书本上的那些晦涩难懂的知识点了。
这时,踏入道境,我再也不是大一时懵懵懂懂、傻啦吧唧和极其浮躁的我了。我发现人与人的差距在两个方面上,一是在社会关系上,二在认知水平上。读书是对认知水平的塑造,但是能塑造多高,跟书的数量没有必然关系,而在于对知识 “领悟运用的能力” 和 “结合自身实践的能力”。
在此之后,我在学习的时候,开始注重建立知识逻辑,知识体系和知识框架。学习再也不以考试不挂科为目的,而是以把知识理解透彻,能用其展现创造力,体会知识对我们的文明产生了什么样的影响和探究知识的边界为目的。
2、缘聚
回顾过往的经历,是为了更好的筹划未来。在以往学习 MATLAB 的过程中,这个 MATLAB 点运算 是最让我抓狂的一个知识点。运算没有加 "点",图像出不来。说到底,还是没有深入透彻理解点运算,不知道在什么时候加“点”,什么时候不加“点”。老是学,老是忘;然后学,然后再忘;就陷入一个 while( 1 ) 循环中了。
就在今天,我想去用 MATLAB 画一个数学图像,需要用到点运算,然后又忘了。得,又去重新学习了一遍。然后我把这个学习点运算的笔记在博客上 ,以求深入理解和纯熟应用,同时也希望能够帮助到有需要的同学。等到再次忘记的时候,直接简单快捷地翻阅这篇博客就可以啦 !
2.1、基本算数运算符
在学习点运算之前,先了解一下 MATLAB 中的最基本的算数运算符,这样在学习点运算的时候便会事半功倍。其基本的算数运算符如下:
+(加)、-(减)、*(乘)、^ (乘方)
MATLAB 运算是在 矩阵 意义下进行的,单个数据的算术运算 只是一种特例。 所以,有关线性代数矩阵运算都可以在 MATLAB 中进行运算。但是有这样一个特例,一个数加矩阵,在线性代数中不存在这样的运算,但是在 MATLAB 中可以运算。
例:A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9] B = 10 + A
2.2.1 矩阵加法
当两个矩阵具有相同的维度时,可以进行矩阵的加法。以下是一个矩阵加法的例子:
例:A = [1,2;3,4] B = [5,6;7,8]
2.2.2 矩阵减法
当两个矩阵具有相同的维度时,可以进行矩阵的减法。以下是一个矩阵减法的例子:
例:A = [1,2;3,4] B = [5,6;7,8]
2.2.3 矩阵乘法
在矩阵相乘中,如果两个矩阵的维度允许相乘,即 第一个矩阵的列数 等于 第二个矩阵的行数,那么它们可以相乘。结果矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。
具体来说,假设有一个 m × n 的矩阵 A 和一个 n × p 的矩阵 B,它们可以相乘。结果将是一个 m × p 的矩阵 C。矩阵乘法的计算方法是将第一个矩阵的每一行与第二个矩阵的每一列进行内积运算,然后将结果相加。下面是一个例子:
例:A = [1,2,3;4,5,6] B = [7,8;9,10;11,12]
注意:对于矩阵乘法来说,乘法操作的顺序很重要。A × B 不一定等于 B × A,因为乘法不满足交换律。
2.2、点运算示例
在 MATLAB 中,有一种特殊的运算,就是在 基本算术运算符前面加点,所以叫 点运算。 为什么要有点运算呢? 正是因为有了点运算,所以我们就能够 做大型的数据处理。假设我们有一万维的数据,对所有的数据进行 3 次方,如果没有点运算,做起来就会相当的困难。
MATLAB 本身是为了做矩阵运算而创立的软件,但是,为了数学上很多计算的方便,自己就创造了一个点运算,使得 MATLAB 运用的领域大幅度的被扩展了。MATLAB 中的 4 种点运算符如下:
点 乘: . *
点左除: ./
点右除: .\
点 幂: .^
两矩阵进行点运算,是指这两个矩阵相对应元的素进行相关运算。
要求两矩阵的维数相同。
通过我上述的讲解,很敏感的就会体会到矩阵的乘法运算( * )和 点乘 ( .*) 运算的区别。矩阵乘法运算要求:前一个矩阵的列数和后一个矩阵的行数要一样。点乘是指:两个矩阵的对应元素相乘。
- . ^ (点幂 ) 如:A . ^ 1.2 % A 中每个元素的 1.2 次
- A . ^ B % A 中每个元素作为底数,B 中对应元素作为次数,进行幂运算
- 3 . ^ B % 以 3 为底、B 中元素为次数
例 A = [ 1, 2, 3; 3, 7, 9 ] B = [ 10, 9, -3; 3, 17, 6]
① A. * 2 输出结果为
② A . * B 输出结果为
③ A .\ B 输出结果为:
④ 2 . ^ B 输出结果为
⑤ 在 0 <= x <= 2π 区间内,绘制曲线
![]()
x = 0 : pi/100 : 2*pi;
y = 2*exp(-0.5*x).* cos(4*pi*x);
plot(x,y)
代码解释:
① 第一行代码是 x 的取值范围。pi / 100 是步长,就是说 x 从 0 开始,每隔 pi / 100 取一个点,到 2*pi 结束。这将形成一组数,这组数被称为向量,也就是 x 的取值范围。
② 第二行代码是函数公式。其中最重要的一点是,指数函数和三角函数之间是点乘(. *)运算,而不是乘法( * )运算。为什么呢 ?因为 x 是一组向量,指数函数和三角函数中都有变量 x ,所以其指数函数和三角函数都是两组向量,在 Matlab 中向量和向量相乘只能用点乘,如果用乘法运算,这将无法计算。
③ 第三行代码是二维画图函数,x 是横坐标,y 是纵坐标。
3、缘落
今天分享总结了 MATALAB 点运算,其包括 点乘 ( .*)、左点除 ( .\ )、右点除 ( ./ ) 和 点幂 ( .*) 这四种点运算。
最后谈谈我悟道后的心境吧,算是首尾呼应了。悟道后的心境大概是:貌和身自别,心与相俱空;一尘全不染,甲子任翻腾。相,指的是外在的美丑善恶之相;即没有对外在的美丑善恶的执着,没有世俗人的习性与追求,任由时间流逝,沧海变桑田,我也只做一个旁观者,不参与其中。是啊,人若骂我,我也不恼;若打我,我也不嗔,只是陪个礼儿就罢了。有一种飘飘乎如遗世独立,羽化而登仙的感觉。
万物负阴而抱阳,冲气以为和;临兵斗者,皆阵列前行。本期的分享总结就到这里了,如果有疑问的小伙伴,我们在评论交流嗷~~~,笔者必回,我们下期再见啦 !