资源描述:
《第二章MATLAB语言基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章MATLAB语言基础主要内容:(1)概述(2)创建向量(3)创建矩阵(4)向量和矩阵元素的索引(重点)(5)向量和矩阵的基本操作(重点)(6)多维数组1(1)概述数组:一组有序数的集合,下标是指数组元素在数组中的序号,每个元素有唯一的下标。向量:从编程语言的角度上看,向量其实就是一维数组;从数学的角度上看,向量就是1×N或者N×1的矩阵,即行向量或列向量;从物理意义上看,表示不仅有大小还有方向的量,与标量相对应。2矩阵:即线性代数中定义的矩阵的概念,一个二维的数据表,每个元素位于不同的行和列上,从编程语言的角度看,矩阵就是二维数组。MATLAB的基本运算单位就是矩阵和向量,M语
2、言是向量化编程的语言。MATLAB中的向量和矩阵都是使用1下标,而不是C语言中的零下标。MATLAB中矩阵元素是按列存储的,C语言中是按行存储的。3(2)创建向量直接输入法:行向量元素之间用空格(不论个数)或者逗号隔开,列向量元素之间用分号隔开.例:创建向量>>a=[13589]a=13589>>a=[1,3,5,6,9]a=13569>>b=[1;5;6;8;9]b=15689也可采用对行向量取转置的方法构造列向量4使用冒号运算符:一般格式为start:increment:end,分别表示初值、增量和终值。例:>>a=1:3:9a=147增量可以为负数>>a=10:-2:2a=10
3、8642增量缺省时默认为1>>b=1:6b=123456冒号运算符可以与直接输入法混用>>a=[256:8]a=256785使用向量生成函数linspace和logspace:使用linspace生成线性空间向量,均匀间隔的一组数;使用logspace生成对数空间向量,以10为底.例:>>a=linspace(1,10,6)a=1.00002.80004.60006.40008.200010.0000>>b=logspace(1,5,5)%指数之间均匀间隔b=101001000100001000006使用数组编辑器:交互式输入法,比较直观。还有其他办法吗?从已有向量或矩阵中计算得到;
4、从外部文件读入;7(3)创建矩阵直接输入法:一行中元素之间用逗号或者空格隔开,行与行之间用分号隔开。例:>>M=[123;456;789]M=123456789>>M=[1,2,3;4,5,6;7,8,9]M=1234567898还可以分行输入矩阵元素>>M=[123456789]M=1234567899使用矩阵生成函数:zeros,ones,eye,rand,randn,magic…例:全零矩阵>>M=zeros(3,3)M=000000000全1矩阵>>M=ones(3,4)M=11111111111110单位矩阵>>M=eye(3,3)M=1000100010~1之间均匀分布的
5、随机矩阵>>rand(3,4)ans=0.95010.48600.45650.44470.23110.89130.01850.61540.60680.76210.82140.791911零均值、方差为1的高斯分布矩阵>>M=randn(3,3)M=0.1746-0.58830.1139-0.18672.18321.06680.7258-0.13640.0593魔方矩阵(每行每列以及对角线上元素之和相同)>>magic(4)ans=16231351110897612414151此外,还有范德蒙矩阵、希尔伯特矩阵、托普利兹矩阵、帕斯卡矩阵等。12使用数组编辑器:交互式输入法,比较直观。还
6、有其他办法吗?从已有向量或矩阵中计算得到;从外部文件读入;13(4)向量和矩阵元素的索引一个元素的访问例:访问向量的一个元素>>a=[36928];>>a(2)%访问第二个元素,单下标ans=6>>a(end)%访问最后一个元素,单下标ans=814访问矩阵的一个元素>>M=[139;648;360]M=139648360>>M(2,2)%双下标ans=4>>M(6)%单下标ans=6>>M(end)%访问最后一个元素,单下标ans=015若干元素的访问(向量或者矩阵做下标)例:访问向量的若干元素>>a=[368241];>>a(1:3)%访问1~3个元素,单向量下标ans=368>
7、>a([135])%访问第1、3、5个元素,单向量下标ans=384>>a(end-1:end)%访问最后两个元素,单向量下标ans=4116访问矩阵的若干元素>>M=[368;345;126]M=368345126>>a([13;24])%使用矩阵做下标ans=3862>>a([1:3,3:-1:1])%重复访问向量元素,单向量下标ans=368863>>a(:)%访问向量所有元素ans=36824117>>M([12],[2,3])%访问第1、2行的第