• 2008-03-31

    MATLAB中的一些小技巧(2) - [MATLAB]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://liuxqsmile.blogbus.com/logs/18013956.html

    1. Ctrl+D打开子程序
        在MATLAB的Editor中,将输入光标放到一个子程序名称中间,然后按Ctrl+D可以打开该子函数的m文件。当然这个子程序要在路径列表中(或在当前工作路径中)。实际上该快捷键对应右键菜单中“Open Selection”命令。

    2. 列出依赖函数
        在Editor菜单中,选择Tools->Show Dependency Report,可以列出当前m文件调用的子程序。如果需要将程序移动到别的电脑上,使用这个工具可以确保不会漏掉一些东西。这个工具也适用于文件夹。

    3. 显示鼠标数据内容
        调试程序过程中,程序运行到断点后,将鼠标移到一个变量名上,将会弹出一个方框,显示该变量的内容。不在调试状态下,怎么使用这个功能呢?在File菜单 中打开设置选项(Preferences),选择 Editor/Debugger -> Display,在 "General Display Options"  中选择 "Enable datatips in Edit Mode "。

    4. 单元数组的基本操作
    清除cell中的元素
    cellname(n1:n2) = [];
    合并如下的两个cell数组
    a = {'str1', 'str2', 'str3'};
    b = [1:3];
    • c = [a(1:2), b, a(3)];
    得到:c = { 'str1'    'str2'    [1x3 double]    'str3'}
    • 而 c = {a(1:2), b, a(3)}
    则得到 c =  {1x2 cell}    [1x3 double]    {1x1 cell}
    cell array本质上是数组,前一种操作方式与普通数组的操作方式相同,而后一种方式则是将逗号分隔的各个元素分别一个cell,整体作为一个cell数组。

    cell的两种引用方式
    a(1) 得到 {'str1'}, 因为a是一个cell数组,所以其中的每一个元素都是一个cell,
    而a{1} 得到 'str1'。

    5. MATLAB 中的字体平滑
        在File菜单中打开设置选项(Preferences),在 Fonts 中,选择底部的 “Using antialiasing to smooth desktop fonts” ,MATLAB 中默认字号比较小,可以调大一些(可以在下拉菜单中输入数字,更精细地控制文字大小)。有衬线字体打开反锯齿后可能会看起来“发虚”。

    6.  同步缩放坐标轴linkaxes
    linkaxes命令,可以将一个figure中的各个axes指定相同的坐标范围,实现各个绘图同 步放大、缩小。在缩放一个绘图时,其它也会同步缩放。可以同时关联x、y轴,也可以只关联一个坐标轴。

    7. 鼠标绘图
    MATLAB Help中的Interactive Plotting一文提供了一种在figure中用鼠标绘图的方法,主要使用ginput函数。

    8. GUI程序关闭按钮的callback
        为GUI窗口右上角的关闭按钮添加回调函数:在GUIDE中打开GUI,在没有控件的地方单击,选中整个figure,右键菜单中选择 View Callbacks -> CloseRequestFcn,m文件中将自动添加该回调函数,输入代码就可以了。


    收藏到:Del.icio.us