matlab filplr,[matlab] 3.矩阵

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

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

bf3da13028be2401907aa979b86e629091c.jpg

59819fd836a2e3683c61c206bc7c5293d60.jpg

%%

>> x=[1:2.1:10]

x=

1.0000 3.1000 5.2000 7.3000 9.4000

1冒号生成法

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

4aa264d0ab93d1cdf578284521fdf95b9c8.jpg

2e0468b5c47942f1308ecf2e08a0877ed68.jpg

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

linspace法

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

d31d85b101a827095a31618e0be3a50d.png

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

cf324944c0e0c9429486c5861fd105b4e0d.jpg

166a59a7af4cb3312fd341b04bd574fcbf0.jpg

blkdiag(1,2,3,4)

对角矩阵

09eb35373eb7531f934863b0cd9732dd.png

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

0d5366f67072fe5fdc2c61ae5603a92e4d9.jpg

9738aed83c40801a6c0b3a21a84eb293ff6.jpg

c=blkdiag(1,2,3,4)

c(4,:)=5sum(c)

sum(sum(c))

sum求和

029138a12b5f52a43bf4c333a29aa953.png

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

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

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

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

dbdc80a99c012f46b651fdbbb5a2678d55b.jpg

efaf766a4546785b5ca28e980bb86895b80.jpg

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)

B\A

inv(B)*A

矩阵的除法

结果如图:

2c1bfd55e26b4a012b46bacfb4ed346f.png

关于matlab中的点运算

c705eacb5f64faf2780d9bc845373b98743.jpg

4b8932dca00f28b0735e36dc9a650c2ac0e.jpg

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

点运算

d80f28e401adfade4a03c94463cb3739.png

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

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

reshape 改变矩阵阶数

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

rot90 逆时针旋转矩阵90度

flipud 上下翻转

filplr 左右翻转

9e4518b09fe8bb54d9bb5b200616d6eada0.jpg

b06af01ee4cbda1cbee6a8cbd5aa7ecbda0.jpg

A=[1,0,1;0,0,2];

G=repmat(A,2,2)

repmat 整个复制

9c88ee31a105a0c35b958973e680a9f0.png

1366d81d92526334989864824c90fbbb.png

37ce6a99d3468ec588b4cd677230acef5d2.jpg

f4716963c2ab0fcddacf64f90b14194c2bc.jpg

A=[1,0,1;0,0,2]

H=reshape(A,3,2)

矩阵重新塑形(行列)

52b0df3f12ecef57deaa0796e6d2e68b.png

关系运算符

395bd27690933919c61272cd8f02da505bb.jpg

45dba2487677cd4d56541b7cb85091c8227.jpg

A=[1,2,3;4,5,2]

B=3*ones(2,3)

A>B%可以用来判别 符合条件的数据位

矩阵关系运算符

db5267c339a1d4041fc746049438355e.png

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

92a8c69df37ac34164c404bc8698e53c7e4.jpg

50c8935f7e4bdccd77ac438cf0819528feb.jpg

A=[1,2,3;4,5,2]

B=3*ones(2,3)

find(A==B)

find函数的应用

88d573f0fe3075a7fef08a58e7da8214.png

a6957245d6309aef4aa29815239fcceb345.jpg

ffa6f6156d1be7c777dca3b4e6c76d4938e.jpg

A=[1,2,3;4,5,2]

B=3*ones(2,3)

find(A>3) %返回满足条件的列序号

A(find(A>3)) %根据列序号取出具体位置的数值

利用find返回的列序号取具体值

a4324644e17c6066184e7a7dee69b774.png

再补充一些系统的命令

clc清屏

who 显示已有变量

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

home 将光标移到左上角

clf 清除图像

3461f5a6414dab29142f9be03b63d70a1a7.jpg

a65c5e8095e1eea118367da48001cfa0e9e.jpg

A=magic(5);

C=[eye(5);eye(5)] ;

B=C*A %线性代数 左乘单位矩阵 行方向复制A矩阵

左乘单位矩阵 复制矩阵

669bfb0c00402c0089a120cc9f3960bd336.jpg

dd6d77b7a046cc979b858cc51caca0d2cf9.jpg

A=magic(5);

A=[A;A]

矩阵拼接

e9ce2a6d241b7dec346b87c2e37edd1a.png

计算两点距离

3a0d95eeabb98fa4c989d98202478487738.jpg

153f510819e2d4ad65250d116b62b069765.jpg

A=magic(2);

A=A(:);

B=magic(2);

B=B(:);

D=pdist2(A,B)

pdist2 计算距离

3b2cd67ba29b03c9df4c639d63c20016.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值