美文网首页
Matlab中如何重复矩阵(对角线)元素?

Matlab中如何重复矩阵(对角线)元素?

作者: 明明就_faf8 | 来源:发表于2019-05-29 14:50 被阅读0次

    一、生成对角矩阵的基本用法

    1、diag(a)

    使用diag(a)命令生成对角矩阵,a为某个向量,如下所示:


    image.png
    2、diag(a,i)

    使用diag(a,i)命令生成,a为某个向量,i为a向量相对主对角线偏移的列数(向上为正,向下为负)。当i=0时,可以直接写成diag(a)。具体情况如下:


    image.png
    image.png

    二、生成三对角线上元素相同的矩阵

    1、生成全为1的向量如下:

    (1)a(1:3,1) = 1



    (2)a = repmat([1],3,1)


    image.png
    注意:a=repmat(A,m,n)是用A矩阵铺成m*n块且每一块都是A的矩阵,如下:
    image.png

    (3)ones(3,1)


    image.png
    2、生成对角线上元素相同的矩阵
    image.png

    或者 :


    image.png

    三、生成其他类型的三对角矩阵

    先用A=zeros(m,n)定义m行n列的元素都为0的矩阵,然后为对角线元素赋值则可以得到任意形式的三对角矩阵。
    (1)第一种方法

    a = zeros(3,3)
    
    image.png
    a(logical(eye(size(a)))) = 1
    
    image.png

    第二种方法:使用循环给对角线元素赋值,输入:

    for i = 1:size(a) #size(a) =3,3  即3行3列
    a(i,i) = 1 #即将a矩阵中第i行第i列元素赋值为1
    end
    
    结果一样.png

    注:这种方法只适合方阵

    转自:https://blog.csdn.net/yzj577/article/details/79585486

    相关文章

      网友评论

          本文标题:Matlab中如何重复矩阵(对角线)元素?

          本文链接:https://www.haomeiwen.com/subject/aklytctx.html