(23)如何删除缺失值?
在MATLAB中使用NaN(Not-a-Number)表示缺失值,例如:
判断矩阵(向量)某一元素是否为NaN时不能使用如下方式:
需要使用isnan函数。使用如下方式可以删除缺失值:
运行结果为:
可以看到缺失值已经被删除了。
(24)如何将字符串转变为命令执行?
使用eval函数可以将字符串转变为命令执行,参考下例:
运行结果为:
有时候巧妙地使用eval函数会使某些程序实现起来更加方便灵活。
(25)如何向一个向量追加元素?
这在MATLAB中非常容易实现,见下例:
运行结果为:
(26)如何移除矩阵的某行(列)数据?
这涉及MATLAB中矩阵的一些操作,见下例:
运行结果为:
(27)如何比较两个矩阵是否相同?
比较每个元素是否相同,如果每个元素都相同,那么这两个矩阵也相同。可以使用循环达到这一目的,但使用all函数可以更方便地实现这一目的。all函数会检查一个矩阵的每一列是否都为非零或者逻辑真,见下例:
运行结果为:
(28)如何去掉数据中的重复元素?
参考unique函数,unique函数可以去掉矩阵中的重复元素,见下例:
运行结果为:
(29)如何求数据的极值?
使用min和max函数可以分别求数据的极小值和极大值,见下例:
运行结果为:
(30)如何求矩阵最大(小)值并返回其行列号?
主要有几种方式,见下面的实例:
运行结果如下:
(31)如何判断数据是否为数字?
参考isnumeric函数。
(32)如何从一组数据中随机抽取数据?
使用randsrc函数可以从一组数据中按照指定概率随机抽取数据,其用法之一如下:
是从alphabet数据中按照概率prob抽取数据生成一个 m × n 的矩阵。见下例:
即从[-3 -1 1 3]中抽取数据生成5×5的矩阵,并且使得-3和3出现的概率为0.2,-1和1出现的概率为0.3。运行结果(由于是随机抽取数据,所以多次运行结果可能不同)为:
(33)如何将数据标准化?
使用zscore函数可以将数据标准化,这里标准化的定义是将数据减去其均值再除以其标准差,见下例:
运行结果如下: