MATLAB使用速成 第二章(MATLAB中的函数)

一、内置函数的使用

1、函数作用在标量上

函数f作用在标量x上,这与数学中的f(x)效果是一样的,而f(x)也是一个标量。

2、函数作用在矩阵上

函数f作用在矩阵A上,那么f将作用在矩阵A的每一个元素上,f(A)是一个与A同形状的矩阵。

二、常用的函数

大部分函数的输入既可以是标量、矢量,也可以是矩阵;如果函数定义的参数本身就是矢量,而函数的输入是矩阵(此时矩阵可看作是元素类型为列矢量的行矢量),则函数将作用在矩阵的各列上。

1、数学函数

|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 三角函数 | sin(x)、cos(x)、tan(x)、cot(x)、sec(x)、csc(x)、sinh(x)、cosh(x)、tanh(x)... |
| 反三角函数 | asin(x)、acos(x)、atan(x)、acot(x)、asec(x)、acsc(x)... |
| 指数运算类 | exp(x) ------ 自然指数(以e为底) pow2(x) ------ 以2为底的指数 |
| 对数运算类 | log(x) ------ x的自然对数(以e为底) log2(x) ------ 以2为底,x的对数 log10(x) ------ 以10为底,x的对数 |
| 幂运算类 | sqrt(x) ------ x的算术平方根 |
| 绝对值运算 | abs(x) ------ x的绝对值 |
| 复数类 | conj(z) ------ 复数z的共轭 real(z) ------ 复数z的实部 imag(z) ------ 复数z的虚部 angle(z) ------ 复数z的辐角 |
| 符号函数 | sign(x) ------ x为负则返回-1,x为正则返回1,x为0则返回0 |
| 取整函数 | round(x) ------ 对x四舍五入 fix(x) ------ 对x取整,舍弃小数点后的数值 floor(x) ------ 对x负向取整 ceil(x) ------ 对x正向取整 |
| 模运算 | mod(x,y) ------ 计算x除以y的余数(结果与y同号) rem(x,y) ------ 计算x除以y的余数(结果与x同号) |
| 生成数列 | linspace(a,b,n) ------ 生成元素值为a到b,步长为n的等差数列 logspace(a,b,n) ------ 生成元素值为,步长为n的等比数列 |
| 离散数学中的函数 | factor(x) ------ 对x进行因式分解 gcd(x,y) ------ 找出x与y的最大公因数 lcm(x,y) ------ 找出x与y的最小公倍数 rats(x) ------ 用分数表示x factorial(x) ------ 计算x的阶乘 primes(x) ------ 找出小于x的素数 isprime(x) ------ x为素数返回1,否则返回0 |

2、矩阵相关的函数

(1)常见矩阵生成函数:

|------------|----------------------------------------------------------------|
| zeros(m,n) | 生成一个m 行n列的零矩阵,m=n时可简写为 zeros(n) |
| ones(m,n) | 生成一个m行n列的元素全为 1 的矩阵, m=n时可写为 ones(n) |
| eye(m,n) | 生成一个主对角线全为 1 的 m 行 n 列矩阵,m=n时可简写为 eye(n),即为 n 维单位矩阵 |
| diag(X) | 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量;若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 |
| tril(A) | 提取一个矩阵的下三角部分 |
| triu(A) | 提取一个矩阵的上三角部分 |
| rand(m,n) | 产生 0~1 间均匀分布的随机矩阵 ,m=n 时简写为 rand(n) |
| randn(m,n) | 产生均值为0,方差为1的标准正态分布随机矩阵,m=n 时简写为 randn(n) |
| magic(m) | 创建m×m的魔方矩阵(行、列及对角元素之和均相等) |

(2)查看矩阵大小的函数:

|-------------------|-----------------|
| [a,b] = size(A) | 返回矩阵A的行数和列数 |
| size(A,1) | 返回矩阵A的行数 |
| size(A,2) | 返回矩阵A的列数 |
| length(x) | 返回向量x的长度 |
| length(A) | 等价于max(size(A)) |

