1、MATLAB矩阵操作基础矩阵操作基础 MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程工程、科学计算科学计算和数学学科数学学科中许多问题。MATLAB建立在向量向量、数组数组和矩阵矩阵的基础上,使用方便,人机界面直观,输出结果可视化。矩阵矩阵是MATLAB的核心 MATLAB的进入与运行方式(两种)一、变一、变 量量 与与 函函 数数二、数二、数 组组三、三、矩矩 阵阵四、四、数值计算中常用函数数值计算中常用函数 1、变量、变量 MATLAB中变量的命名规则命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分
2、大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是 任意字母、数字或下划线,变量名中 不允许使用标点符号.一、变一、变 量量 与与 函函 数数特殊变量表特殊变量表2、数学运算符号及标点符号、数学运算符号及标点符号(1)MATLAB的每条命令后,若为逗号逗号或或无标点无标点符号,则显示命令的结果;若命令后为分号分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“.”表示续行.3、数学函数、数学函数x=logspace(first,last,n)创建从开始,到结束,有n个元素的对数分隔行向量.1、创建简单的数组、创建简单的数组二、数二、数 组组x=a b c
3、 d e f 创建包含指定元素的行向量x=first:last 创建从first开始,加1计数,到last结束的行向量x=first:increment:last 创建从first开始,加increment计数,last结束的行向量x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量 2、数组元素的访问数组元素的访问(3)直接使用元素编址序号直接使用元素编址序号.x(a b c d)表示提取数组x的第a、b、c、d个元素构成一个新的数组x(a)x(b)x(c)x(d).(2)访问一块元素访问一块元素:x(a:b:c)表示访问数组x的从第a个元
4、素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(1)访问一个元素访问一个元素:x(i)表示访问数组x的第i个元素.3 3、数组的方向、数组的方向 前面例子中的数组都是一行数列,是行方向分布的前面例子中的数组都是一行数列,是行方向分布的.称之为称之为行向量行向量.数组也可以是数组也可以是列向量列向量,它的数组操作和运,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示算与行向量是一样的,唯一的区别是结果以列形式显示.产生列向量有两种方法:产生列向量有两种方法:直接产生直接产生 例例 c=1;2;3;4 转置产生转置产生 例例 b=1 2 3 4;c=b
5、说明:以说明:以空格空格或或逗号逗号分隔的元素指定的是不同列的分隔的元素指定的是不同列的元素,而以元素,而以分号分号分隔的元素指定了不同行的元素分隔的元素指定了不同行的元素.4、数组的运算、数组的运算 (1)标量)标量-数组运算数组运算 数组对标量的加、减、乘、除、乘方是数组的每个数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算元素对该标量施加相应的加、减、乘、除、乘方运算.设:设:a=a1,a2,an,c=标量标量则:则:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c=a1/c,a2/c,an/c(右除)右除)
6、a.c=c/a1,c/a2,c/an(左除)左除)a.c=a1c,a2c,anc c.a=ca1,ca2,can(2)数组数组-数组运算数组运算 当两个数组有相同维数时,加、减、乘、除、当两个数组有相同维数时,加、减、乘、除、幂运算可按幂运算可按元素对元素元素对元素方式进行的,不同大小或维方式进行的,不同大小或维数的数组是不能进行运算的数的数组是不能进行运算的.设:设:a=a1,a2,an,b=b1,b2,bn则:则:a+b=a1+b1,a2+b2,an+bn a.*b=a1*b1,a2*b2,an*bn a./b=a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an
7、 a.b=a1b1,a2b2,anbn 返回返回三、三、矩矩 阵阵 逗号逗号或或空格空格用于分隔某一行的元素,用于分隔某一行的元素,分号分号用于区分不用于区分不同的行同的行.除了分号,在输入矩阵时,按除了分号,在输入矩阵时,按Enter键也表示开始键也表示开始一新行一新行.输入矩阵时,严格要求所有行有相同的列输入矩阵时,严格要求所有行有相同的列.例例 m=1 2 3 4;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 31、矩阵的建立、矩阵的建立特殊矩阵特殊矩阵的建立:.d=eye(m,n)产生一个产生一个m行、行、n列的单位矩阵列的单位矩阵c=ones(
8、m,n)产生一个产生一个m行、行、n列的元素列的元素 全为全为1的矩阵的矩阵b=zeros(m,n)产生一个产生一个m行、行、n列的零矩阵列的零矩阵a=产生一个空矩阵,当对一项操作无结产生一个空矩阵,当对一项操作无结 果时,返回空矩阵,空矩阵的大小为零果时,返回空矩阵,空矩阵的大小为零.2、矩阵中元素的操作、矩阵中元素的操作(1)矩阵)矩阵A的第的第r行:行:A(r,:),:)(2)矩阵)矩阵A的第的第r列:列:A(:,(:,r)(4)取矩阵)取矩阵A的第的第i1i2行、第行、第j1j2列构成新矩阵列构成新矩阵:A(i1:i2,j1:j2)(5)以逆序提取矩阵)以逆序提取矩阵A的第的第i1i2
9、行,构成新矩阵行,构成新矩阵:A(i2:-1:i1,:),:)(6)以逆序提取矩阵)以逆序提取矩阵A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:,j2:-1:j1)(7)删除)删除A的第的第i1i2行,构成新矩阵行,构成新矩阵:A(i1:i2,:,:)=(8)删除)删除A的第的第j1j2列,构成新矩阵列,构成新矩阵:A(:,:,j1:j2)=(9)将矩阵)将矩阵A和和B拼接成新矩阵:拼接成新矩阵:A B;A;B(3)依次提取矩阵)依次提取矩阵A的每一列,将的每一列,将A拉伸为一个列向量:拉伸为一个列向量:A(:)(:)(2)矩阵)矩阵-矩阵运算矩阵运算 1 元素对元素元素对元素的运算,
10、同数组的运算,同数组-数组运算。数组运算。3、矩阵的运算、矩阵的运算(1)标量)标量-矩阵运算矩阵运算 同标量同标量-数组运算。数组运算。2矩阵运算:矩阵运算:矩阵加法:矩阵加法:A+B矩阵乘法:矩阵乘法:A*B方阵的行列式:方阵的行列式:det(A)方阵的逆:方阵的逆:inv(A)方阵的特征值与特征向量:方阵的特征值与特征向量:V,D=eigA关系与逻辑运算关系与逻辑运算 1、关系操作符、关系操作符2、逻辑运算符逻辑运算符4、数值计算中常用函数数值计算中常用函数解线性方程组命令:格式:变量=矩阵 向量x=Ab可得x=A1b。矩阵LU分解命令:lu格式:变量,变量=lu(矩阵)L,U=lu(A
11、)可得L是主对角线元素等于1的下三角阵(可行交换),U是上三角阵。Cholesky分解命令:chol格式:变量=chol(正定矩阵)C=chol(A)可得C是上三角阵,使得CTC=正定矩阵A一维插值函数:yi=interp1(x,y,xi,method)插值方法被插值点插值节点xi处的插值结果nearest:最邻近插值linear:线性插值;spline:三次样条插值;cubic:立方插值。缺省时:分段线性插值。注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。4、数值计算中常用函数数值计算中常用函数 要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值
12、分别不能超出x0,y0的范围。z=interp2(x0,y0,z0,x,y,method)被插值点插值方法插值节点被插值点的函数值nearest 最邻近插值linear 双线性插值cubic 双三次插值缺省时,双线性插值4、数值计算中常用函数数值计算中常用函数4、数值计算中常用函数数值计算中常用函数多项式插值和拟合命令:polyfit格式:变量=polyfit(向量,向量,变量)p=polyfit(x,y,n1)可得p是n对数据(x,y)的n1次插值多项式的系数向量注:次数也可以不是n1,当小于n1时,得相应次数的最小二乘估计。样条插值和拟合命令:spline格式:变量=spline(向量,向
13、量,变量)yy=spline(x,y,xx)或 p=spline(x,y);yy=ppval(p,xx)可得yy是对数据(x,y)的三次样条插值函数在xx的值4、数值计算中常用函数数值计算中常用函数多项式的根命令:roots格式:变量=roots(向量)r=roots(p)可得r是多项式p的全部根一维非线性方程命令:fzero格式:变量=fzero(函数,变量)x=fzero(fun,x0)可得x是函数fun在x0附近的零点多维非线性方程命令:fsolve格式:变量=fsolve(函数,向量,optimset(fsolve)x=fsolve(fun,x0,optimset(fsolve)可得x是一组函数fun在x0附近的零点4、数值计算中常用函数数值计算中常用函数一维数值积分命令:quad 或 quad8格式:变量=quad8(函数,变量,变量)I=quad8(fun,a,b)可得I是函数fun在a,b上的积分二重积分命令:dblquad格式:变量=dblquad(函数,变量,变量,变量,变量)I=quad8(fun,a,b,c,d)可得I是二元函数fun在区域a x b,c y d上的二重积分
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1