矩阵中diag啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵中diag啥意思相关的知识,希望对你有一定的参考价值。

在线性代数中,diag(a,b,c…)表示一个对角矩阵(即指除了主对角线外的元素均为零的方阵)。

diag函数在FreeMat、Matlab中该函数用于构造一个对角矩阵,不在对角线上元素全为0的方阵,或者以向量的形式返回一个矩阵上对角线元素。

扩展资料

(1)提取矩阵的对角线元素

diag(A):提取矩阵A主对角线的元素,产生一个列向量。

diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量。

矩阵的对角线:与主对角线平行,往上为第1条、第2条、一直到第n条对角线,往下为第-1条、-2条、一直到-n条对角线。主对角线为第0条对角线。

(2)构造对角矩阵

diag(V):以向量V为主对角线元素,产生对角矩阵。

diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。

例:先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行元素乘以2,...,第五行乘以5。

用一个对角阵左乘一个矩阵,相当于用矩阵对角线的第一个元素,乘以该矩阵的第一行,用对角线的第二个元素,乘以该矩阵的第二行,以此类推。

参考资料来源:百度百科-diag (函数)

参考技术A diag(a1,a2,……,an)表示的是对角线元素为a1,a2,……,an的对角矩阵
例如:diag(1,-2,1)表示的是对角线元素为1,-2,1的对角矩阵本回答被提问者采纳
参考技术B 函数功能:在FreeMat、Matlab中该函数用于构造一个对角矩阵(不在对角线上元素全为0的方阵)或者以向量(在matlab中,1*n、n*1的矩阵都可以看做是一个向量)的形式返回一个矩阵上对角线元素。

在 Android 中“预先合并”一个矩阵是啥意思?

【中文标题】在 Android 中“预先合并”一个矩阵是啥意思?【英文标题】:What does it mean to "preconcat" a matrix in Android?在 Android 中“预先合并”一个矩阵是什么意思? 【发布时间】:2010-04-23 01:01:50 【问题描述】:

审核中:http://developer.android.com/reference/android/graphics/Canvas.html

我想知道

translate(): "preconcat the current matrix with the specified translation" -- 这是什么意思?

我在互联网上的任何地方都找不到“preconcat”的良好定义!我唯一能找到它的地方是 Android Source - 我开始怀疑他们是否编造了它? :)

我熟悉“concat”或concatenate,也就是追加,那么什么是pre-concat?

【问题讨论】:

【参考方案1】:

在处理矩阵时,连接一词指的是乘法。

由于矩阵乘法不可交换,因此有一个单独的词用于反向乘法。 将a 预先连接到b 意味着设置a = b × a。 (相对于a = a × b,它会给出不同的矩阵)

【讨论】:

谢谢。我的问题是在 Android Canvas 的上下文中,但是我很难在画布和矩阵之间建立连接? @Brad:画布维护一个变换矩阵; translate 操纵它。 画布维护一个矩阵,并且画布由 OpenGL 中明确定义的方法操作。相关定义的重要来源是:gpwiki.org/index.php/OpenGL:Tutorials:Theory【参考方案2】:

这只是另一个例子,谷歌和他们的开发在代码中使用了单词和缩写。如果我运行权威,我会对此处以罚款。基本上,这意味着从右侧乘以现有矩阵,因为在向量转换中右侧的一个首先移动,因此它是“前”。例如,如果您想缩放图像并移动到另一个位置,您应该键入:

    mCanvas.translate(tx,ty);
    mCanvas.scale(sx,sy);
    mCanvas.drawBitmap(mBitmap,0,0,mPaint);

这与常识逻辑完全相反。

【讨论】:

以上是关于矩阵中diag啥意思的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中“预先合并”一个矩阵是啥意思?

摄像机里的矩阵是啥意思

CAN模块是啥意思?

matlab中 norm啥意思

混淆矩阵:真负数为 0 是啥意思?

VTK中,类vtkActor::GetMatrix(),这个4*4矩阵是啥意思??