资源描述:
《数组的运算基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章数组的运算基础几点说明:MATLAB运算的基本单元是实数或复数元素组成的长方形矩阵,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的。变量与常量:1*1矩阵一维数组:1*n矩阵N维行向量:1*n矩阵N维列向量:n*1矩阵在MATLAB中,不需对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。基本运算单元-矩阵要用MATLAB做矩阵运算,首先要将矩阵直接输入到MATLAB中去,其中最方便的是将矩阵直接输入。矩阵的输入须遵循以下规则:必须用中括号[]把所有矩阵元素括起来。同一行的不同元素
2、之间数据元素用空格或逗号(,)间隔。用分号(;)指定一行结束。也可分成几行输入,用回车代替分号。数据元素可是数值、变量、表达式或函数,系统将自动计算。一、矩阵的构造方法一直接输入例1>>A=[1,2,3,4;5678;9101112;13141516]注意逗号、空格和分号的用法>>B=[1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,154abs(-8)1216]例2分成几行输入,用回车代替分号例3>>a=1;b=2;c=3;>>x=[5bc;a*ba+cc/b]元素是表达式格式1x=firs
3、t:last或x=[first:last]创建从first开始,加1计数,到last结束的行向量方法二利用线性等间距生成向量矩阵X=12345678910ans=12345678910>>X=1:10%增量为1例>>[1:10]例赋给MATLAB的永久变量ansX=[1,2,3,4,5,6,7,8,9,10]格式2x=first:increment:last或x=[first:increment:last]创建从first开始,加increment计数,到last结束的行向量ans=10093867972655851当inc
4、rement>0为不大于last的最小数,当increment>0为不小于last的最大数ans=00.78541.57082.35623.1416例>>100:-7:50%增量为-7例>>[0:pi/4:pi]%增量为pi/4例>>a=linspace(2,9,6)a=2.00003.40004.80006.20007.60009.0000方法三利用函数生成格式1linspace(a,b,n)创建从a开始,到b结束,有n个元素的线性等分行向量,n缺省值为100。例>>a=logspace(-1,-3,3)a=0.10000
5、.01000.0010方法三利用函数生成格式2logspace(a,b,n)创建从10a开始,到10b结束,有n个元素的线性等分行向量,n缺省值为50。注意:将a到b平均分成n等分,设分点是x1,…,xn,方法四利用内部函数产生函数功能eye(m,n)产生m*n维单位矩阵zeros(m,n)产生全部元素为0的m*n矩阵ones(m,n)产生全部元素为1的m*n矩阵[]产生空矩阵magic(n)产生n阶方阵,各行各列及对角线元素和相等rand(m,n)元素服从0到1之间均匀分布的随机m*n矩阵diag(a)以向量a作为对角线元
6、素生成对角矩阵方法五利用M文件产生三、多维矩阵(数组)的创建以三维矩阵为例。三维矩阵由行、列和页组成,第三维称为页,每一页包含一个由行和列组成的二维数组。例要求输入一个2行、2列、3页的三维矩阵,其第1、2、3页元素分别为:>>a=zeros(3,2,3);>>a(:,:,1)=[11;33;20];>>a(:,:,3)=4;如未对某元素、某行或某页赋值,其值为0四、生成大矩阵在组成较大矩阵时,可以将小矩阵作为它的元素。左右拼装(要求矩阵的行数相同)>>A=[123;456];>>B=[7;8];>>C=[AB]例>>D=[
7、789]>>E=[A;D]上下拼装(要求矩阵的列数相同)例>>A=[123;456];>>D=[789];>>E=[A;D]第二节矩阵的操作一、矩阵元素的操作A(m,n):第m行,第n列元素>>A(2,3)ans=6A(m,:):第m行元素(冒号表示全部)>>A(2,:)ans=456A(:,n):第n列元素>>A(:,3)ans=369A(m1:m2,n1:n2):第m1行到第m2行和第n1列到第n2列的所有元素。>>A(1:2,2:3)ans=2356A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。>>A(:
8、)ans=147258369矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零(变维结构)。>>A(5,5)=10A=12300456007890000000000010删除子块:如果将矩阵的子块