一、最大值和最小值
MATLAB 提供的求数据序列的最大值和最小 值的函数分别为 max 和 min ,两个函数的调 用格式和操作过程类似。1 .求向量的最大值和最小值求一个向量 X 的最大值的函数有两种调用格式,分别是:(1) y=max(X) :返回向量 X 的最大值存入 y , 如果 X 中包含复数元素,则按模取最大值。(2) [y,I]=max(X) :返回向量 X 的最大值存入 y ,最大 值的 序号 存入 I ,如果 X 中包含复数元素,则按模 取最大值。求向量 X 的最小值的函数是 min(X) ,用法和 max(X) 完全相同。2.求矩阵的最大值和最小值求矩阵 A 的最大值的函数有 3 种调用格式,分别是:(1) max(A) :返回一个行向量,向量的第 i 个元素是矩阵A 的第 i 列上的最大值。(2) [Y,U]=max(A) :返回行向量 Y 和 U , Y 向量记录A 的每列的最大值, U 向量记录每列最大值的行号。(3) max(A,[],dim) : dim 取 1 或 2 。 dim 取 1 时,该函数和max(A) 完全相同; dim 取 2 时,该函数返回一个列向量,其第i 个元素是 A 矩阵的第i 行上的最大值。求最小值的函数是 min ,其用法和 max 完全相同。3 .两个向量或矩阵对应元素的比较函数 max 和 min 还能对两个同型的向量或矩阵进行比较,调用格式为:(1) U=max(A,B) : A,B 是两个同型的向量或矩阵,结果 U 是与A,B同型的向量或矩阵, U 的每个元素等于 A,B 对应元素的较大者。(2) U=max(A,n) : n 是一个标量,结果 U 是与 A 同型的向量或矩阵,U 的每个元素等于 A 对应元素和 n 中的较大者。min函数的用法和 max 完全相同。
例
6-1
求向量
x
的最大值。
命令如下:
x=[-43,72,9,16,23,47];
y=max(x) %求向量x中的最大值
[y,l]=max(x) %求向量x中的最大值及其该元素 的位置
运行结果 :
二、求和与求积
数据序列求和与求积的函数是 sum 和 prod , 其使用方法类似。设 X 是一个向量, A 是一 个矩阵,函数的调用格式为:sum(X) :返回向量 X 各元素的和。prod (X) :返回向量 X 各元素的 乘积 。sum(A) :返回一个行向量,其第 i 个元素是 A 的第 i 列的元素和。prod(A) :返回一个行向量,其第 i 个元素是 A 的第 i 列的元素乘积。sum(A,dim) :当 dim 为 1 时,该函数等同于 sum(A) ;当 dim 为 2 时,返回一个列向量, 其第 i 个元素是 A 的第 i 行的各元素之和。prod(A,dim) :当 dim 为 1 时,该函数等同于 prod(A) ;当 dim 为 2 时,返回一个列向量, 其第 i 个元素是 A 的第 i 行的各元素乘积。
三、平均值和中值
求数据序列平均值的函数是 mean , 求数据序列中值的函数是 median 。两个函数的调用格式为:mean (X) :返回向量 X 的 算术平均值 。median(X) :返回向量 X 的中值。mean(A) :返回一个行向量,其第 i 个元素是 A 的第 i 列的算术 平均值。median(A) :返回一个行向量,其第 i 个元素是 A 的第 i 列的中 值。mean(A,dim) :当 dim 为 1 时,该函数等同于 mean(A) ;当 dim 为 2 时,返回一个列向量,其第 i 个元素是 A 的第 i 行的算术 平均值。median(A,dim) :当 dim 为 1 时,该函数等同于 median(A) ;当 dim 为 2 时,返回一个列向量,其第 i 个元素是 A 的第 i 行的 中值。
四、累加和与累乘积
在 MATLAB 中,使用 cumsum 和 cumprod 函数能方便地求得 向量和矩阵元素的累加和与累乘积向量,函数的调用格式 为:cumsum(X) :返回向量 X 累加和向量。cumprod(X) :返回向量 X 累乘积向量。cumsum(A) :返回一个矩阵,其第 i 列是 A 的第 i 列的累加和向 量。cumprod(A) :返回一个矩阵,其第 i 列是 A 的第 i 列的累乘积 向量。cumsum(A,dim) :当 dim 为 1 时,该函数等同于 cumsum(A) ;当 dim 为 2 时,返回一个矩阵,其第 i 行是 A 的第 i 行的累加 和向量。cumprod(A,dim) :当 dim 为 1 时,该函数等同于 cumprod(A) ;当 dim 为 2 时,返回一个向量,其第 i 行是 A 的第 i 行的累乘积向量。
五、标准方差与相关系数
1 .求标准方差在 MATLAB 中,提供了计算数据序列的标准方差的函数 std 。 对于向量 X , std (X) 返回一个 标准方差 。对于矩阵 A , std(A) 返回一个行向量,它的各个元素便是矩阵 A 各列或 各行的标准方差。 std 函数的一般调用格式为:Y=std(A,flag,dim), 其中 dim 取 1 或 2 。当 dim= 1 时,求各 列 元素的标准方差;当 dim= 2 时,则求各 行 元素的标准方差。flag 取 0 或 1 ,当 flag=0 时,按σ 1 所列公式计算标准方差,当 flag=1 时,按 σ 2 所列公式计算标准方差。缺省 flag=0 , dim=1 。2 .相关系数MATLAB 提供了 corrcoef 函数,可以求出 数据的相关系数矩阵 。 corrcoef 函数的调用格 式为:corrcoef(X) :返回从矩阵 X 形成的一个相关系 数矩阵。此相关系数矩阵的大小与矩阵 X 一 样。它把矩阵 X 的每列作为一个变量,然后 求它们的相关系数。corrcoef(X,Y) :在这里, X,Y 是向量,它们与 corrcoef([X,Y]) 的作用一样。
例
6-8
生成满足正态分布的
10000
×
5
随机矩
阵,然后求各列元素的均值和标准方差,
再求这
5
列随机数据的相关系数矩阵。
命令如下:
X=randn(10000,5);
M=mean(X)
D=std(X)
R=corrcoef(X)
运行结果 :
六、排序
MATLAB 中对向量 X 是排序函数是 sort(X) ,函数返 回一个对 X 中的元素按升序排列的新向量。sort 函数也可以对矩阵 A 的各列或各行重新排序,其 调用格式为:[Y,I]=sort(A,dim)其中 dim 指明对 A 的列还是行进行排序。若 dim=1 , 则按列排;若 dim=2 ,则按行排。Y 是排序后的矩 阵,而 I 记录 Y 中的元素在 A 中位置。
结语
乐观者在一个灾难中看到一个希望
悲观者在一个希望中看到一个灾难
!!!