大家好!这是一份matlab复习资料,在里面可能有几道模拟题的答案(注意模拟题中的变化);对于其他的答案,恕我的能力有限,无法满足大家的需求,我在此致以崇高的歉意。
最后祝愿每个人取得理想的成绩
2011年06月29日
刘自迪
Matlab复习资料
一、基本概念、命令、语句格式、程序结构1. MATLAB是一种用于科学工程计算的高级语言,其基本的数据单位是矩阵,它的命令表达式与数学、工程中常用的习惯表达形式十分相似;
2. MATLAB高效方便的矩阵和数组运算,使之在数字信号处理、建模、系统识别、自动控制、优化等领域的问题时,显得十分简洁、高交,具有其他高级语言不可比拟的优势;
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数组中以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素;另: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)