矩阵中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啥意思的主要内容,如果未能解决你的问题,请参考以下文章