(大厂技术坚持周更精选好文)为啥讲数学?

雅思2024-05-10 08:54:05佚名

大昌科技坚持每周更新精选好文前言

为什么要讲数学?

我们先来说说接下来的时间线:

文章会涉及到一些最基本的矩阵运算,所以需要学习线性代数/矩阵理论。 只要你学会了,就算忘记了也没关系。 只要给我一个提醒,留下一点印象就可以了!

说什么?

几乎所有学科(理工科)都需要学习线性代数,比如计算机科学、物理学、电气工程、机械工程、统计学等。我们已经学会了如何计算矩阵:乘法、叉积、特征值等,但是我们仅限于计算。 您是否有以下问题:

对于我们学习的很多课程,大家可能都会有这样的疑问,甚至可能自己还不知道。 对于线性代数来说,今天分享的目的就是为了回答这些问题。

对于线性代数,我们只学习了它的计算,但其实更重要的是它的几何意义。 计算只是解决问题的工具,理解它的几何意义有助于我们知道用什么工具解决什么问题以及如何解释最终结果的意义。

好了,废话就这么多。 我主要是想激发大家的兴趣。 我希望你不会因为完整的公式而感到无聊。 内容其实并不复杂,而且很有趣。 当然,这是建立在我能够传达我想说的话的基础上的,我也尽力做到了。

本文分为 2 部分:

基本矩阵运算

如果直接告诉大家矩阵是如何表示几何意义的,其实大多数人都能记住并且应用得很好。 不过,我还是希望大家能够真正明白其中的道理,所以我先讲一些基础知识。

向量和基本运算

矩阵的基础是向量。 我们先来看看向量。 向量在不同学科眼中是不同的东西,甚至可以是任何东西,只要它们的加法和乘法有意义即可。

为什么只需要加法和乘法,稍后会解释:只需这两个运算,就可以到达空间中的任意点。

向量可以表示为、表示为、表示为坐标系上的箭头

添加

将向量视为运动。 从原点开始,沿该方向移动一段长度,再沿该方向移动一段长度,就相当于直接沿该方向移动长度。

结合数学和几何表示,我们可以知道为什么向量的加法是这样定义的: + = 。

matrix是什么意思_意思是什么_意思是的英文

数字相乘

会在它的方向上延伸到2倍,相当于x轴和y轴上的分贝放大2倍,这就是==的定义。

线性组合、跨度空间和基

在描述向量时,有一个我们使用但没有关注的东西:向量的基。 我们都默认向量的基坐标为平面坐标系上的x轴方向和y方向。

通过这两个基,然后使用乘法和加法+=,我们可以得到平面上的任意向量(对于三个维度也可以这样说)。 这些向量称为基向量的线性组合,整个二维平面都在我们的控制之下。 那么如果我们改变基坐标,每对基坐标是否可以控制整个平面呢? 不。 当两个基向量完全共线时,它们的线性组合总可以是一条直线; 当两个向量都是零向量时,它们的线性组合总能保持在原点。

用术语来说,我们将可以表示为给定基向量的线性组合的所有向量的集合称为给定向量所跨越的空间。 从刚才的描述中我们可以看出,对于大多数二维向量来说,它们所跨越的空间是整个A二维平面,在某些情况下可能是一条直线,也可能是一个点。

那么我们如何选择基向量呢?

如果一个向量可以通过平面上两个向量的乘加之和得到,那么它不会对跨度空间做出任何贡献,即至少有 、 、 、 、 等其中一个,可以去掉。 这时候我们会说a、b、c是线性相关的; 同时,我们可以得出结论,一组空间向量的基是一组跨越空间的线性无关向量。

此时我们可以发现,只要对向量进行乘法和加法,就可以扩展整个对应的维度空间,即到达整个对应的维度空间中的任意点。

顺便看一下张成的三维空间

矩阵和线性变换

以上向量都是基本运算,一切都是为了更好的理解矩阵运算。

不幸的是,目前还不清楚矩阵是什么,你必须自己去看。 ——函数通过某种处理将输入变成输出,例如y=f(x)。 向量运算a=L(b)也是如此。 为什么我们不把向量运算称为函数,而称之为向量变换/矩阵变换? 这提醒我们用运动的思想来看待向量的计算,或者换句话说,矩阵/向量变换就是空间的变换。

