MATLAB中的数组

一、什么是数组

数组是组织成行和列的数据值的组合。
数组可以分为向量矩阵
向量通常用来描述只有一维的数组;而矩阵用来描述二维或者多维的数组。
数组在内存中存储是按列存储的。

二、创建和初始化一维或二维数组

1、在赋值语句中初始化

% array1为一维数组
array1=[1 2 3 4]
% array2为一个2*3的数组 ;分开不同的行 列之间空格隔开
array2=[1 2 3;4 5 6]

运行结果:
在这里插入图片描述

2、使用快捷表达式初始化

冒号运算符 first:incr:last
其中first是第一个值,incr是步进增量(默认值为1,若增量为1,可以忽略不写),last代表最后一个值要小于last
冒号运算符经常与转置运算符(’)结合使用,用来初始化列向量和更复杂的矩阵。

x=1:2:10
f=[1:4]
g=[1:2:9]'
h=[f' f']
e=[1:5;2:3:15;-2:0.5:0]

运行结果:
在这里插入图片描述

3、使用内置函数初始化

函数zeros用于创建任何大小的全零数组;
函数ones用于生成全1数组;
函数eye用于生成单位矩阵(所有对角线元素为1,非对角线元素为0);
函数size返回数组中的行数和列数。

a=zeros(2)
b=zeros(2,3)
c=[1 2;3 4];
d=zeros(size(c))

运行结果:
在这里插入图片描述

用于初始化变量的常用MATLAB函数

函数作用
zeros(n)生成n*n大小的全0矩阵
zeros(m,n)生成m*n大小的全0矩阵
zeros(size(arr))生成与arr大小相同的全0矩阵
ones(n)生成n*n大小的全1矩阵
ones(m,n)生成m*n大小的全1矩阵
ones(size(arr))生成与arr大小相同的全1矩阵
eye(n)生成n*n大小的单位矩阵
eye(m,n)生成m*n大小的单位矩阵
diag(V)生成对角矩阵,V为一个行向量,向量中元素的个数等于行数
length(arr)返回向量的长度,或二维数组的最长维数
size(arr)返回arr的行数和列数

三、二维数组元素的访问

A=[1 21 6;5 17 9;31 2 7]
% 数组在内存中存储是按列存储
a=A(8)
% A(1) A(3) A(5)成了一个一维数组
b=A([1 3 5])
% A(1)A(2)为第一行;A(1)A(3)为第二行
c=A([1 2;1 3])
% 数组A中第三行第二列的元素
d=A(3,2)
% [1 2]为行;[1 3]为列;把第一行第二行圈起来,把第一列第三列圈起来,交集即为结果
e=A([1 2],[1 3])

运行结果:
在这里插入图片描述

A=[1 21 6;5 17 9;31 2 7]
% a为A的第三行所有元素
a=A(3,:)
% 删除A的第三行
A(3,:)=[];
A

运行结果:
在这里插入图片描述

四、常用的数组和矩阵运算

常用的数组和矩阵运算
运算MATLAB形式说明
数组加a+b数组加和矩阵加是相同的。a、b两者结构相同,对应元素相加
数组减a-b数组加和矩阵减是相同的。a、b两者结构相同,对应元素相减
数组乘a.*ba和b逐元素相乘。两者结构相同,或其中之一为标量
矩阵乘a*ba和b的矩阵乘法。a的列数等于b的行数
数组右除a./ba和b逐元素相除:a(i,j)/b(i,j)。两者结构相同,或其中之一为标量
数组左除a.\ba和b逐元素相除:b(i,j)/a(i,j)。两者结构相同,或其中之一为标量
矩阵右除a/b矩阵右除定义为a*inv(b),其中inv(b)为矩阵b的逆运算
矩阵左除a\b矩阵左除定义为inv(a)*b,其中inv(a)为矩阵a的逆运算
数组幂a.^ba和b逐元素求幂。两者结构相同,或其中之一为标量
转置矩阵a’a的行列互换
增广矩阵[a b]a(m * n1) 和 b(m * n2)的行数相同,生成新矩阵c(m*(n1+n2))
  • 9
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值