0.5 数学运算

(34)如何计算积分?

符号积分可以使用int函数来实现,比如计算sin(x)的积分,见下例:

运行结果:

数值积分可以使用integral函数实现,比如计算sin(x)从0到π的积分,见下例:

运行结果:

(35)MATLAB如何进行复数计算?

参看complex函数,见下例:

运行结果:

(36)如何生成对角矩阵?

使用diag函数可以构造对角矩阵或者取得一个矩阵的对角元素,见下例:

运行结果为:

(37)求矩阵的特征值和特征向量的函数是什么?

参考eig函数。

(38)如何构造上(下)三角矩阵?

参考tril和triu函数,见下例:

运行结果为:

(39)MATLAB常用的运算符号有哪些?

除了常见的加(+)、减(-)、乘(*)、除(分为左除“\”和右除“/”),幂次方(^)运算,MATLAB还有点乘(.*)、点除(分为点左除“.\”和点右除“./”)、点幂次方(.^)运算。

这里要特别说明的是当AB为矩阵时,n为标量数值时,A+BA-BA*BA\BA/BA^n表示的是相关的矩阵运算(AB的维数需要满足相关矩阵运算的要求),其中A\BA/BA^n的定义分别为:

(1)当A是一个方阵时,则A\B=inv(A)*B,其中inv为MATLAB的函数,表示求矩阵的逆;

(2)当A是一个m*n的矩阵(m≠n),B是一个m*1的列向量,则X=A\B是线性系统AX=B的最小二乘解;

(3)当B是一个方阵时,则A/B=A*inv(B),其中inv为MATLAB的函数,表示求矩阵的逆;

(4)当A是一个m*n的矩阵(m≠n),B是一个m*1的列向量,则X=A/B是线性系统XB=A的最小二乘解;

(5)A\BA/B的转换关系为A/B=(B'\A')';

(6)A^n表示n个矩阵A相乘。

AB为矩阵时,点乘(.*)、点除(分为点左除“.\”和点右除“./”)和点幂次方(.^)运算表示的是相关矩阵的元素之间的运算。

看下例,加深一下对MATLAB常用的运算符号的理解。

运行结果:

(40)如何求矩阵各行(列)的均值?

使用mean函数可以进行均值的计算,见下例:

运行结果:

(41)如何计算组合数或得到所有组合?

nchoosek函数可以用来计算组合数,并给出所有元素的组合,factorial函数可以用来计算阶乘,见下例:

运行结果:

(42)如何在MATLAB里面求(偏)导数?

使用diff函数,见下例:

运行结果:

(43)如何求一元方程的根?

使用solve函数可以求解方程的根,见下例:

运行结果:

(44)如何模拟高斯(正态)分布数据?

使用random('Normal',Mean_Value,STD_Value,N,M)可以产生N*M个来自于均值为Mean_Value、标准差为STD_Value的高斯(正态)分布数据。

其中'Normal'是个参数选项,改变这个参数可以生成其他的分布数据(相应地后面的分布参数也需要修改),主要的分布如表0-1所示。

表0-1 主要分布及其参数名字

(续表)