matlab基础知识复习注意点

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需要先转置

 

posted @ 2018-12-22 16:54  zarjen  阅读(403)  评论(0编辑  收藏  举报