为了说明,比函数稍微简单的是,矩阵变化都是线性变换(因为它们都依赖于向量乘法和加法)。

线性变换是一种使网格线平行且等距的变换。

视频中提到了一个问题:对于平面上的输入,我们应该给计算机给出什么公式L才能得到=L()?

如上所述, 和 是形成二维平面的最简单的一对基底。 因此,在关注下面二维平面的变换时,我们只需要关注这对基的线性变换,就可以得到整个平面的线性变换。 变换,即式L。

比如变成,变成,整个二维平面变化如下:

matrix是什么意思_意思是什么_意思是的英文

我们将改变后的两个基向量放入矩阵中,如下所示,这样这个矩阵就代表了二维空间的一个变换,就是公式L,其中两列就是变换后的和。

矩阵向量乘法

理解【矩阵是空间的变换,它的两列是变换后的基向量之和】是非常重要的。 这是理解后续所有操作的基础。

现在,我们来回答上面的问题:如果你想知道一个向量的位置,比如线性变化后,也就是L()的位置,你只需要计算+=+即可。

抽象后

停下来体验一下...

上面,我们实际上得到了矩阵-向量-向量乘法的几何意义:一个向量左乘一个矩阵得到的值的几何意义是:这个向量在新空间(矩阵变换后的空间)中的位置。

矩阵乘法

矩阵是一个空间的变换,那么如果我们想连续多次变换空间怎么办?

这时,我们不会一步一步地描述某个特定向量的方向,而是直接描述整个平面的变换。 您可以观看视频了解更具体的过程。 我们首先在平面上进行 = 变换:变换到,变换到,然后进行 = 变换。

这时候就会转化为====+=

这时就会转化为 = = = + =

上述过程也得到了矩阵乘法的定义,即

上面整个过程我们学矩阵乘法的时候就直接背下来了。 了解了它的几何意义之后,希望大家每次使用的时候都能思考一下它背后的几何意义——对空间的多次连续运算。 进行变换,以便您对矩阵有更好的理解。

乘法的结合律和交换律

如果你还有印象的话,矩阵满足乘法结合律,但不满足乘法交换律。 为什么是这样? 我们可以通过几何意义很好地理解其中的原因。

等式左边的意思是:先变换,再变换,再变换;

matrix是什么意思_意思是什么_意思是的英文

等式右边的意思是:先变换,再变换,(等一下?)再变换;

是不是很明显没有区别甚至不需要证明?

等式左边的意思是:先变换,再变换;

等式左边的意思是:先变换,再变换;

很难用言语形容,看视频吧

我们不需要用数字来证明这个过程。 我们只需要在脑海中想象一下就知道交换律不成立,即空间变换的顺序不是任意的。 当然,通过数值计算也可以很容易得出这个结论:

显然两者并不相等。 你也可以带入具体的数字来计算,确实不相等。

矩阵的运算顺序是从右到左,可能不符合常规习惯。 但想想前面提到的事情。 矩阵运算其实就是空间上的函数运算,结合复合f(g(x))的写法:先算g(x),再算f(g(x)),那么就不难理解了。

行列式

其实我所说的已经足以解释矩阵的几何意义了。 后面提到的只需要上面的理解即可。 不过,我还是想继续简单描述一下另一个概念,以说明矩阵的各种其他概念也都有其相应的实际(几何)意义。

如果还有展示,行列式的计算规则是=ad-bc。 这个值代表什么? 让我们一步步来看。

因此,矩阵的行列式表示:矩阵变换后平面单位面积的缩放因子。

想想公式det()=det()det(),不用数学计算,你能用一句话解释清楚吗?

假装了一分钟。

我的理解:变换后,空间缩放了det()倍,然后变换后,(假设此时的空间被认为是单位空间),那么变换后的空间不是缩放了1* det() times ,而这里的1实际上是det(),即det()=det()det(),这看起来很明显,不需要任何证明。

还有很多其他的矩阵性质也具有几何意义,比如逆矩阵、特征值等,这里就不一一解释了。

中间

