terminal中使用Matlab

最近想在终端中直接使用matlab,提高下工作效率
系统:Macos10.12
Matlab:2015b


1.首先要确定termianl是否关联matlab(若直接输入matlab能打开,则关联成功)

export PATH=$PATH:/Applications/MATLAB_R2015b.app/bin/    
#添加的~/.zshrc中(bash在bashrc)

2.配置别名

关联完成之后,直接输入matlab是打开matlab的ui界面,想直接使用,需要加入命令,可设置别名,方便使用

alias matlab='matlab -nosplash -nodesktop -r "cd $PWD"'  
#这样就可以打开matlab同时进行当前目录

3.Matlab命令行常用命令

clc     #清屏
Ctrl+c  #中断程序
ls      #列出文件
open    #打开文件
exit    #退出matlab

Tips:
可以配合Vim的外部命令直接执行shell指令,更加流畅。

Matlab的命令行调试常用指令

最近用matlab比较多,以前一致都是一直使用matlab的操作按钮使用,最近发现matlab的command命令也是非常好用的


%1.运行m文件
  mfile
%2.设置断点
 dbstop in mfile %文件名为mfile的文件首行设置断点
 dbstop in mfile at lineno %m文件的第lineno行设置断点
%3.清除断点
 dbclear all %清除全部断点
 dbclear in mfile at lineno %清除mfile的第lineno行断点
%4.列出断点
 dbstatus
%5.恢复运行
 dbcont
%6.执行一行或多行
 dbstep
 dbstep nlines
 dbstep in
 dbstep out

PS:还有其他很多命令就不一一列举,可以多看看help文件

VIM中消除^M回车符的方法

macbook自从更新了10.12sierra之后我的matlab2015变得不支持中文了,决定使用VIM来作为m文件的编辑器
在安装vim的matlab语法高亮插件过程中,发现报错提示换行符为^M,详细的原因就不说了,网上很多。


通过搜索,发现很多人分享的方法是:

:%s/^M$//g # 去掉行尾的^M。

还有其他一些类似的基本大同小异,但是试过之后全部失败,但是使用下面的方法成功了。

:set fileformat=unix "在VIM命令模式中输入前面代码,将文本格式选择为UNIX,之后保存退出,报错就消失
tips:
1.显示换行符,制表符等
:set list
2.检测文件格式
:set fileformat?
3.将UNIX格式作为第一选项,DOS格式作为第二选项
:set filformat=unix,dos

Spectrogram使用小记

短时傅立叶变换spectrogram最详细的说明当时是看matlab官方的help文件


格式:
spectrogram(x,window,noverlap,nfft)

说明:

x:为输入向量
window:为使用的窗函数,默认为hamming窗,长度为nfft长度
noverlap:为每一段重叠的样本数,一般使用窗函数的50%
nfft:为fft的长度

例子:

产生一个线性调频信号x,采样率1kHz,采样时间为2s。起始频率为100Hz,终止频率为200Hz,时间1s。

t = 0:0.0001:2;
x = chirp(t,100,1,200,'quadratic');

使用spectrogram函数之间绘制频谱图

spectrogram(x,128,120,128,1e3)
  • 使用的是128阶的hamming窗
  • 重叠长度为120
  • 频率分量有[128/2+1]=65
    时间分量有[length(x)-120/(128-120)] = 235
    screen-shot-2016-11-24-at-3-48-35-pm
    在最后添加‘yaxis’可以将X轴变为时间轴,Y轴变为频率
spectrogram(x,128,120,128,1e3,'yaxis')

screen-shot-2016-11-24-at-3-49-14-pm