0.4 数据处理
(23) 如何删掉缺失值?
在MATALB中使用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) 如何从一组数据中随机抽取数据?
使用randsr函数可以从一组数据中按照指定概率随机抽取数据,其用法之一如下:

是从alphabet数据中按照概率prob抽取数据生成一个mxn的矩阵。见下例:

即从[-3 -1 1 3]中抽取数据生成5x5的矩阵,并且使得-3和3出现的概率为0.2, -1和1出现的概率为0.3,运行结果(由于是随机抽取数据,多次运行结果可能不同)为:

(33) 如何将数据标准化?
使用zscore函数可以将数据标准化,这里标准化的定义是将数据减去其均值再除以其标准差,见下例:

运行结果如下:
