Matlab处理csv文件与图形绘制总结

  最近做实验需要使用matlab导入并处理csv文件数据,在此之前对matlab的使用并不熟悉,所以趁着撰写博客的机会总结巩固一下。
1、脚本程序清除命令:
  clc:清空命令行窗口的内容,对编辑器及工作区的内容无影响。
命令行窗口输入clc并回车
  close与close all:两者功能一致,前者是关闭当前Figure窗口;后者是关闭所有Figure窗口
  clear与clear all:两者功能相近,前者是清除工作区的所有变量;后者是清除所有的变量、函数及运行文件等
使用clear可以清空这里的变量
  一般在撰写脚本程序前,使用clc,clear all,close all命令,即可使程序运行前完全复位。

2、文件的导入处理:
  matlab有丰富的文件导入函数,比如load、importdata、save、textscan、read函数等等,这里总结一下importdata函数的用法:
  importdata函数可以从txt、csv、excle及图片文件中导入数据,其常用的使用形式如下:

  data = importdata(filename);
  data = importdata(filename, delimiter);
  data = importdata(filename, delimiter, headerlinesIn );

  其中,data用来存储读取的文件数据,importdata函数将数据导入到一个结构体变量中,而文本与数字分别导入到结构不同的属性中:数值导入到矩阵,文本导入细胞数组。filename为文件名,delimiterIn 为字符分隔符;headerlinesIn 为文件头的行数。
importdata函数总结如上
3、文件数据查找匹配:
  matlab提供了三个正则表达式函数:

  regexp函数:用于对字符串进行查找,大小写敏感;
  regexpi函数:用于对字符串进行查找,大小写不敏感;
  regexprep函数:用于对字符串进行查找并替换

  常用的函数形式如下:

  regexp(str,expression,‘match’); 从str字符串中匹配并返回expression表达形式的字符串,区分大小写。
  regexp(str,expression,‘split’); 将str字符串按expression表达形式进行分割
  regexpi(str,expression,‘match’); 从str字符串中匹配并返回expression表达形式的字符串,不区分大小写。
  regexprep(str,expression1,expression2); 将str字符串中的expression1表达式替换为expression2。

  举例:
  tmp=regexp(str, ‘,’ ,‘split’); %正则表达式,将str字符串按’,'进行分割,结果存在tmp中
  regexp(str, ‘abc’, ‘match’)); %从str中开始匹配符合abc的表达式
  regexprep(str, ‘abc’, ‘a’)); %将str中的’abc’字符替换为a

  注意:
   . 表示匹配任何单字符(除换行符 \n 之外),*表示贪婪模式。比如a.*b,它将会匹配字符串中以a开始,以b结束的最长的字符串。如果用它来搜索字符串“aabab”的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

4、图形绘制:
  matlab中有丰富且强大的图形绘制函数,其中应用最广泛的为plot函数,plot函数的常用形式为plot(X)、plot(X,Y)、plot(X,Y,…),其中XY为长度相同的向量,分别存储Figure图中的X轴与Y轴坐标。plot函数中可以添加各种绘图属性,比如:

  LineWidth——指定线宽
  MarkerEdgeColor——指定标识符的边缘颜色
  MarkerFaceColor——指定标识符填充颜色
  MarkerSize——指定标识符的大小

注意上面四个属性是针对当前坐标系中所有曲线的。而针对绘图中的线型属性如下:
线型属性
其他的图形设置比如:

title(’Figure名称’); 为图形加入标题
text(x,y,’图形说明’); 在指定x、y坐标加入说明
xlabel(’x轴说明’);
ylabel(’y轴说明’);
axis on/off ; 显示/取消坐标轴
axis equal; xy轴上的各个刻度线的增量相同
grid on/off 开启/关闭坐标轴网格线

示例:

point_X=[x1,X_aim,x2]; 		%point_X=[0, 62.71, 100]
point_Y=[y1,Y_aim,y2];		%point_Y=[0, 16.80, 0]
plot(point_X, point_Y, ':^r', 'markersize',8);		%点线,上三角标记,红色,标记大小8
title('这是一张figure图');		%标题
xlabel('x轴坐标');		%轴加备注
ylabel('y轴坐标');
text(X_aim+2,Y_aim+1,'1');		%指定坐标加备注
text(x1+2,y1,'2');
text(x2-4,y2,'3');
axis equal		%xy轴上的各个刻度线的增量相同
grid on		%坐标轴加网格线

示例

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值