资源描述:
《《MATLAB的运算基础》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三讲MATLAB的运算基础1.简单的数学运算常用的数学运算符+,—,*(乘),/(左除),(右除),^(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj等elfun函数库中提供一系列复数函数real复数的实数部分real(b)imag复数的虚数部分imag(b)abs绝对值
2、或模abs(b)angle幅角angle(b)结果为弧度angle(b)*180/pi结果为角度conj复数共轭conj(b)在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>>(5*2+1.3-0.8)*10/25ans=4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer),并显示其数值于屏幕运算是定义在数据结构上的,数组是其中最重要的一种数据类型。MATLAB的基本运算单元是复数矩阵,标量、向量、常数矩阵都是其中的
3、特例。注意:在运算时,数组与矩阵有显著不同,矩阵运算是从矩阵整体出发;数组运算时从数组的元素出发。矩阵的建立可以通过赋值语句实现,赋值符号左边为变量名,右边为矩阵元素。矩阵元素应用方括号([])括住。》y=[2,4,5368]y=2453682.1矩阵的输入2.MATLAB矩阵运算》a=1;b=2;c=3;》x=[5bc;a*ba+cc/b]x=5.0002.0003.0002.0004.0001.500a.在命令窗口中输入矩阵生成不但可以使用数字(含复数),也可以使用变量(或者说采用一个表达式),表达式可以由数字、变量、
4、运算符和函数等组成。矩阵同行内的元素间用逗号或空格隔开,行与行之间用分号,矩阵的元素直接排列在方括号内,大的矩阵可以用分行输入,回车键代表分号。例在命令窗口输入语句x=[-1.31+2+3sqrt(5)]%sqrt是求平方根函数按回车键,指令被执行,MATLAB命令窗中显示以下结果x=-1.30006.00002.2361(1)用线性等间距生成向量矩阵(start:step:end)》a=[1:2:10]a=13579其中start为起始值,step为步长,end为终止值。当步长为1时可省略step参数;另外step也可以
5、取负数。b.语句生成(2)a=linspace(n1,n2,n)在线性空间上,行矢量的值从n1到n2,数据个数为n,缺省n为100。》a=linspace(1,10,10)a=12345678910(4)函数库elmat提供的常用的特殊矩阵生成函数单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量V=[a1,a2,…,an]A=diag(V)随机矩阵:rand(m,n)产生一个0、1间均匀分布的m×n的随机矩阵,rand(m
6、)(3)a=logspace(n1,n2,n)在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个指令为建立对数频域轴坐标提供了方便。》a=logspace(1,3,3)a=101001000>>eye(3,4)ans=100001000010>>zeros(2)ans=0000>>ones(3,2)ans=111111>>diag([236])ans=200030006>>rand(2,3)ans=0.95010.60680.89130.23110.48600.7621>>(5)用于专门学科的特
7、殊矩阵魔方矩阵magic(n)功能:魔方矩阵的元素由1到n×n的自然数组成,魔方矩阵的每行、每列及两条对角线上的元素和都相等。其每行、每列及对角线上的元素之和均等于(n3+n)/2。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。m1=magic(2)%产生2阶魔方阵m2=magic(3)%产生3阶魔方阵>>m=magic(3)m=816357492>>范得蒙矩阵vander(V)生成以向量V为基础向量的范得蒙矩阵,矩阵元素最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以
8、用一个指定向量生成一个范得蒙矩阵。v1=vander([1;2;3;5])v2=vander(1:3)v3=vander(1:4)v1=11118421279311252551v2=111421931v3=1111842127931641641希尔伯特矩阵hilb(n)生成n阶的希尔伯特矩阵invhil