前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab中相见恨晚的命令(持续更新)

Matlab中相见恨晚的命令(持续更新)

作者头像
猫叔Rex
发布2020-06-28 16:42:07
6470
发布2020-06-28 16:42:07
举报
文章被收录于专栏:科学计算

  知乎上有个“有哪些让人相见恨晚的Matlab命令”的话题,很多答主提供的命令确实很实用,为了更方便大家的学习,我就知乎上的答案和我自己想到的都综合整理成了一篇文章,把我觉得很实用的指令整理出来。

知乎原答案链接

dbstop if error

  如果运行出错,matlab会自动停在出错的那一行,并保存相关变量,非常好用的指令,谁用谁知道。

配合这个指令一起使用的是dbupdbdown,这两个指令用于workspace间切换查看变量调试,dbup是调到上层workspace,dbdown是返回。

linkaxes

  当使用subplot作图时,想要同时缩放多幅图,就可以使用该指令

代码语言:javascript
复制
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

代码语言:javascript
复制
plot(sig1);
yyaxis right
plot(sig2);

在这里插入图片描述

折叠注释内容

  使用下面的注释方式可以将注释后的内容折叠起来

在这里插入图片描述

deal

  可简化初始化的代码

代码语言:javascript
复制
% 要初始化4个矩阵
A = zeros(3,4);
B = zeros(3,4);
C = zeros(3,4);
D = zeros(3,4);

使用了deal,一行搞定:

代码语言:javascript
复制
[A,B,C,D] = deal(zeros(3,4));

如果初始化内容不同,也可以使用deal,

代码语言:javascript
复制
%% 原始程序
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分类器是怎么写的,可以输入

代码语言:javascript
复制
edit ClassificationSVM.m

fdatool

  设计滤波器必备利器,在Matlab2019中还能用,但提示以后要换成filterDesigner了,设计完滤波器后可以把系数导出,还能直接导出成Xilinx FPGA开发软件可以识别的coe文件。

在这里插入图片描述

条件断点

比如我们写了下面的代码:

代码语言:javascript
复制
n = 1000;
for i=1:n
    xxx
end

我们想在i=100的时候停下来,可以在编辑器边缘右键,设置条件断点。

在这里插入图片描述 再设置我们想要的条件就好了

在这里插入图片描述

先整理到这里,后面不定期更新

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dbstop if error
  • linkaxes
  • yyaxis right
  • 折叠注释内容
  • deal
  • 查看Matlab函数源代码
  • fdatool
  • 条件断点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档