MATLAB 点运算

MATLAB 点运算 

1、引言

        在大一下半学期,学校开设了MATLAB课程。但是那时候心思没在学习上,痴迷于悟“道”,道家思想。所以 MATLAB 也就学的稀里糊涂,而且那个时候也没有认识到 MATLAB 在工科领域的地位。当然,这门课最后也是挂了,补考也是 60 分飘过。哎,说多了都是泪啊。

        在之后的学习中,用到 MATLAB 的场合也不多,只要是遇到不会的 MATLAB 知识,去网上查一下,只要把当前的作业任务完成就好了。这样学习到的 MATLAB 知识非常碎片化,不成体系,遗忘也非常大;在用到其知识时,总是再一次的去资源浩如烟海的网上查询遗忘的知识,这样就导致学习效率就很低下。

        在悟得 “道” 之后,开悟之后,我才把心思从道家思想慢慢地转移到学习上。这时的我,在专业课程上已经被同龄人甩开了一大截。但是在思维的广度和深度上以及思想的深邃上我把同龄人甩了十条街。课程落下了,知识没学到,这都没关系,再去重新学一遍就好了。前人总结和验证过的经验被写进了教科书,成为我们学习的知识,起码在我有生之年这些知识不会被推翻。从表面上看,我和同龄人相比是有点晚了,但是我觉得一点都不晚,学习从什么时候开始都不晚。重要的是:自己是什么样子,而不是世界是什么样子;你是什么样子,你眼中的世界就是什么样子。

        现在回忆起之前的经历,我对我之前的选择,一点都不后悔。如果没有当时力排众议的选择,就不会有后面的经历,没有这些奇特的经历,就不会有今天的我。他们总说我瓜,其实我一点都不瓜,大多时候我都是机智的一批。因为智慧 的获得是可遇不可求的,要看机缘,看悟性。学习到智慧,就像拿到了一本游戏攻略一样,做事便会事半功倍。

        这时,悟得了大道,我再也不是大一时懵懵懂懂、傻啦吧唧和极其浮躁的我了。我发现人与人的差距在两个方面上,一是在社会关系上,二在认知水平上。读书是对认知水平的塑造,但是能塑造多高,跟书的数量没有必然关系,而在于对知识“领悟运用的能力”“结合自身实践的能力”

        之后,我在学习的时候,开始注重建立知识逻辑,知识体系和知识框架。学习再也不以考试不挂科为目的,而是以把知识理解透彻,能用其展现创造力,体会知识对我们的文明产生了什么样的影响和探究知识的边界为目的。

2、点运算

        回顾过往的经历,为了更好的筹划未来。在以往学习 MATLAB 的过程中,这个 MATLAB 点运算是最让我抓狂的一个知识点。运算没有加“点”,图像出不来,说到底,还是没有深入透彻理解点运算,不知道在什么时候加“点”,什么时候不加“点”。老是学,老是忘;然后学,然后再忘;就陷入了一个 while( 1 ) 循环中。

        就在今天,想去用 MATLAB 画一个数学图像,需要用到点运算,然后我又忘了;得,又去重新学习了一遍。然后我把这个学习点运算的笔记在博客上 ,以求深入理解和纯熟应用。

        MATLAB 的基本算数运算符有:

+(加)、-(减)、*(乘)、/ (右除)、\ (左除)、^ (乘方)

注意:MATLAB 运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。 

         所以,有关线性代数矩阵运算都可以在 MATLAB 中进行运算。有这样一个特例,一个数加矩阵,在线性代数中不存在这样的运算,但是在 MATLAB 中可以运算。

例:A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9]        B = 10 + A

MATLAB 点运算_第1张图片

          在 MATLAB 中,有一种特殊的运算,就是在基本算术运算符前面加点,所以叫 点运算。 为什么要有点运算呢? 正是因为有了点运算,所以我们就能够做大型的数据处理。假设我们有一万维的数据,对所有的数据进行 3 次方,如果没有点运算,做起来就会相当的困难。

        MATLAB 本身是为了做矩阵运算而创立的软件,但是,为了数学上很多计算的方便,自己就创造了一个点运算,使得 MATLAB 运用的领域大幅度的被扩展了。

        点运算符有:

点乘:  . *

点除:  . /        .\

点幂:  .^

两矩阵进行点运算是指它们的对应元素进行相关运算。 

要求两矩阵的维数相同。 

        通过我上述的讲解,很敏感的就会体会到矩阵的乘法运算( * )和 点乘 ( .*) 运算的区别。矩阵乘法运算要求:前一个矩阵的列数和后一个矩阵的行数要一样点乘是指:两个矩阵的对应元素相乘

  • . ^ (点幂 )        如: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 输出结果为

MATLAB 点运算_第2张图片

 ②  A . * B 输出结果为

MATLAB 点运算_第3张图片

③  A .\ B 输出结果为:

MATLAB 点运算_第4张图片

 ④  2 . ^ B 输出结果为

MATLAB 点运算_第5张图片

⑤  在 0 <= x <= 2π  区间内,绘制曲线 y=2e^{-0.5x}\cos (4pi x) 

MATLAB 点运算_第6张图片

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 点运算,其包括点乘 ( .*)、左点除 ( .\ )、右点除 ( ./ ) 和点幂     ( .*) 这四种点运算。

        最后谈谈我悟道后的心境吧,算是首尾呼应了。悟道后的心境大概是不会浮躁,能够沉淀下去、没有精神内耗、没有困惑和烦恼。对自己有一个相当清晰的认识,知道自己为什么而活,现在每天都生活得很幸福。晓得在不同的社会环境下如何给自己定位,看事物很快能够看到其本质,做事有自己的章法。别人宠我笑我辱我,我都会一笑而过。有一种飘飘乎如遗世独立,羽化而登仙的感觉。

        万物负阴而抱阳,充气以为和;临兵斗者,皆阵列前行。

你可能感兴趣的:(MATLAB,matlab)