zoukankan      html  css  js  c++  java
  • [matlab] 3.矩阵

    matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有。

    事实上,matlab里面所有变量都是以矩阵的形式保存下来的。

     

    %%
    >> x=[1:2.1:10]
    
    x =
    
        1.0000    3.1000    5.2000    7.3000    9.4000
    1冒号生成法

    非常方便,相当于python里面的for循环

    x=linspace(1,10,6)
    %(初值,终值,项数)
    linspace法

    A(n):访问矩阵A里的第n个元素(以列为遍历顺序)

    matlab内置一系列特定矩阵:[]空矩阵、eye 单位阵、blkdiag对角矩阵、ones 全部元素为1的矩阵、zeros全部元素为0的矩阵

    blkdiag(1,2,3,4)
    对角矩阵

    matlab内置常见的指令: max 、min求最大最小元素;mean求平均值;median求中位数;sum求和【注意sum对矩阵操作的时候是按列求和】;prod求积;length求数组长度;size求矩阵的阶数。

    c=blkdiag(1,2,3,4)
    c(4,:)=5
    sum(c)
    sum(sum(c))
    sum求和

    关于除法,注意matlab里有两种除法,左除和右除/【相当于左乘或者右乘那个矩阵的逆矩阵】

    线性代数里面学过: 除以一个矩阵 等于 乘以它的逆矩阵,

    所以只有方阵才能做除法哦【可逆的方阵】

    举例:【注意:rank是求矩阵的 秩】

    A=[1,0,1;0,0,2;3,1,2];
    rank(A)
    B=[2 5 1;2 0 3;1 2 2];
    rank(B)
    format rat %显示分数格式
    A/B
    A*inv(B)
    BA
    inv(B)*A
    矩阵的除法

    结果如图:

     关于matlab中的点运算

    A=[1,0,1;0,0,2;3,1,2];
    B=[2 5 1;2 0 3;1 2 2];
    
    A*B
    A.*B
    A.^2
    点运算

    下面是一些对矩阵的操作函数

    转置:在矩阵后面加一个 ' 就好

    reshape 改变矩阵阶数

    repmat 按指定的行列数复制矩阵

    rot90 逆时针旋转矩阵90度

    flipud 上下翻转
    filplr 左右翻转

    A=[1,0,1;0,0,2];
    G=repmat(A,2,2)
    repmat 整个复制

    A=[1,0,1;0,0,2]
    H=reshape(A,3,2)
    矩阵重新塑形(行列)

    关系运算符

    A=[1,2,3;4,5,2]
    B=3*ones(2,3)
    A>B
    %可以用来判别 符合条件的数据位
    矩阵关系运算符

     find主要就是找到矩阵中符合条件的元素的序号(按列顺序)

    A=[1,2,3;4,5,2]
    B=3*ones(2,3)
    find(A==B)
    find函数的应用

    A=[1,2,3;4,5,2]
    B=3*ones(2,3)
    find(A>3) %返回满足条件的列序号
    A(find(A>3))  %根据列序号取出具体位置的数值
    利用find返回的列序号取具体值

    再补充一些系统的命令

    clc清屏

    who 显示已有变量

    whos 显示已有变量和具体信息

    home 将光标移到左上角

    clf 清除图像

    A=magic(5);
    C=[eye(5);eye(5)] ;
    B=C*A  %线性代数 左乘单位矩阵  行方向复制A矩阵
    左乘单位矩阵 复制矩阵
    A=magic(5);
    A=[A;A]
    矩阵拼接

    计算两点距离

    A=magic(2);
    A=A(:);
    B=magic(2);
    B=B(:);
    D=pdist2(A,B)
    pdist2 计算距离

  • 相关阅读:
    我的“.vimrc”配置
    js写的简单购物车2
    js写的简单购物车
    用css3绘制你需要的几何图形
    给父级DIV清除浮动
    HTML中canvas的大小调整
    Python
    Python文本编辑器推荐
    jQuery mobile基础
    Bootstrap网格系统
  • 原文地址:https://www.cnblogs.com/clemente/p/9538358.html
Copyright © 2011-2022 走看看