MATLAB笔记摘录: 1、clc 命令清空命令窗口(The Command Windows)中的内容,可以用 clf 清空当前图象窗 口中的内容。在工作空间窗口(The workspace browser)中变量可用clear命令清除。 2、能用 diary 命令记录下在 MATLAB 中运行过程中每个线程所做的事。
3、常见编程错误 如果变量名与 MATLAB 中的函数或命令重名,那么这个函数或命令将不能被访问。
4、常见编程错误 不要创建和 MATLAB 内建函数或命令同名的 M 文件。 5、—which 命令,它能帮助我们找到正在执行的文件版本和 它的路径。
6、命令窗口是最重要的窗口,因为所有的命令都得在此键入,所有的结果在此输出
7、MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前 31 个字符是有效的;如果超过了 31 个字符,基余的字符将被忽略。如果声明两个变量,两变 量名只有第 32 个字符不同,那么 MATLAB 将它们当作同一变量对待
8、像 MATLAB 这样的叫做弱类型语言。通过简单的赋值形式就可以 创建变量,变量类型取决于创建时的类型。 9、。有三种方式初始化 MATLAB 中的变量:
1.用赋值语句初始化变量
2.用 input 函数从键盘输入初始化变量 3.从文件读取一个数据
10、克隆运算符指定一系列的数值,它指定了这个系列数的第一值,步增和后一 个值。它的一般顺序始下 first:incr:last
11、捷径表达式可以联合转置运算符(’)来初始化行向量,或更加复杂的矩阵
12、函数 zeros 可以初始化任何大小的全 为零的数组。相似地,ones 函数产生的数组包含的元素全为 1,eye 函数通常用来产生单位矩阵,只有对 角线的元素为 1.其他元素为 0.
13、input 函数中有字符's'做为它的第二个参数,输入的数据就被当字符串. in2=input('enter data:','s') enter data:123 把字符串 1.23 存储到 in2 中. 14、.数组,矩阵,向量有什么区别?
答:矩阵是二维数组,向量是一维数组,矩阵和向量是数据的子集。
15、在数组名 后面加括号,括号里面是所有要选择的元素的下标,这样就能选择这个函数的子集了
16、二维数组为例:arr[1,:]取数组的子集;arr[1,2]取具体的元素; 17、format 包括两方面的内容,一方面是打印内容的文本的提示;另一方面是打印 的格式。 18、fprintf 函数有一个重大的局限性,只能显示复数的实部。。当我们的计算结果是复数时, 这个局限性将会产生错误。在这种情况下,好用 disp 显示数据。
19、如果数据需要在 matlab 和其他程序之间交换使用,那么以 ASCII 格式存储数据。如果 只在 matlab 中使用那么,应以 mat 文件的形式存储数据。
20、以“dat”的扩展名保存 ASCII 数据文件,以区别于以“mat”为扩展名的 mat 文件。 21、filename 代表你要保存变量的那个文件,var1,var2 等是要保存的变量。在默认情况下, 这个这个文件的扩展名为‘mat’,我们称之为 MAT 文件。如果在 filename 后面无变量,则 工作区的所有内容将会被保存。
22、MATLAB 在数组运算中提供了两种不同类型的运算,一种是数组运算(array operations), 一种是矩阵运算(matrix).数组运算是一种用于元素对元素的运算. .当一个数组和一个标量进行运算时,标量将会和数 组中的每一元素进行运算. 相对地,矩阵运算则遵守线性代数的一
般规则
23、MATLAB 用一个特殊的符号来区分矩阵运算和数组运算。在需要区分两者不同的时侯, 把点置于符号前来指示这是一个数组运算(例如,.*)。数组运算符.*,.^和./ 24、[maxval index] = max ([1 -5 6 -3]) 将会产生结果 maxval=6,和 index=3.
25、一个 重要的选项是-dtiff.这个选项指定输出图片的格式是标签影像档案格式(TIFF)。 26、下面这个命令将会创建一个 TIFF 格式的当前图象的图片,并保存在 一个叫 my_image.tif 的文件中 print –dtiff my_image.tif 。你也可以选择图象窗口中的“file/export”选项来创建 tiff 图片。
27、我们可以用 legend 来制作图例。它的基本的形式如下: legend('string1','string2',...,pos) 其中 string1,string2 等等是与轨迹标签名,而 pos 是一个整数,用来指定图例的位置。用 legend off 命令将能去除多余的图例。
28、打印数据既可以用对数尺度,也可以用线性尺度:
1.plot 函数的 x,y 均用线性尺度
2.semilog 函数 x 轴用对数尺度,y 轴将用线性尺度 3.semiloge 函数 x 轴用线性尺度,y 轴用对数尺度 4.loglog 函数两坐标轴将会都用对数尺度。 29、在MATLAB中有三种类型的错误:
1.语法错误:缺括号等
2.运行错误:当一个非法的数学运算出现在程序的过程(例如, 除以 0),将会出现
运行时错误。这些错误将会使程序返回 Inf 或 NaN
3.逻辑错误:指编译和运行都能通过,而产生 了错误的结果。
30、养成好的编程习惯:
1. 尽可能的使用有意义的变量名,一眼就可以看懂,像 day,month,year. 2. 给每一个程序创建一个数据字典,以提高程序的可维护性.
3. 变量名一律用小写字母,这样可以不会因大小写不同而造成变量混淆。
4. 在所有的 MATLAB 赋值语句的后面加上一个分号,用来禁止赋值的重复.在程序调 试期间,如果你检验某个语句的值,可去掉语句后的分号.
5. 如果要在 MATLAB 和其他程序之间交换数据,那么就要以 ASCII 格式存储数据.如 果数据只应用在此 MATLAB 中那么,应以 mat-file 格式存储数据.
6. 以”dat”为扩展名保存 ASCII 数据以区分 MAT 文件,MAT 文件的扩展名为 mat.
7. 用适当的括号使你的表达式清晰,易理解. 8. 当你读取和写入数据时,使用适当的单位
31、常见的数组与矩阵的运算: 运算 MATLAB 形式 数组加法 A+B 数组减法 A -B 数组乘法 A.*B 矩阵乘法 A*B 数组右除A./B 法 数组左除A.\\B 注释 数组加法和矩阵加法相同 数组减法和矩阵减法相同 A 和 B 的元素逐个对应相乘.两数组之间必须有相同 的形,或其中一个是标量. A 和 B 的矩阵乘法.A 的列数必须和 B 的行数相同. A 和 B 的元素逐个对应相除: A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个 是标量. A 和 B 的元素逐个对应相除: B(i,j)/A(i,j)两数组之间必须有相同的法 矩阵右除法 矩阵左除法 数组指数运算 A/B A\\B A.^B 形,或其中一个 是标量. 矩阵除法,等价于 A*inv(B), inv(B)是 B 的逆阵 矩阵除法,等价于 inv(B)*A, inv(A)是 A 的逆阵 AB 中的元素逐个进行如下运算 A(i,j)^B(i,j), A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个 是标量. 32、有两大类控制顺序结构:选择结构,用选择执行特定的语句;循环 结构,用于重复执行特定部分的代码。
33、程序设计的基本步骤如下:
1.清晰地陈述出你要解决的问题。
2.确定程序所需地输入量和程序所产生的输出量。 3.为你的程序设计算法 (伪代码) 4.将算法转化为 MATLAB 语句 5.调试 MATLAB 程序
34、有两 种形式的运算符可以在 MATLAB 中关系得到 true/false:关系运算符和逻辑运算符。 跟 C 语言一样,MATLAB 没有布尔型和逻辑数据类型。MATLAB 把 0 值作为结果 false,把所有的非 0 值作为结果 ture。
35、关系运算符也可用于标量与数组的比较。关系运算符也可比较两个数组,只要两个数组具有相同的大小。关系运算符也比较两个相同长度的字符串
36、符号==是一个比较运算符,返回一个逻辑数,而符号=是 将等号右边的表达式的值赋给左边的变量
37、如果它为 0,则其为 false。所以~5 的结果为 0,~0 的结果为 1。
38、标量和数组之间也可进行逻辑运算。两数组之间也可进行逻辑运算,只要它们具有相同的大小。
39、逻辑运算在所有的数学运算和关系运算之后进行。数学运算符>关系运算符>逻辑运算符
40、表达式中的运算顺序如下:
1.所有的数学运算按照前面描述的顺序的进行。 2.从左向右依次进行关系运算 3.执行所有~运算
4.从左向右依次进行&运算
5.从左向右依次进行|运算和数学运算一样,括号能够改变括号的默认顺序。
41、选择结构在 MATLAB 中有三种具体的形式:if 结构,switch 结构和 try/catch 结构。 42、对于有许多选项的选择结构来说,好在一个 if 结构中使用多个 elseif 语句,尽量不 用 if 的嵌套结构。
43、注意只有带有字符参数的函数才能当作命令。带有数字参数的函数只能被当作函数。 44、在同一坐标系内画出多个图象:
1.当 hold on 命令执行后,所有的新的图象 都会叠加在原来存在的图象。hold off 命令可恢复默认情况,用新的图象来替代原来的图 象。
2.我们用 figure 函数来选择当前窗口。这个函数的形式为“figure(n)”,其中 n 代表图象 数。当这个函数被执行后,图 n 将会变为当前图象,执行所有的画图命令。 3.gcf 函数用于当于返回当前图象数。
4. subplot 命令允许程序在一个图象窗中创建多个子图象。