注:
- 本专栏会默认你已经有一定的语法基础,目的是为了分享编程过程中遇到的一些小细节,希望可以对各位有所帮助。
- 代码最好通过调用函数模块化,不要一直写在一个.m文件中写。
- 变量命名可以参考命名规约,不要总是用a,b,c等简单的字母表示。规约这里推荐《阿里巴巴Java开发手册(终极版)》,
电子版下载地址:https://developer.aliyun.com/ebook/386 - 编程过程中,遇到执行过程相似的部分而复制自己文件中的代码要小心,多检查一遍自己要改的的变量。
一、运行操作
- 强行停止运行
在命令行输入Ctrl+C2
- 运行过程中出现错误debug
dbstop if error; %发生错误即停止在错误行,一般写在脚本开始处。
- 运行时间
tic
toc
预分配内存:用时0.28秒 clear; clc tic k=1e8; a=zeros(k,1); for i=1:k a(i)=i; end toc | 不分配内存:用时13.69秒,效率是分配的1/48; clear;clc tic k=1e8; %a=zeros(k,1); for i=1:k a(i)=i; end toc |
- 判断是否存在NAN
统计a矩阵的nan元素个数,如下图所示。
numel(find(isnan(a)))
Or
sum(isnan(a))
二、文件操作
-
把子文件夹加入/移除路径
addpath(genpath(pwd)); % 加载子文件夹,建议放在文件开头
%pwd: PrintWorkingDirectory,当前工作路径
rmpath(genpath(pwd)) %移除
-
通过日期给文件起名字,避免重复
filename=['f',datestr(now,30)];
-
创建/删除文件夹
%% if ~exist('Fig','dir') % 判断是否存在Fig文件夹 mkdir('Fig') % 生成文件夹 else disp('dir is exist') % rmdir('Fig') % 删除文件夹,此文件必须为空才可删除。 % mkdir('Fig') % 从新建立文件夹 end |