资源描述:
《Matlab矩阵和数组的操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二讲矩阵和数组的操作矩阵的建立矩阵的保存和调用矩阵的拆分多维矩阵矩阵的运算字符与字符串一矩阵的建立直接输入法利用M文件建立矩阵利用矩阵编辑器MatrixEditor完成输入和修改利用MATLAB函数建立矩阵建立大矩阵1.直接输入法将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。>>A=[163213;510118;…96712;415141]A=163213510118967124151412.利用文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文
2、件。例:利用M文件建立A矩阵。(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.(2)把输入的内容存盘(设文件名为mymatrix.m)。(3)运行该M文件,就会自动建立一个名为A的矩阵,可供以后使用。A=[...16.03.02.013.05.010.011.08.09.06.07.012.04.015.014.01.0](2)存为:mymatrix.m(3)运行:mymatrix(1)MATLAB程序编辑器中输入:(一)利用MATLAB程序编辑器:编辑一个文本文件:16.03.02.013.05.010.011.0
3、8.09.06.07.012.04.015.014.01.0(2)装入该文本文件:loadmymatrix.dat或者:loadmymatrix.txt(3)创建一个变量名为mymatrix的矩阵(二)利用其它文本编辑器:(文本或二进制格式)将以文本或二进制格式存储的数据读入MATLAB的另一种方式是用ImportWizard.File→ImportData3.利用矩阵编辑器ArrayEditor先在命令窗口输入:>>A=1在Workspace窗口,双击该变量,打开矩阵编辑器,进行输入和修改。4.利用MATLAB函数建立矩阵几个产生
4、特殊矩阵的函数:zeros、ones、eye、rand、randn。这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m)产生m×m零矩阵zeros(m,n)产生m×n零矩阵。zeros(size(A))产生与矩阵A同样大小的零矩阵相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A));ndims(A)给出A的维数,size(A)多维矩阵各维长度>>Z=zeros(2,4)Z=00000000>>R=randn(4,4)R=1.0668
5、0.2944-0.6918-1.44100.0593-1.33620.85800.5711-0.09560.71431.2540-0.3999-0.83231.6236-1.59370.6900>>F=5*ones(3,3)F=555555555>>N=fix(10*rand(1,10))N=4944852680此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵,其元素是以列的方式从A中获得,A必须包含m×n个元素。>>A=16321351011896712415141
6、>>reshape(A,2,8)ans=169362713125410151114815.建立大矩阵大矩阵可由方括号中的小矩阵建立起来。例如:>>A=[123;456;789];>>C=[A,eye(size(A));ones(size(A)),A]C=1231004560107890011111231114561117896冒号表达式冒号表达式的一般格式:e1:e2:e3还可以用linspace函数产生一个线性间隔的行向量:linspace(a,b,n):a,b,n:初值,终值,点数linspace(a,b,n)与a:(b-a)/
7、(n-1):b等价。linspace用于产生一个等差数列,括号里三项分别表示起始值、终止值和元素数目;logspace用于产生一个对数间隔行向量(等比数列),b=logspace(0,4,5),表示产生一个起始值为100,终止值为104,元素数目为5的等比数列.>>X=10:20>>X=0:0.1:0.5>>X=linspace(0,pi,11)或>>X=linspace(0,1,11)*piX=Columns1through700.31420.62830.94251.25661.57081.8850Columns8through1
8、12.19912.51332.82743.1416二矩阵的保存和调用savemydataAXloadmydata系统自动沿设定好的路径以”.mat”格式存储文件savefile='mydata.mat';save(savefile,'