如果熟悉这个用法,相信大多数人都不理解每个参数的含义,导致很难死记硬背。 当然,这并不影响我们的日常开发,因为我们很少使用它。 不过,了解了上面的矩阵变换之后,你会发现根本不需要记住。 每个参数都很容易理解,我们常用的一些属性:

验证demo[3],点击正在动画的元素,你就会发现它。

意思是的英文_matrix是什么意思_意思是什么

基本格式

transformmatrix(a,b,c,d,e,f

对应的矩阵为A=。 假设平面上的一点是(x,y),变换后就是=。

再次回顾一下,这里的A是平面(坐标系)的变换,其中(a,b)是变换后的基向量,(cmatrix是什么意思,d)是变换后的基向量。 根据上面的理解,我们知道,对于平面变换,可以使用22的矩阵。 也就是为什么多了e和f,组成了33的矩阵。这个和和有关,所以我们先看一下。

以下场景的演示[4]

属性表示为元素的位移,不涉及坐标系的变换。 因此,不可能改变参数中的a、b、c、d。 我们需要添加一个简单的位移维度,即(x,y)平移(e,f)后,坐标会变成(x+e,y+f),同时我们要保留的函数保持不变(假设我们已经知道它的功能,我们稍后再讲)。

因此matrix是什么意思,保持总和不变,我们可以得到=,从而得到变换后的点(x+e,y+f)。 添加平面的变换后,我们可以得到上面的通用变换矩阵。

总结:只用到了参数e和f,(e,f)对应(1,0,0,1,e,f)。

规模

scale属性表示元素的缩放,即坐标系缩放,但不会变形; 也就是说,仅执行矩阵乘法变换,成为,成为,其中m和n是标量。 对应矩阵,即转化为英语作文,即。

总结:scale只需要参数a和d,scale(a,b)对应(a,0,0,d,0,0)。

属性表示元素的旋转,涉及到三角函数。 旋转之后,变成,变成。 对应于矩阵,即变换为。

总结:参数a、b、c、d为必填项,()对应(,,,,0,0)。

组合使用

其他属性就不一一解释了。 让我们看看如何组合使用这些属性。

我们先问一个问题:如果我们要将元素缩小到0.5倍,并向右移动50px,我们会写什么呢?

.element{
    transformtranslate(50px0scale(0.5); 
}

.element{
    transformscale(0.5translate(50px0); 
}

以上两种写法有什么区别吗?

上面我们提到矩阵的每一次左乘都是一次变换。 对于多重变换,只需多次左乘即可。 假设矩阵为 ,Scale 的矩阵为 ,元素上的点矩阵为 。

我们已经知道矩阵乘法不满足交换律,即 和 不相等。 这意味着:(50px, 0) 缩放(0.5); 和:比例(0.5)(50px,0); 是不同的。 那么我们来看看事实是否如此?

意思是什么_matrix是什么意思_意思是的英文

通过demo[5],我们可以发现两者并不相同:

因此,只要我们始终记住变换是对当前元素所在的整个平面进行变换,而不仅仅是当前元素,我们就可以使用正确的组合。

另外,知道组合使用实际上只是矩阵乘法,我们还可以连续使用相同的属性(不一定使用calc),例如:

思考:非方阵

上面提到的m*n矩阵都是方阵,即行数m、列数n相同的矩阵。 非方阵代表什么?

例如:

我不会在这里提供答案。 如果你理解了上面的内容,相信就很容易搞清楚了~

本文只提到了矩阵的一些基本性质,但实际上这些基本性质足以解释它的几何意义。 如果以后看到矩阵的时候能想到它的几何意义,那么本次分享的目的就达到了!

ps:看完视频,我在网上查了一些关于这方面的文章。 由于这是一个很难用言语解释清楚且容易劝阻的话题,因此大多数文章都难以阅读。 这篇文章也很难解释。 情况可能是这样。 所以我越来越高兴看到这个视频集。 虽然以后不一定能用到,但它也带来了那些看视频的快乐时光,以及写这篇文章时的“心流”和热情!

参考

[1]

[2]

升宝大师线性代数合集:

[3]

验证演示:

[4]

演示:

[5]

演示:

❤️感谢您的支持

以上就是本次分享的全部内容,希望对您有所帮助^_^

相关推荐

猜你喜欢

大家正在看

换一换