Matlab基本命令使用指南——(持续更新中)||| 动机:
今天突然之间感觉到,自己在使用一些matlab基本命令时,对其功能了解的不是太清楚,或者一时弄清之后,过后就忘了。 所以,有必要对其进行整理记录,以备自己随时查询。 ------------------------分割线----------------------------- 开始 1.addpath 作用:想搜索目录中增加一个指定目录,具体用法比较简单,在matlab中help即可;这里,我想强调的一点是,本次运行matlab用addpath增加的搜索目录,在matlab重启后,是会被清空的,而不同于直接在matlab中set path。这个特性在某些情况下是很有用处的。 2.cd/mex 设置命令 在matlab中使用cd命令,可以进入指定的目录,一般有两种用法, (i) cd dir,这里,dir是指特定的计算机路径(也可以采用matlab运行目录下的文件路径简写方式),特别需要注意的一点是,dir需要是具体的指定文件路径,如 cd E:a\b\c\d,而不能采用str='E:a\b\c\d',cd str的方式,因为这时cd后面的str会被直接认定为文件路径,不会读取str中的内容。 为了对解决这种情况,简化cd命令,可以先用str='E:a\b\c\d',然后采用cd的第二种用法; (ii) cd(str),这里,str是一个char数组,存储了某个文件路径。 同理,在mex -outdir dir中,这里,dir也必须是具体的指定文件目录路径,而不能是一个表示文件路径的char数组,原因同cd命令。为了简写mex编译选项命令,其实可以采取以下方法: mex_str = sprintf('mex -outdir %s',dir);eval(mex_str),这里,dir即是存储文件路径的char数组。 3.legend命令 利用legend命令对plot进行说明时,有时会遇到一种循环的情形,即每次循环往figure中加入一条新曲线,并新加入一行legend说明。在figure中加入新曲线比较简单,直接hold on,但是hold on命令无法保留原来的legend内容。所以,有必要利用legend的返回值,保留之前figure中的legend内容,例如: ss = 'abcdefghijk'; h = figure(1); for i = 1:length(ss) plot(x,y); %新加入的曲线 hold on; str = sprintf('%s',ss(i)); [~,~,outh,outstr] = legend; if(~isempty(outh)) legend([outh;h],outstr{:},str_legend); else legend(str_legend); end end 4.strrep命令 这个命令可以用作将字符串数组中的特定字符转化为指定字符,方便与其他命令结合,如title,legend,譬如,aa='asdf_aksdf';title(aa)中,字符串aa中下划线后面的a在figure中会作为下标出现,这时使用strrep(aa,'_','\_');title(aa);即可得到预期显示结果。 5.关于matlab中current folder的修改(参考:Matlab默认当前目录更改、记录删除) Matlab使用时间长了,在窗口上方的Current Directory或Current Folder下拉表中会产生大量使用过的历史路径。有时候,如文件名改变,程序名改变等因素,有些路径信息过期、无用,所以需要对这些历史记录进行清理。 在本次matlab运行中,清除MATLAB路径(Current Folder)下拉表中的历史记录方法为: (i) 对2008及以前版本的: File——>Preferences...——>Current Directory——>Clear History (ii) 对2009及以后版本的: File——>Preferences...——>Current Folder——>Clear History 但是,在下次matlab启动时,以前的多余Current Folder history仍然会出现;此时,需要对cwdhistory.m文件进行修改,该文件记录了current folder的所有记录。具体存放位置是:C:\Users\XXX\AppData\Roaming\MathWorks\MATLAB\R2010b,其中,XXX是指登陆系统时的用户名。 另,如果想更改matlab默认current folder,可以“桌面Matlab的快捷方式-> 属性-> 更改起始位置为所希望的默认目录” |
|