知乎上有个“有哪些让人相见恨晚的Matlab命令”的话题,很多答主提供的命令确实很实用,为了更方便大家的学习,我就知乎上的答案和我自己想到的都综合整理成了一篇文章,把我觉得很实用的指令整理出来。
知乎原答案链接
dbstop if error
如果运行出错,matlab会自动停在出错的那一行,并保存相关变量,非常好用的指令,谁用谁知道。
配合这个指令一起使用的是dbup
和dbdown
,这两个指令用于workspace间切换查看变量调试,dbup
是调到上层workspace,dbdown
是返回。
linkaxes
当使用subplot
作图时,想要同时缩放多幅图,就可以使用该指令
figure;
ax(1) = subplot(211);
plot(sig1);ylim([-2,2]);grid on
ax(2) = subplot(212);
plot(sig2);ylim([-2,2]);grid on
linkaxes(ax, 'xy'); %x轴和y轴都同步,也可以单独指定x或者y
效果如下:
yyaxis right
当我们要把两个波形画到一个图中时,大家都知道可以使用hold on
,但如果两个波形的值域相差很大时,如下:
如果我们使用了
yyaxis right
plot(sig1);
yyaxis right
plot(sig2);
折叠注释内容
使用下面的注释方式可以将注释后的内容折叠起来
deal
可简化初始化的代码
% 要初始化4个矩阵
A = zeros(3,4);
B = zeros(3,4);
C = zeros(3,4);
D = zeros(3,4);
使用了deal
,一行搞定:
[A,B,C,D] = deal(zeros(3,4));
如果初始化内容不同,也可以使用deal
,
%% 原始程序
A = zeros(3,4);
B = [];
C = ones(2);
D = cell(2);
%% 使用deal的程序
[A,B,C,D] = deal(zeros(3,4), [], ones(2), cell(2));
查看Matlab函数源代码
有时觉得自己写的程序不规范,想参考Matlab官方是怎么写的,比如想看SVM分类器是怎么写的,可以输入
edit ClassificationSVM.m
fdatool
设计滤波器必备利器,在Matlab2019中还能用,但提示以后要换成filterDesigner
了,设计完滤波器后可以把系数导出,还能直接导出成Xilinx FPGA开发软件可以识别的coe文件。
条件断点
比如我们写了下面的代码:
n = 1000;
for i=1:n
xxx
end
我们想在i=100的时候停下来,可以在编辑器边缘右键,设置条件断点。
再设置我们想要的条件就好了
先整理到这里,后面不定期更新
FPGA
Vivado中jobs和threads的区别?选择多个jobs能加快实现速度么?
SystemVerilog教程之数据类型1
Vivado中模块封装成edif和dcp
FPGA 中的有符号数乘法
为什么推荐使用XPM?
RAM IP Core中 Write First Read First和No Change的区别
Vivado调试小结:ILA debug中的数据也许并不可信
FPGA复位的正确打开方式
如何使用Git进行Vivado工程的管理
大家一致避免使用的锁存器为什么依然存在于FPGA中?我们对锁存器有什么误解?
影响FPGA时序的进位链(Carry Chain), 你用对了么??
Virtex7 Microblaze下DDR3测试
Matlab高效编程技巧
生成Verilog HDL例化模板
DCM/DLL/PLL/MMCM区别
FPGA时序约束教程
- FPGA时序约束理论篇之建立保持时间
- FPGA时序约束理论篇之时序路径与时序模型
C++
- C++ vector用法详解
- C++ 内联函数 inline的详细分析
信号处理
- 自动驾驶入门之视觉定位坐标转换
- 什么是噪声温度?-174dBm/Hz又是什么?
- Matlab中fft与fwelch有什么区别?如何用fft求功率谱?
Julia
0 Julia教程目录
1 Julia简介及安装
2.Julia REPL 变量
3 数学运算 矩阵操作
4 函数 方法 多重分派
5 Julia控制
6 Julia 类型
7 Julia绘图工具
8 Julia IO操作
9 模块
12 Julia机器学习
13 如何写出高性能的Julia
欢迎关注微信公众号: