在命令行敲入 dbstop if error

如果运行出现错误,matlab会自动停在出错的那行,并且保存所有相关变量。

新建文件夹:

i=10;
dirname=['dir' num2str(i)];%新的文件夹名
a=['mkdir ' dirname];%创建命令
system(a) %;创建文件夹

1.对两路信号作图时,可用 linkaxes 同步x轴,以便之后手动放大同步查看局部细节,例如:

ax(1) = subplot(2,1,1)
plot(time,signal1)
ax(2) = subplot(2,1,2)
plot(time,signal2)
linkaxes (ax,'x') 

当然你也可以同步y轴:linkaxes (ax,'y') ,甚至两轴都同步:linkaxes (ax,'xy') 。

2. 相信很多人都知道hold on指令能用于作重叠的曲线图,但当两曲线值域相差太大时,以至于不能更好地展示彼此的细节,可考虑用如下方法(MATLAB 2016a 开始支持,低版本的用plotyy):

plot(time,signal1)
yyaxis right      % 用右边的y轴展示
plot(time,signal2)

偷一张MATLAB官网的图来展示一下效果(侵删)。此方法跟前面的linkaxes有些相似,然而linkaxes能展示多个曲线。linkaxes适合用于自己查看分析,本方法适合作报告节省空间。

@文件夹

matlab中带“+”和“@”字符命名的文件夹是matlab中的一种文件包, 比如:+folder/Tata.m ,matlab就知道这是一个Tata类文件夹;如果你按照普通的命名方式,比如:someOtherFolder/Tata.m ,或者someOtherFolder/@Tata/Tata.m ,这样matlab只能知道这是一个Tata.m文件。

如果你要用classdef定义一些类,用@Tata的形式,可以把一些方法分别放在不同的路径目录下。以下的例子进一步阐明@目录的用法: Tata 类,方法methodOne 和 methodTwo

somePlaceOnThePath/@Tata/Tata.m 
somePlaceOnThePath/@Tata/methodOne.m 
somePlaceOnThePath/@Tata/methodTwo.m

你也可以把所有用到的方法放在一个单独的文件中:

somePlaceOnThePath/Tata.m

如果你所写的方法比较复杂,而你又想把它放在不同的文件中以方便查阅和管理,可以如下般使用classdef:

文件一:

%# somePlaceOnThePath/@Tata/Tata.m:
classdef Tatamethodsresult =methodTwo(obj,arg)functionmethodOne(obj)disp('hello from methodOne');endend
end

文件二:

%# somePlaceOnThePath/@Tata/methodTwo.m:
functionresult =methodTwo(obj,arg)
%dostuff withobj andarg
end

严格来讲,methodTwo在classdef中的声明是可以省略的,因为这里使用了默认的说明符。如果想把methodTwo作为私有方法,可以用 (Access = private) 。

clear

clearvars -except VarA, VarB

一个数组中,取除了某些元素之外的所有元素

使用setdiff函数

假设

a=1:100;b=[12 17 21 76];

因为某些原因我想取出除了b以外a中的其他所有元素,剩下的记为c

c=setdiff(a,b)

就可以实现了

快速对齐script

我写程序有强迫行为,如果看到脚本没有很好地对齐,比如说这边多一个空格,我觉得挺不舒服的,所以就想办法把代码搞对齐。

Ctrl +A(全选)

Ctrl+i(快速对齐)

主程序与其子函数不在同一文件夹下,该如何操作才能正常运行主程序?

假设我我有一个script,里面大概有十多个子函数,为了避免不必要的麻烦,我把主程序和子函数分开了,常见的是把子函数单独放在一个文件夹下。如果你直接运行主程序,一定会告诉你某些函数或者变量未定义,如何解决这个问题呢?

方法一是,手动setpath把子函数放到搜索路径中去;

方法二,使用addpath(subfolder name),一步到位,是不是很快?!

在当下路径下生成一个文件夹

