• MATLAB入门学习(二)


    关于矩阵 ~o( =∩ω∩= )m

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

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

    一个数字是1x1矩阵

    我们来看看矩阵的输入方式吧!

    ZMKTHXFQH6EPPMZTJA82_thumb3

    这是直接输入的方式

    行之间要用;或者回车隔开

    每行数据的个数要相等

    ①冒号生成法
    变量=初值:增量:终值

    4UMSB4FENKZEACHTIEI_thumb3

    相当于for(i=1;1<=12;i+=2)

    ②还有一种 ,不知道增量,只知道初值,终值和项数 的方法

    ZESFWORDEA9MLMX7BKE_thumb2

    这是生成一个初值为1,终值为5,10项的一维向量。

    下面看看矩阵元素的访问

    先输入一个矩阵

    2DFTU1AH5XHSA67II3_thumb2

    访问例如:第二行第三列:B2IOQ9V8L8KUP4OC2U_thumb1

    然后:【访问第二行所有元素】 CPDS1LCZJJHSZEGEG4_thumb1

    类似的:【访问第三列所有元素】VEID267O2KOIM6EKJW_thumb1

    用两个向量来表示要显示的行和列的元素 4K334F0H_XFQ_QNNS0FI_thumb1

    A(n):访问矩阵里的第n个元素

    MXEMT0_J2D22LYE33_thumb3按 列 的顺序(*≧▽≦*)记住了哦!ZV2O26VX3YMZN8VPR6_thumb2列向量哦!!!

     

    A(B)
    B是一个矩阵
    生成一个和B一样大小的矩阵

    矩阵的元素就是B中每个数字对应的A中的元素,举例:

    YA422LV2L882HIGRUB_thumb1

    对照着上面的A矩阵看,这个写法相当于: B6GVT06DAWMGZKO8Y_thumb2

    接下来:

    2NDNSWKJ4LR5RSD79_V_thumb2还记得冒号是什么吧(。^▽^)~

     

    当中间的数字为1时可以省略不写

    JS8IB9R5ZHJ9PJ537LV2T_thumb2【第3个元素到第七个元素】

    FUL4YBOBJPL_XPOCS6INN17_thumb2【这样是到最后一个元素】

    还可以倒序输出哦♪(^∇^*) RP9C5FUXUKUKASRPV_thumb2

     

    然后是矩阵元素的赋值和修改

    和上面基本差不多,就是要记得等号左右两边矩阵的大小要一样!

    F7URIVT01O18J1WNNZF_thumb2

    变为同一个数字就是这样:7XI8L5T_65L3PAAA95I_thumb1

    删除:UNJC811GJ_2NSDF0_thumb1; 增加:_IR2WOVLA0BVFG1_thumb1

    【这里删除和增加只能一行一行地操作】

    matlab内置了一些生成特殊矩阵的函数

    常见的有:[]空矩阵、eye 单位阵、blkdiag对角矩阵、ones 全部元素为1的矩阵、zeros全部元素为0的矩阵

    例子:

    E6GB17M~B~OV5PJZ]~A@$Q1_thumb[1]           DTFV(O1[F13YP0H%5U4_Z6G_thumb[1]

    然后是向量和矩阵的运算

    输入:~~7)RYTN[LH]W4CX$E]JQQS_thumb[1]

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

    1T`~(67W5RGX0`AKASCEQU1_thumb[1]        F3C5]JN{1W2)9$Y1P0I$06W_thumb[1]     【按列求和喔0.0+】

    想求矩阵全部元素的和:]STDFMV]C2@BMLI_~]SL](1_thumb[1]

    其他一些操作对矩阵同理~

    AH]V}4}}UWUUFJH8VXEVYOL_thumb[1]

    矩阵运算:矩阵的四则运算和线性代数里面学的一样(注意矩阵的大小)

    (告诉我,你学了线代的对吧(。・∀・)ノ゙)

    S8P)(4~3E~UQT}3`]OBJ`I7_thumb[3]    1{Y]YE7]V_AVO()4L)W)TEG_thumb[1]     ]H3[WLJDISA4Z6XW_SG{B33

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

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

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

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

    I9CREKPMZCB1%6QUTQIOBES

    K6CRQY928%[J2VP8_V(VO[F   LT%CV2_P$MY6(CV`[](G~EW

    【一眼看不出来答案了,,惊恐的眼神┌(。Д。)┐。。】

    那我们来验证一下~使用命令inv来求矩阵的逆再做个乘法看看~

    43S9RQC8W9@50S1X@}VI3TA

    矩阵和数字的运算:

    C24P1_C8R~PI_7)(NDR(Z}L       IBZLY_D4~HU]TT~B7X70@NV

    【这就是相当于每个元素单独和这个数字运算】

    然后是点运算这个比较特殊,要注意和普通运算区别 !

    这是刚刚的A,BTU418(F[3FJHDJ{BX{Y~0KP

    S)SZ4SN{JJ5}$35C@AU40_J     01DK~Y6K12A@PLV$EBQ~GYX

     

    总的来说,点运算就是两个同样大小的矩阵对应位置做运算

    公式更直观一点

                 

    好了,关于矩阵,你掌握的怎么样啦♪(^∀^●)ノ其实还有一点没讲完,下篇博客补充!

  • 相关阅读:
    C#24种设计模式汇总
    传智播客C++视频学习笔记(5)
    传智播客C++视频学习笔记(3)
    传智播客C++视频学习笔记(1)
    Learning hard 网络编程
    Learning hard 学习笔记
    男人和女人 访问者模式
    其实你不懂老板的心 解释器模式
    项目多也别傻做 享元模式
    git常用命令
  • 原文地址:https://www.cnblogs.com/GraceSkyer/p/6759983.html
Copyright © 2020-2023  润新知