(3)矩阵线性代数运算相关的函数:

|---------|-----------------|
| det(A) | 把n阶矩阵A视作行列式进行计算 |
| inv(A) | 求矩阵A的逆矩阵 |
| eig(A) | 求矩阵A的特征值 |
| rank(A) | 求矩阵A的秩 |

(4)数据分析函数:

①最大值与最小值:

|------------------|-------------------------------------------------------------------|
| max(x) | 求矢量x中元素的最大值;当x为矩阵时,返回值是含有各列最大值的行矢量 |
| [a,b] = max(x) | 求矢量x中元素的最大值和其所在位置,分别返回到a和b上;若x是矩阵,则返回两个行矢量,a表示x各列的最大值,b对应最大值元素的位置 |
| max(x,y) | 矩阵x和y具有相同的行和列,用两个矩阵中相同位置元素的最大值创建一个新的矩阵 |
| min(x) | 求矢量x中元素的最小值;当x为矩阵时,返回值是含有各列最小值的行矢量 |
| [a,b] = min(x) | 求矢量x中元素的最小值和其所在位置,分别返回到a和b上;若x是矩阵,则返回两个行矢量,a表示x各列的最小值,b对应最小值元素的位置 |
| min(x,y) | 矩阵x和y具有相同的行和列,用两个矩阵中相同位置元素的最小值创建一个新的矩阵 |

②平均值、中间值和众数:

|-----------|------------------------------------|
| mean(x) | 求矢量x中元素的平均值;当x为矩阵时,返回值是含有各列平均值的行矢量 |
| median(x) | 求矢量x元素的中间值;当x为矩阵时,返回值是含有各列中间值的行矢量 |
| mode(x) | 求数组x(矢量/矩阵)中出现次数最多的数,即众数 |

③求和与乘积:

|----------|-------------------------------------|
| sum(x) | 求矢量x中各元素的和;当x为矩阵时,返回值是包含各列元素之和的行矢量 |
| prood(x) | 求矢量x中各元素的乘积;当x为矩阵时,返回值是包含各列元素乘积的行矢量 |

④排序:

|-------------------|-----------------------------------------------------|
| sort(x) | 对矢量x按升序排序;若x是矩阵,则按列进行升序排序 |
| sort(x,'descend') | 对矢量x按降序排序;若x是矩阵,则按列进行降序排序 |
| sortrows(x) | 以矩阵x第一列数据为准,升序排序矩阵x的各行 |
| sortrows(x,n) | 以矩阵x第n列数据为准,升序排序矩阵x的各行(若n为负数,则以第-n列数据为准按降序排列矩阵x的各行) |

⑤统计:

|--------|------------------------------|
| std(x) | 计算矢量x的标准差;若x是矩阵,则计算x各列数据的标准差 |
| var(x) | 计算矢量x的方差;若x是矩阵,则计算x各列数据的方差 |

相关推荐
xrgs_shz3 小时前
MATLAB读入不同类型图像并显示图像和相关信息
图像处理·计算机视觉·matlab
火山口车神丶6 小时前
某车企ASW面试笔试题
c++·matlab
今天吃饺子7 小时前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab
Evand J19 小时前
集合卡尔曼滤波(Ensemble Kalman Filter),用于二维滤波(模拟平面上的目标跟踪),MATLAB代码
matlab·平面·目标跟踪
我是博博啦1 天前
matlab例题
人工智能·算法·matlab
2402_871321951 天前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
Matlab程序猿小助手2 天前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
Matlab精灵2 天前
使用MATLAB进行字符串处理
开发语言·matlab
机器学习之心2 天前
POD-Transformer多变量回归预测(Matlab)
matlab·回归·transformer·pod-transformer
WangYan20223 天前
高光谱遥感是什么?高光谱遥感数据如何处理?(基于Matlab和Python多案例解析)从小白到精通
matlab·高光谱遥感数据处理·混合像元分解