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

 

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

公式更直观一点

             

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

原文地址:https://www.cnblogs.com/GraceSkyer/p/6759983.html