关于矩阵 ~o( =∩ω∩= )m
matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有。
事实上,matlab里面所有变量都是以矩阵的形式保存下来的。
一个数字是1x1矩阵
我们来看看矩阵的输入方式吧!
这是直接输入的方式
行之间要用;或者回车隔开
每行数据的个数要相等
①冒号生成法
变量=初值:增量:终值
相当于for(i=1;1<=12;i+=2)
②还有一种 ,不知道增量,只知道初值,终值和项数 的方法
这是生成一个初值为1,终值为5,10项的一维向量。
下面看看矩阵元素的访问
先输入一个矩阵
访问例如:第二行第三列:
然后:【访问第二行所有元素】
类似的:【访问第三列所有元素】
用两个向量来表示要显示的行和列的元素
A(n):访问矩阵里的第n个元素
按 列 的顺序(*≧▽≦*)记住了哦!列向量哦!!!
A(B)
B是一个矩阵
生成一个和B一样大小的矩阵
矩阵的元素就是B中每个数字对应的A中的元素,举例:
对照着上面的A矩阵看,这个写法相当于:
接下来:
还记得冒号是什么吧(。^▽^)~
当中间的数字为1时可以省略不写
【第3个元素到第七个元素】
【这样是到最后一个元素】
还可以倒序输出哦?(^∇^*)
然后是矩阵元素的赋值和修改
和上面基本差不多,就是要记得等号左右两边矩阵的大小要一样!
变为同一个数字就是这样:
删除:; 增加:
【这里删除和增加只能一行一行地操作】
matlab内置了一些生成特殊矩阵的函数
常见的有:[]空矩阵、eye 单位阵、blkdiag对角矩阵、ones 全部元素为1的矩阵、zeros全部元素为0的矩阵
例子:
然后是向量和矩阵的运算
输入:
一些常见的指令:max 、min求最大最小元素;mean求平均值;median求中位数;sum求和【注意sum对矩阵操作的时候是按列求和】;prod求积;length求数组长度;size求矩阵的阶数。
【按列求和喔0.0+】
想求矩阵全部元素的和:
其他一些操作对矩阵同理~
矩阵运算:矩阵的四则运算和线性代数里面学的一样(注意矩阵的大小)
(告诉我,你学了线代的对吧(??∀?)??)
关于除法,注意matlab里有两种除法,左除\和右除/【相当于左乘或者右乘那个矩阵的逆矩阵】
线性代数里面学过: 除以一个矩阵 等于 乘以它的逆矩阵,
所以只有方阵才能做除法哦【可逆的方阵】
举例:【注意:rank是求矩阵的 秩】
【一眼看不出来答案了,,惊恐的眼神┌(。Д。)┐。。】
那我们来验证一下~使用命令inv来求矩阵的逆再做个乘法看看~
矩阵和数字的运算:
【这就是相当于每个元素单独和这个数字运算】
然后是点运算,这个比较特殊,要注意和普通运算区别 !
好了,关于矩阵,你掌握的怎么样啦?(^∀^●)?其实还有一点没讲完,下篇博客补充!