18 Aug 2008

MATLAB复习大纲


一、基本概念、命令、语句格式、程序结构

1. MATLAB是一种用于科学工程计算的高级语言,其基本的数据单位是矩阵,它的命令表达式与数学、工程中常用的习惯表达形式十分相似;

2. MATLAB高效方便的矩阵和数组运算,使之在数字信号处理、建模、系统识别、自动控制、优化等领域的问题时,显得十分简洁、高交,具有其他高级语言不可比拟的优势;
##CONTINUE##

3. MATLAB的典型应用包括以下几个方面:数学计算、算法设计、建模与仿真、数据分析与可视化、科学及工程绘图和应用开发;

4. MATLAB最显著的特点是其基本数据是不需要定义大小的数组;

5. MATLAB语言是以矩阵和向量为基本数据单位,包括控制流程语句、函数、数据结构、输入输出及面向对象等特点的高级语言;

6. MATLAB的工作空间指运行MATLAB的所有变量和MATLAB提供的常量构成的空间;

7. 在命令窗口中键入who和whos命令可以看到目前工作空间里的所有变量,命令clear可以删除工作空间里的变量;


8. MATLAB用“%”实现注释功能;可以把多条命令放在同一行,只要中间用逗号或分号隔开,逗号告诉MATLAB显示结果;分号说明除了这一条命令外还有下一条命令等待输入,MATLAB这时将不会给出运行的中间结果;

9. MATLAB的“类”目录名都以@符为引导,其上存放“类构造”函数和“重载”函数;

10. 用path命令扩展的搜索路径仅在当前MATLAB环境下有效;

11. MATLAB有两种最常用的创建数组的方式:“冒号表示形式”直接定义数据点之间的增量而不是数据点;linspace直接定义数据点数,而不是数据点之间的增量;

12. MATLAB数组中以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素;

13. 点乘符号.*对数组c和d施加元素对元素的乘法运算,不带点的乘号表示矩阵乘法;

14. 数组除法同时使用了正斜杠和反斜杠两种定义:两种情况下,斜杠下的数组都被斜杠上的数组所除;

15. B.\A表示对应元素相除;

16. reshape函数用于在总元素不变的前提下,改变数组的“行数”、“列数”;

17. 为了生成比较复杂的数组,MATLAB提供了诸如反转、插入、提取、收缩、重组等对数组和矩阵的操作方式;

18. 函数find用于返回数组或矩阵中满足某关系表达式的那些元素的位置或下标;

19. 可用命令class和ischar来查看变量是否为字符数组;

20. 采用输入数值矩阵的方法输入字符矩阵时,应保证矩阵的每行字符串的长度相同;

21. 函数cellstr可把字符矩阵转换成元胞数组;

22. 函数mat2str把数值数组组转换为字符串,用eval函数又可把这种字符串转换成数值数组;

23. 元胞数组的每一个元素可为类型不同、维数不同的矩阵、向量、标量或多维数组,所有元素用大括号括起来;

24. 中括号对“[ ]”用来形成矩阵,大括号对“{ }”是元胞数组的标志。两者不同之处在于,大括号可以嵌套,而中括号不可;

25. 函数celldisp用来显示元胞数组的每个元素的值,函数cellplot将画出元胞数组的每个元素的结构图;

26. 当给已经定义的元胞数组下标范围外的元素赋值时,MATLAB自动扩维,对于没有赋值的元素,赋值为空矩阵;

27. 在赋值语句中,每次只能给元胞数组的一个元素赋值,采用形如“a{1,:}=…”的赋值语句是不合法的;

28. 结合使用冒号运算和大括号可以方便地引用元胞数组中的多个元素,并把引用的元素分为不同的变量;

29. 数据不能直存放于结构体,而只能存放在域中。结构体的域可以存放任何类型、任何大小的数组;

30. 在矩阵下标的表达式里使用冒号表示矩阵的一部分,如A(:,j)表示矩阵A的第j列的所有元素。由于有了冒号运算符,在MATLAB里编程变得特别简便、快捷;

31. 在MATLAB里,可通过把矩阵的列或行赋值为空矩阵来删除某行或某列;

32. A(1:2:5)表示删除下标为1、3、5的三个元素;

33. 在MATLAB里,当行向量乘以列向量时为标量积(内积),当列向量乘以行向量时为向量积(外积);

34. 函数cond(A)计算矩阵的条件数;

35. [V,D]=eig(A)求特征值与特征向量;

36. det(A)计算行列式;

37. Inv(A)求矩阵的逆;

38. poly(A)求特征多项式;

39. 函数polyfit从最小二乘的意义上,拟合出所给数据的多项式系数;

40. x(any(isnan(x)'),:) =[ ]作用是删除所有包含NaN的行;

41. any(x)的功能是:如果在一个向量x中,任何元素是非零,返回1;

42. all(x)的功能是:如果在一个向量x中,所有元素非零,返回1;

43. 函数工作空间变量nargin包含输入参量个数,函数工作空间变量nargout包含输出参量个数;

44. 局部(local)变量是存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身;

45. 全局(global)变量是在不同的工作空间以及基本工作空间中可以被共享的变量;

46. 私有函数只能被private目录的直接父目录上的M函数文件所调用;

47. 数值数组的预定维一般采用zeros函数,元胞数组预定维采用cell函数,结构型数组用struct函数预定维;

48. clear命令从内存中删除变量;

49. pack命令把内存中的变量存入磁盘,再用内存中的连续空间载回这些变量;

50. 在MATLAB里,对象是用结构体数组来存储的;

51. 函数figure 可建立新的图形窗口,并把新建的窗口指定为当前窗口用于输出图形;

52. 命令subplot可以把多个图形绘在一个图形窗口中;

53. 命令what列出当前目录或文件夹下的所有M文件和MAT文件;

54. help、lookfor等命令都不能提供关于私有函数的任何帮助信息;

55. MATLAB还提供了两种演算函数来提高计算的灵活性:一种是串演算函数eval,另一种是函数句柄演算函数feval;

56. 编程时,把循环向量化,不但能缩短程序的长度,更能提高程序的执行效率;

57. 在MATLAB里运行C语言的可执行文件,应在文件名前加上感叹号“!”;

58. 函数meshgrid(x,y)对y中行的每一行复制x,同样也对x中列的每一列复制y;

59. MATLAB提供了一个称为fplot的巧妙的绘图函数,该函数细致地计算要绘图的函数,并且确保在输出的图形中表示出所有的奇异点;

60. 在图形窗口里,legend、zoom、ginput都响应鼠标的单击;

No comments :

Post a Comment