1.any、all函数
any对矩阵操作时,any(a,dim),dim=1表示对列操作,列向量非全0返回真,返回行向量;dim=2表示对行操作,行向量非全0返回真,返回列向量;
all对矩阵操作时,all(a,dim),dim=1表示对列操作,列向量所有元素非0返回真,返回行向量;dim=2表示对行操作,行向量所有元素非0返回真,返回列向量;
2.unicode编码(16位编码,一个字符占2个字节)
>> double('张')
ans = 24352 >> char(24352) ans = 张3. '\n'只有在格式化输出时才表示转义字符
double('\n'),ans=92 110;
double(sprintf('\n)),ans=10;
char(10)获取换行符;
sprintf('\n')获取换行符;
4.使用zeros或ones函数为矩阵预分配内存,可加快程序执行
利用tic和toc之间添加执行代码,可以计算出执行代码所消耗的时间。
5.函数
函数文件名必须与函数名一致
函数传入参数不能是单元数组
varargin和varargout传送或返回不定数目的参数
6.input函数
a=input('please enter the string:\n','s'),此时's'表示返回用户输入的文本字符串给a变量
7.cd、pwd显示当前完整路径,ls、dir显示当前路径中文件和文件夹的名称,ls ..显示上一级目录下的文件和文件夹名称,cd ..切换到上一级目录
8.eval可以把数值型字符串转换数值
9.matlab中下标都是从1开始,后期的最新版本可能会更新为从0开始以与当前主流语言一致;
10.cast数据类型强制转换,cast('123','double');
11.eps是一个函数。当没有参数时默认参数是1.返回的是该参数的精度,所以浮点数运算要考虑系统误差;
a=0.01:0.01:2
n=find(abs(a-0.15)<=eps)
n = 15 %索引12.复数常量用x = 1+3i,也可以x = 1+3*i,但是后者会降低运行速度;
13.多重循环使用时,把循环次数少的放在外层,运行速度会更快;
14.使用%{和%}对整段代码进行注释,且%{和%}分别需要独占一行;
15.单元数组
16.生成一个常矩阵
temp = 1:10;
a = repmat(temp',1,10);%把temp转置成列矩阵后,行数不变,横向扩展10列 b = repmat(temp,10,1);%列数不变,纵向扩展10行 c = a + b;17.前导0(如001,002)使用格式化输出%03d,3代表有3位;
18.randerr
data = randerr(10,12,7); %10行12列[0,1]随机矩阵,7代表每行包含7个1
reshape(dec2bin(data')',10,12); %dec2bin是把data的一列一列的拼成一个字符串(列向量),所以data需要先转置