MATLAB数组与矩阵

😃 这次只是MATLAB中一点数组和矩阵的知识,特别基础的简单提了一下,感觉数学建模就足够用了,没有再去深入的学习,多多指教。

一维数组

1.数组的建立
简单数组的建立:

x=[a b c d e]创建包含指定元素的行向量
x=[a,b,c,d,e]创建包含指定元素的行向量
x=[a;b;c]创建包含指定元素的列向量
x=first:last创建从first开始,加1计数,到last结束的行向量
x=first:increment:last创建从first开始,加increment计数,到last结束的行向量
linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量。结果等同于x=first:(last-first)/(n-1):last
x=logspace(first,last,n)首点10^first, 末点10^last,有n个元素的行向量
>>x1=[1 2 3 4 5 8 7 18]
	x2=[1;2;3]
	y=1:7
	z=3:2:9
	v=[y z]
	u=linspace(2,9,11)
	w=logspace(0,3,4)
结果:
	x1=1 2 3 4 5 8 7 18
	x2=1
	   2
	   3
	y=1 2 3 4 5 6 7 
	z=3 5 7 9
	v=1 2 3 4 5 6 7 3 5 7 9
	u=2.0000 2.7000 3.4000 4.1000 4.8000 5.5000 6.2000 6.9000 7.6000 8.3000 9.0000
	w=1 10 100 1000

2.数组元素的访问
(1)访问一个元素:通过下标,如x(i)表示数组x的第i个元素。
(2)访问一块元素:访问矩阵的某些元素或子块。
x(a : b : c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素,b缺省时为1

x=[1 2 3 4 5 6 7 8 9 10]
y=x(2:2:11)
z=x(10:-3:1)
y=2 4 6 8 10
z=10 7 4 1

(3)直接使用元素编址序号。

m=x([8 2 9 1])
m=8 2 9 1

3.数组的方向
产生列向量的方法:直接产生和转置产生

>>c=[1 2 3 4];
>>b=c'
>>b
b=1
  2
  3
  4

当数组是复数时,转置(b’)产生的是复数共轭转置,而点-转置(b.’)产生的只对数组转置,不进行共轭。对实数b’和b.'等效。

4.数组的运算
(1)标量-数组运算
数组每个元素对标量相应运算

设:a=[a1,a2,a3,···,an],c是标量
a+c=[a1+c,a2+c,a3+c,···,an+c]
a*c=[a1*c,a2*c,a3*c,···,an*c]
a./c=[a1/c,a2/c,a3/c,···,an/c]
a.\c=[c/a1,c/a2,c/a3,···,c/an]
a.^c=[a1^c,a2^c,a3^c,···,an^c]
c.^a=[c^a1,c^a2,c^a3,···,c^an]

(2)数组-数组运算
按元素对元素的范式进行,不同大小或维数的数组不能运算

设:a=[a1,a2,a3,···,an],b=[b1,b2,b3,···,bn]
a+b=[a1+b1,a2+b2,a3+b3,···,an+bn]
a.*b=[a1*b1,a2*b2,a3*b3,···,an*bn]
a./b=[a1/b1,a2/b2,a3/b3,···,an/bn]
a.\b=[b1/a1,b2/a2,b3/a3,···,bn/an]
a.^b=[a1^b1,a2^b2,a3^b3,···,an^bn]

矩阵(二维数组)

1.矩阵的建立
空格或逗号分隔某一行元素,分号区分不同行。除分号Return或Enter键也可。
注:严格要求行列相同。

特殊矩阵说明
a=[ ]空矩阵
a=zeros(m,n)全0矩阵
a=ones(m,n)全1矩阵
a=eye(m,n)单位矩阵
a=[1 2 3;4 5 6;7 8 9]
b=[ ]
c=zeros(2,3)
d=ones(2,3)
e=eye(2,3)
f=eye(3,3)
结果:
a=1 2 3
  4 5 6
  7 8 9
  
b=[ ]

c=0 0 0
  0 0 0
  
d=1 1 1
  1 1 1
  
e=1 0 0
  0 1 0
  
f=1 0 0
  0 1 0
  0 0 1

2.矩阵中元素的操作
(1)矩阵A的的第r行:A(r,:)
(2)矩阵A的的第r列:A(:,r)
(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A( : )
(4)取短阵A的第i1 ~ i2 行、第j1 ~ j2方列构成新矩阵:A(i1 : i2 , j1 : j2
(5)以逆序提取矩阵A的第i1~ i2行,构成新矩阵;A(i2 : -1 : i1 , : )
(6)以逆序提取矩阵A的第j1~ j2列,构成新矩阵:A( : , j2 : -1 : j1
(7)删除A的第i1~ i2行,构成新矩阵:A(i1 : i2 , :)=[ ]
(8)删除A的第j1~ j2列,构成新矩阵:A( : , j1 : j2)=[ ]
(9)将短阵A和B拼接成新矩阵:[A B];[A;B]
3.矩阵的运算
(1)标量-矩阵运算:与标量-数组运算类似。
(2)矩阵-矩阵运算:矩阵的元素对元素运算,与数组的类似。
线代中定义的运算:
矩阵加法:A+B
矩阵乘法:A*B
方阵的行列式:det(A)
方阵的逆:inv(A)
方阵的特征值与特征向量:[V,D]=eig(A)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值