预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共74页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2讲MATLAB矩阵及其运算2.1变量和数据操作2.赋值语句(1)变量=表达式 MATLAB中变量不需要预先声明,可以直接通过赋值表达式定义。(2)表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。例2-1计算表达式的值,并显示计算结果。在MATLAB命令窗口输入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))其中pi和i都是MATLAB预先定义的变量,分别代表代表圆周率π和虚数单位。输出结果是:z=-0.3488+0.3286i2.1.2预定义变量常见编程错误: 不要重定义有意义的预定义变量。否则将后患无穷,制造成出小而难以发现的错误 特别是不要用i和j做循环变量2.1.3内存变量的管理保存变量2.1.4常用数学函数使用说明: 三角函数以弧度为单位计算。 abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。 用于取整的函数有fix、floor、ceil、round,要注意它们的区别。 rem与mod函数的区别。 函数的自变量可以为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。2.1.5变量的数据类型数值型变量默认是double型,matlab中绝大多数的算术运算只支持double型,即对非double型的数据必须转化为double型运算 例:比较下列语句的运行结果 a=pi a=int8(pi) a=double(int8(pi)) a=‘pi’ a=char(pi+94) a=logical(pi) 2.1.5数据的输出格式改变默认输出格式要用到format命令,可根据表2.3改变数据的输出格式disp函数 disp需要一个数组参数,它将值将显示在命令窗口(TheCommandWindows)中。如果这个数组是字符型(char),那么包含在这个数组中的字符串将会打印在命令窗口(TheCommandWindows)中。 例:str=['thevalueofpi=‘num2str(pi)]; disp(str);用fprintf函数格式化输出数据 格式:fprintf(format,data) 其中format用于代表一个描述打印数据方式的子符串,data代表要打印的一个或多个标量或数组。 例:函数fprintf('Thevalueofpiis%6.2f\n',pi) fprintf函数有一个重大的局限性,只能显示复数的实部。 2.1.6用户输入语句2.2MATLAB矩阵2.利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值,如果步长为1,则可省略. 在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。3.特殊矩阵 常用的产生通用特殊矩阵的函数有: zeros:产生全0矩阵(零矩阵)。 ones:产生全1矩阵(幺矩阵)。 eye:产生单位矩阵。 rand:产生0~1间均匀分布的随机矩阵。 randn:产生均值为0,方差为1的标准正态分布随机矩阵。其它特殊矩阵 (2)范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。 函数vander(V)生成以向量V为基础向量的范得蒙矩阵。 例如,A=vander([1;2;3;5]) (3)希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。 (4)托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。 toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x,y均为向量,两者不必等长。 toeplitz(x)用向量x生成一个对称的托普利兹矩阵。 例如:T=toeplitz(1:6) 2.2.2矩阵结构操作 1.矩阵元素引用: 通过下标(Index)引用矩阵的元素,例如A(3,2)=200采用矩阵元素的序号(Subscript)来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。 在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。 例如:A=[1,2,3;4,5,6