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各列数据的方差 |

相关推荐
yyy(十一月限定版)2 小时前
matlab矩阵的操作
算法·matlab·矩阵
做科研的周师兄3 小时前
【MATLAB 实战】栅格数据 K-Means 聚类(分块处理版)—— 解决大数据内存溢出、运行卡顿问题
人工智能·算法·机器学习·matlab·kmeans·聚类
hoiii1875 小时前
基于LSB匹配的隐写术MATLAB实现程序
开发语言·matlab
民乐团扒谱机5 小时前
【微实验】基于MATLAB的一维条材下料优化问题求解
数学建模·matlab·线性规划·最优化模型·整数线性规划
步达硬件5 小时前
【Matlab】批量自定义图像处理
开发语言·matlab
崇山峻岭之间5 小时前
Matlab学习记录32
开发语言·学习·matlab
机器学习之心7 小时前
MATLAB灰狼优化算法(GWO)改进物理信息神经网络(PINN)光伏功率预测
神经网络·算法·matlab·物理信息神经网络
ghie909017 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
wuk99817 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab
2401_8633186319 小时前
机动车防撞击系统设计
matlab