资源描述:
《矩阵及字符串运算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、三MATLAB矩阵及运算3.1MATLAB矩阵的生成和修改3.1.1矩阵的生成1.直接输入数据当需要输入的矩阵维数比较小时,可以直接输入数据建立矩阵。矩阵数据(或矩阵元素)的输入格式如下:(1)输入矩阵时要以“[]”作为首尾符号,矩阵的数据应放在“[]”内部,此时MATLAB才能将其识别为矩阵;(2)要逐行输入矩阵的数据,同行数据之间可由空格或“,”分隔,行与行之间可用“;”或回车符分隔;(3)矩阵数据可为运算表达式;(4)矩阵大小可不预先定义;78(5)如果不想显示输入的矩阵(作为中间结果),可以在矩阵输入完成后以“;”结束
2、;(6)无任何元素的空矩阵也合法。【例3.1】a=[125]和a=[1,2,5]为同一矩阵;b=[3;2;5]和b=[325]为同一矩阵。【例3.2】建立矩阵并显示结果。>>X=[1,2,3;4,5,6;7,8,3*3]X=1234567892.由矩阵编辑器生成78MATLAB提供了一个矩阵编辑器,用户可以用来创建和修改比较大的矩阵。在使用矩阵编辑器之前,需要预先定义一个变量(任意的),如上例3.1所示的3×3矩阵X。接下来,按下列步骤进行操作:(1)选中所定义的变量,打开矩阵编辑器,如图3.1所示;(2)将文本框size中的
3、数据3by3改变成欲生成矩阵的行数和列数,回车后就能看到窗口中矩阵的维数立刻发生改变;图3.1(3)在窗口中矩阵元素的位置上输入或修改数据,回车后自动提示输入下一行矩阵元素的数据,矩阵元素的输入顺序是按列自动进行的;78图3.2(4)输入完成后,关闭编辑器,变量X就定义保存好了。3.由函数自动生成MATLAB提供了一些生成矩阵的函数,用户可以方便地用他们建立自己所需要的矩阵。(1)向量、行矩阵、列矩阵的自动生成用“起始值:增量值:终止值”的格式自动生成等差数列。【例3.3】>>x=(1:1:10)%78表示“起始值:增量值:终
4、止值”,增量为1时可表示成“起始值:终止值”,即x=(1:10)或x=1:10。x=12345678910>>x=1:1:10x=12345678910>>I=1:15I=123456789101112131415用“linspace(起始值:终止值:元素数目)”的格式自动生成等差数列;用“logspace78(起始值:终止值:元素数目)”的格式自动生成对数等分数列。【例3.4】>>y=linspace(30,50,11)y=3032343638404244464850列矩阵的生成格式如下:【例3.5】>>x=(1:1:10)
5、';>>y=linspace(90,95,6)'y=909192939495(2)其它矩阵的自动生成78MATLAB提供了许多特殊矩阵的生成函数,如零矩阵zeros(m,n),全部元素为1的矩阵ones(m,n),单位矩阵eye(n),随机矩阵rand(m,n)和魔方矩阵magic(n)等,利用这些矩阵可以生成所需要的矩阵。【例3.6】特殊矩阵的生成。>>a=[]%定义空矩阵,即0×0矩阵。a=[]>>zeros(2,2);%定义全为0的矩阵(2´2的阵列)。>>ones(3,3);%定义全为1的矩阵(3´3的阵列)。>>ra
6、nd(2,6)%定义随机矩阵(2´6的矩阵)。78ans=0.22590.76040.64050.37980.68080.56780.57980.52980.20910.78330.46110.7942>>rand(2,6)%第二次运行结果。ans=0.95010.60680.89130.45650.82140.61540.23110.48600.76210.01850.44470.7919>>magic(4)ans=78162313511108976124141513.1.2矩阵的修改1.矩阵元素的修改欲修改矩阵中某个元素的
7、数值,应该先确定该元素的位置,再用赋值语句来实现。根据矩阵的行列数和元素在矩阵中的存储顺序,可以确定出欲修改元素的位置。【例3.7】根据元素在矩阵中的存储顺序来确定矩阵元素的位置,再对元素的数值进行修改。>>a=[12345678];%定义一维1x8阵列,表示了8个元素,每个向量由一个分量构成。78>>x=[12345678;4567891011];%定义2×8矩阵,以分号“;”隔离各列元素,该矩阵表示了每个向量由2个分量构成的8个向量的多维空间>>x(3)%找出x的第三个元素,即该矩阵的元素(1,2)。ans=2>>x([1
8、25])%找出x的第一、二、五个元素,即2×8矩阵中的元%素(1,1)、(2,1)和(1,3)。ans=143>>x(1:5)%找出x的前五个元素即第1个到第五个元素。ans=1425378>>x(10:end)%x的第十个元素后的元素,包括第10个元素。ans=869710