Matlab实用函数总结
在之前的学术干货中,我们分享了state软件常用函数、数据清理等技巧,这一期我们一起来看看Matlab软件的部分实用函数:
一、数据类型转换
即数值数组、字符数组、元胞数组、结构体或表格之间的转换。
二、字符串对比
判断两个字符串是否相同,使用strcmp函数
strcmp(‘abc’,’abc’)
判断字符串中是否包含某种字符串,使用contains函数
contains(‘abc’,’ab’)
判断字符串中在哪几位出现某种字符串,使用regexp函数
regexp(‘abac’,’a’)
在cell元胞里面判断字符串,先通过strcmp实现对比,再通过find定位
a = strcmp(Cell_variable,’abc’);
b = find(a == 1)
在cell元胞中定位哪几个cell中的字符串带有‘ab’,可以使用contains函数,再用find定位
a = contains (Cell_variable,’ab’);
b = find(a == 1)
三、文件的读取写入
mat, txt, excel是平时最常使用的文件类型:
加载mat文件,用的是“load 文件名”命令,也可以双击mat文件,保存mat文件,用的是“save 文件名”命令,也可以workspace右键保存。
txt通常通过importdata(‘test.txt’)命令,读取的结果是一个多行一列的cell元胞;也可以通过使用MATLAB工具条里的“导入数据”按钮。txt的写入,可以通过fopen,fprintf,fclose实现:
fid = fopen(‘test.txt’,’wt’);
fprintf(fid,’test1\n’);
fprintf(fid,’test2\n’);
fclose(fid);
将 .xls 和 .xlsx 中的数据写入 Matlab中的表、时间表、矩阵或数组时,可以使用导入工具以交互方式导入电子表格数据,也可以使用此处列出的函数以编程方式导入数据。可以导入所选范围的数据,也可以从电子表格文件中导入多个工作表。
四、数据处理的常用函数
unique函数
可以把数据中重复的数据删去,保留唯一值。unique这个函数不仅仅对数值矩阵有效,在cell中同样起作用
C = unique(A)
排序
sort和sortrows,两种函数都有排序的功能。
sort的功能是,将矩阵或者cell中的每行或者每列进行升序或降序排列,其中A代表待处理的矩阵或cell数据,dim的选择有1和2,分别代表对每列和每行进行排序,direction的选择有’ascend’或 ‘descend’,分别代表升序和降序:
B = sort(A,dim,direction)
sortrows的功能是,将矩阵或者cell根据某一列进行升序或降序排列,其中A代表待处理的矩阵或cell数据,column代表根据第几列进行排序,direction的选择有’ascend’或 ‘descend’,分别代表升序和降序:
B = sortrows(A,column ,direction)
tabulate 函数
可以实现对数据的统计分析,输出的结果有三列,分别是去重后的数据,出现的次数,已经对应的百分比
>> tabulate([1 2 4 4 3 4]) Value Count Percent 1 1 16.67% 2 1 16.67% 3 1 16.67% 4 3 50.00%
文案 / 金融学术研究会 钟雨希
排版 / 吴谦