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))

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空