MATLAB基础:数组

今天我们继续学习MATLAB中的数组

我们在学习MATLAB时了解到,MATLAB作者秉持着“万物皆可矩阵”的思想企图将数学甚至世间万物使用矩阵表示出来,而矩阵的处理,自然成了这门语言的重中之重。

数组基础

在MATLAB中,数组是一个基本的数据类型,用于存储数值型数据。数组可以是数字的集合,可以是一维的(行向量或列向量),也可以是多维的(如矩阵或更高维的张量)。

向量

  1. 维度:向量是特殊的数组,它只有一维。它可以是一个行向量或列向量。
  2. 大小:向量的维度是 𝑛×1n×1(列向量)或 1×𝑛1×n(行向量),其中 𝑛n 是向量中的元素数量。
  3. 用途:向量通常用于表示数学上的点、方向、或物理量,它们可以进行标量乘法、向量加法和点积等操作。

例如:

v_row = [1, 2, 3];  % 行向量
v_col = [1; 2; 3];  % 列向量

创建数组

  • 使用方括号 [] 来创建数组。
  • 在创建数组时“,”和“【空格】”来分隔相邻的元素,用“;”来分隔相邻的每个列。
  • 使用冒号 : 来创建等差数列。例如:D = 1:5 会创建一个行向量 [1 2 3 4 5]D = 1:2:10会创建起始值为1步长为2,但不超过10的行向量[1 3 5 7 9]
  • 使用 linspace 函数来创建包含指定数量元素的等差数列。例如:E = linspace(0,10, 5)会创建一个从0开始到10结束,包含5个等间隔点的数列[0.0,2.5,5.0,7.5,10.0]。

特殊矩阵的创建(两行三列)

  • 零矩阵
  • Z = zeros(2, 3);
  • 所有元素都是1的矩阵 
  • oneMatrix = ones(2, 3);
  • eye:创建单位矩阵(对角线元素为1,其余为0)
  • I = eye(2, 3);
    
  • rand:创建一个元素在[0,1]区间内均匀分布的随机矩阵
  • R = rand(2, 3);
    
  • randn:创建一个元素为标准正态分布(均值为0,方差为1)的随机矩阵
  • RN = randn(2, 3);
    
  • diag:创建对角矩阵或提取矩阵的对角线元素
  • D = diag([1 2 3]); % 创建对角矩阵
    
  • magic:创建一个魔方矩阵(每行、每列和对角线上的元素和相等)
  • M = magic(3); % 注意:这里需要方阵的尺寸
    

每个函数都有其特定的用途,可以根据需要选择使用。

数组操作

  • 查询:A(m,n)
  • 更改:A(m,n)=2
  • 删除:A(m,n)=[](将对应位元素改为空)
  • 提取:A([1,3,2]),依次提取1,3,2位的元素
  • 索引:使用括号 () 来索引数组中的元素。例如:C(2,3) 会返回矩阵 C 中第二行第三列的元素。
  • 切片:可以提取数组的一部分。例如:C(1:2, 2:3) 会提取矩阵 C 的第一和第二行以及第二和第三列的子矩阵。
  • 连接:使用方括号 [] 或函数如 cathorzcat(水平连接)和 vertcat(垂直连接)来连接数组。
  • 转置:使用单引号 ' 来转置数组。例如:C'
  • 计算数组尺寸:size(A),返回2    3,意为两行三列。
  • 计算向量尺寸:length(A)(如果放入矩阵,则显示最长的行或列)

矩阵处理函数

sum:对每一列求和,求和后将每一列的和显示为行向量。

prod:对每一列求乘积。

min:求列的最小值

max:求列的最大值

数组的运算

基本运算

  • A+B与A-B:加与减
  • K*A或A*K:数乘矩阵
  • K+A与K-A:K加(减)A的每个元素
  • A.^K,K.^A:数组乘方
  • A.*B:数组成数组
  • K./A:数除以数组
  • 左除A.\B=右除B./A:数组除法

数学函数

矩阵的数字函数也是按元素额运算,使其通常的函数号,如sin(A),cos(A),acos(A),tan(A),cot(A),exp(A),sqrt(A)等。

fix 向0取整

ceil 向+∞取整

floor:向-∞取整

rem 除法余数

mod:模除求余

abs:绝对值(模)

real 复数实部

imag:复数虚部

angle 复数幅角

conj:复数共轭

log 自然对数ln

log10:以10为底的对数

result = log10(3);
//以十为底三的对数

关系与逻辑运算

  • <、<= 小于、小于等于
  • >、>= 大于、大于等于

  • ==、~= 等于、不等于
  • &(与)、|(或)、~(非)
  • any、all 、find

在MATLAB中,“真”用1表示,“假”用0,而逻辑运算中,所有非零元素作为1处理

今天我们学习到这里,明天继续学习MATLAB!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值