matlab 数值数组及其运算

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab 数值数组及其运算

数值数组(Numeric Array)和数组运算(Array Operation)是Matlab的核心运算内容

一、导言

二、一维数组 (向量)

三、二维数组(矩阵)

四、高维数组

五、MATLAB 的运算符

一、导言

1、数组的定义

数组是指一组实数或复数排成的长方阵列(Array)

一维的行或列 ? 向量

二位数组 ? 矩阵

三维的“若干矩阵的堆叠” ? 体

四维

更高维

2、数组运算

无论在数组上施加什么运算(+, -, * ,/,或函数等),该运算对数组中的每个元素都实施同样的操作。

Matlab的数组运算

使计算程序简短、易读

提高程序的向量化程度、提高计算效率

示例

x=0:0.1:1 %定义自变量的采样点取值数组

y=x.*exp(-x) %利用数组运算计算各自变量采样点上的函数值

plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') %绘图

4 矩阵的索引或下标

矩阵 A 中,位于第 i 横列、第 j 直行的元素可表示为 A(i, j) ,i 与 j 即是此元素的下标(Subscript)或索引(Index)

MATLAB 中,所有矩阵的内部表示法都是以直行为主的一维向量

A(i, j) 和 A(i+(j-1)*m) 是完全一样的~m为矩阵A的列数

我们可以使用一维或二维下标来存取矩阵

矩阵的索引或下标

可以使用矩阵下标来进行矩阵的索引(Indexing)

A(4:5,2:3) -取出矩阵 A 的第四、五横列与二、三直行所形成的部份矩阵A([9 14; 10 15]) - 用一维下标的方式来达到同样目的

用冒号(:), 取出一整列或一整行

A(:, 5) -取出矩阵 A 的第五个直行

用 end 这个保留字来代表某一维度的最大值

A(:, end) - 矩阵 A 的最后一个直行

可以直接删除矩阵的某一整个横列或直行

A(2, :) = [] –删除A矩阵的第二列

A(:, [2 4 5]) = [] - 删除 A 矩阵的第二、四、五直行

二、一维数组

1 一维数组的创建

(1)逐个元素输入 []

Column

>> X = [ 1 ; 2 ; 3 ];

Row

>> Y = [ 1 , 2 , 3 ];

>> Y = [ 1 2 3 ];

逗号和分号的作用

?逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。

?分号如果出现在指令后,屏幕上将不显示结果。

(2)冒号生成法:

start:Step:stop

%其中start为初始值,step为步长,stop为终止值。

Start: stop %implies step=1

>> Z = 1:-0.25:0

Z = [ 1 , 0.75 , 0.5 , 0.25 , 0 ]

(3)定数线性采样法

linspace( Initial , Final , # Points )

x= linspace(a,b,n)

% a,b是数组首末元素,n是采样总点数

% 等同于 x= a: (b-a)/(n-1):b

>> Z = linspace( 5 , 20 , 4 )

Z =

[ 5 , 10 , 15 , 20 ];

>> x=linspace(2,8,3)

x =

2 5 8

(4)定数对数采样法

logspace( Initial , Final , # Points )

x= logspace(a,b,n) %首点是10^a,末点是10^b

x=logspace(0,3,4)

x =

1 10 100 1000

2 一维数组的寻访

x=rand(1,5) %产生的均布随机数组

x =0.9501 0.2311 0.6068 0.4860 0.8913 x(3) %寻访数组x的第三个元素。

x([1 2 5]) %寻访数组x的第1、2、5个元素组成的子数组

x(1:3) %寻访前三个元素组成的子数组

x(3:end) %寻访除前2个元素外的全部其他元素

x(3:-1:1) %由前三个元素倒排构成的子数组

x(find(x>0.5)) %由大于0.5的元素构成的子数组

x([1 2 3 4 4 3 2 1]) %对元素可以重复寻访

X(0) 或 x(6) ?Error

子数组的赋值(Assign)

x(3) = 0 %把上例中的第三个元素重新赋值为0

x =

0.9501 0.2311 0 0.4860 0.8913

x([1 4])=[1 1] %把当前x数组的第一、四个元素都赋值为1。

x =

1.0000 0.2311 0 1.0000 0.8913

3 一维数组的操作

>> X = [ 1 ; 2 ; 3 ];

(+)

>> Z = X + 2

Z = [ 3 ; 4 ; 5 ]

(-)

(*)

>> Z = 2 * X

Z = [ 2 ; 4 ; 6 ]

(/)

>> Z = X / 2

Z = [ 0.5 ; 1 ; 1.5 ]

内积

>> X = [ 1 , 2 , 3 ]; >> Y = [ 1 ; 2 ; 3 ]; >> Z = X * Y Z = 14

平均值

>> X = rand(10);

>> Y = mean( X )

中值

>> Y = mean( X )

相关文档
最新文档