mkdir(fullfile('.\foldername\'))

生成一个名为foldername的文件夹,这个文件夹可以用来保存你打算保存的某些数据文件

找出某一路径下的所有文件名

dir()

这个在对数据或者文件进行批处理时非常有用

关闭使用fopen打开的各种文档

我写实验程序时,喜欢将被试者或者操作者每一步的操作都记录在案,类似于Log,这个就需要我们用fopen先打开或者创建一个文本文档。但是由于在debug过程中不可避免地犯错而致使程序中止,想删除这个已经打开的文档,这个时候是删除不了的,matlab总是提示该文件在使用中。那么怎么办呢?fclose('all')就可以关闭所有已经打开或者创建的文档了。

waitbar

clc;
clear all;
tic;
disp ('Hello, World!');
h=waitbar(0,'Please wait..');
n=0;
for i=1:100waitbar(i/100)for j=1:100for k=0:100;n=factorial(2);endend
end
close(h)
toc

Matlab coder

把.m文件转成C++与c

MATLAB online plot

https://plot.ly/matlab/

plotly

https://plot.ly/organize/WeisongZhao:home

deploytoolguide

Matlab 操作魔改

如果你有一个编写好的程序,但是数据格式和操作变了,但是框架是一致的,可以利用@文件夹来匹配。

举例:比如A*x原来就是二维矩阵相乘,但现在变成2维卷积了,那么可以这么做:

1. 建立一个新文件夹@XXX

2. 在这个文件夹里新建一个mtimes.m文件

3. 将A的数据格式改成class XXX

A.Amatrix = A;
A = class(A,'XXX');

4. 然后定义mtimes.m

function result = mtimes(A,x)result = conv2(x,A.Amatrix,'same');

这样原来的result = Ax就变成了result = A⊗x了。

【MATLAB】xx操作总结【更新中】相关推荐

  1. 1-L-edit16.3基本操作教程-操作不断更新中

    L-edit16.3基本操作教程-操作不断更新中 一级目录 二级目录 三级目录 之前用过这款软件绘制版图,后面一段时间不用了,又生疏了. 问题1,这是Ledit16.3版本的基本页面布局格式,我把页面 ...

  2. linux 查看工程用什么工具,工程师工具包-Linux常用命令及常用操作-持续更新中...

    Linux系统命令相关 系统相关 date date 查看系统时间 $date 2017年 09月 18日 星期一 18:01:06 CST date -R查看系统时间,并且在时间后面加上时区的显示 ...

  3. VBS操作注册表设置新建读取,删除等操作(更新中)

    搜索注册表中的键值,子键等等: Const HKEY_LOCAL_MACHINE = &H80000002 Const REG_SZ = 1 Const REG_EXPAND_SZ = 2 C ...

  4. GVIM/VIM常用快捷操作(更新中)

    ps:Gvim/Vim 常用快捷键 /命令模式下移动光标 h: 左移 l: 右移 j: 上移 k: 下移 (或者直接使用键盘的方向键) 0: 行首 $: 行尾 ctrl+w+w: 多窗口切换 ctrl ...

  5. [python]队列操作(持续更新中)

    Ctrl+f搜关键词,搜不到找其他博客,下面肯定没有 队列 队列要实现的操作 Queue() 创建一个空的队列 is_empty() 判断一个队列是否为空 length() push(item) 添加 ...

  6. 利用开源FPGA设计工具Apio进行FPGA设计(更新中)

    一.资源地址 1.利用Apio进行FPGA入门,最后完成risc-v软核处理器,youtube视频地址 Introduction to FPGA Part 2 - Getting Started wi ...

  7. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结

    Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...

  8. 非线性优化汇总——Matlab优化工具箱(持续更新中)

    非线性优化汇总--Matlab优化工具箱(持续更新中) 室内定位/导航/优化技术探讨:WX: ZB823618313 原创不易,路过的各位大佬请点个赞 目录 非线性优化汇总--Matlab优化工具箱( ...

  9. Python与Matlab算法学习一文通(快速排序算法)(更新中)

    想利用一些空余时间学一学python与matlab,与同学建立不知道能坚持多久的学习联盟,每周一部分题目,利用一周时间完成原理文档与程序编写.由于主要研究方向为其他方向,因此只会利用很少的空闲时间来学 ...

  10. Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...)

    Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 目录 Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 一.Android s ...

最新文章

  1. 将ubuntu光盘作为安装源_[转载]Ubuntu 以光盘做为软件源
  2. socket通信入门
  3. 手把手教你java快速过滤关键词
  4. opengl如何画出一个球_少儿美术绘画教程:毛线球
  5. [html] 举例说明使用data-有什么优点?
  6. 【网易云课堂---轻松读书:番茄工作法二】
  7. tensorflow手动实现算法之一线性回归
  8. WP7开发解惑(转载)
  9. java做万年历,Java做的万年历
  10. 苹果ipad怎么录屏_追剧,玩游戏必备,这才是苹果手机正确的投屏操作,网友:没白拿...
  11. 三款小工具:Resource Hacker、PE Explorer、SWF Converter
  12. 光猫需要已经开通了 telnet 功能
  13. 网络编程:Socket编程从IPv4转向IPv6支持
  14. 幼儿-综合素质【6】
  15. 【数理逻辑四】谓词逻辑及形式系统 【上】
  16. 如何使用计算机word,电脑系统教程:电脑Word分栏怎么用
  17. R语言 | 编写自己的函数
  18. 篮球图片html页面代码,教你用PS制作一个非常逼真的篮球图片
  19. 活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录
  20. Windows 8 和 Office 15 截图泄漏(多图)

热门文章

  1. Linux 多线程编程使用pthread_creat()函数条件
  2. (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之预防死锁
  3. service XXX does not support chkconfig(service报错)
  4. Wireshark个人实战总结
  5. IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT
  6. 《论文笔记》Multi-UAV Collaborative Monocular SLAM
  7. Android:Android NDK项目中C++文件中打印日志
  8. 智能指针:-和*运算符重载 + 模板技术 实现智能指针(C++)
  9. Mysql 学习笔记08
  10. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)