Matlab基础知识点 - 图文(2)

2019-08-26 17:23

MatLab讲义 2002年9月版

(4,4) 7

sparse(i,j,u):函数直接造成稀疏矩阵,i,j为向量分别对应行号和列号,u也为向量,存储非元素的值.

i=[1,2,2,3,4] j=[2,2,4,1,4] u=[1,3,4,5,7] A=sparse(i,j,u)

full函数把稀疏矩阵还原为完全矩阵。 (5)数组及其运算:

数组可以看作是行向量,实质为阵列运算。是元素对元素的运算,用句号(.)来区别。 数组和矩阵之间的区别在于运算规则不同,矩阵运算由线性代数规则来定义。 运算符:+,-和.*, ./, .\\,.^ A.*B:A与B对应的元素相乘 A.\\B:B的元素除以A的相应元素 A./B: A的元素除以B的相应元素

A.^B:A的元素为底,B的相应元素为幂的数组 如:a=[1:3;4:6;7:9] b=a; c=a+b; c=a-b 查看下列运算的结果:

a*b a.*b a/b a./b a\\b a.\\b a^b(指数和底数均为矩阵,无法求解) a.^b a? a.?

2.3 基本数学函数

abs(绝对值或复数模) sqrt (平方根) real(复数的实部) imag (复数的虚部) conj(复数的共轭)

round (舍入为最接近的整数) //round(-0.5)=-1 round(0.4)=0 fix (向0方向舍入为整数) //fix(0.99)=0 fix(1.01)=1 floor (向负无穷大舍入为整数) //floor(-0.5)=-1 floor(0.5)=0 ceil (向正无穷大舍入为整数) //ceil(-0.5)=0 ceil(0.6)=1 sign (符号函数)

rem(x,y) (取余数函数) //得到x/y的余数,rem(11,4)=3

sin cos tan asin atan //三角函数都是面向阵列中的元素操作,角度单位均为弦度。 atan2(y,x) //-pi <= atan2(y,x) <= pi sinh (双曲正弦) cosh tanh exp (以e为底的指数) log (自然对数) log10 (常用对数) bessel (贝塞尔函数) gamma (伽码函数)

rat (无理数的分式有理逼近)[N, D] = rat(x,tol), 要求:abs(x-N/D)<=tol*abs(x), tol的缺省值为tol = 1.e-6*norm(X(:),1) 其中:norm( X ( : ),1) = max(sum(abs((X))))

2.4 关于矩阵的一些有用的工具

产生矩阵的工具: ? ?[]?表示空矩阵

空矩阵不包含任何元素,它的维数为0*0;空矩阵可以在运算中传递。 例:A=[1,2,3;4,5,6;7,8,9] A(2,:)=[]

6

MatLab讲义 2002年9月版

输出: A=

1 2 3 7 8 9

空矩阵有矩阵缩维的作用。

? eye:单位矩阵:对角线元素为1。 A=eye(3,3) A=

1 0 0 0 1 0 0 0 1

? zeros:所有的元素都是0

Z = zeros(2,4) Z =

0 0 0 0 0 0 0 0

? ones:所有的元素都是1

Z= 5*ones(3,3) Z =

5 5 5 5 5 5 5 5 5

? rand: 矩阵元素是用均匀分布在[0.0,1.0]内产生的随机数 ? rand(n):产生一个n阶(0-1)的随机矩阵

Z=rand(3) Z =

0.1094 0.6599 0.1785 0.9888 0.3514 0.3573 0.5860 0.8495 0.5347

rand(m,n): 产生一个m*n阶(0-1)的随机矩阵

Z=rand(1,6) Z =

0.5976 0.4628 0.7678 0.5902 0.3969 0.1927

产生[-a,a]之间均匀分布的随机数的公式:R=a-2*a*rand(m,n) ? randn:矩阵元素是用期望为0,方差为1的正态分布产生的随机数

Z=randn(3) Z =

-0.4326 0.2877 1.1892 -1.6656 -1.1465 -0.0376 0.1253 1.1909 0.3273

产生均值为b,方差为q2的正态分布随机数的公式:S=q*randn(m,n)+b ? 其它特殊矩阵:

例:a=[1 2 3;4 5 6;7 8 9]

1.diag(a) %% 生成矩阵a的对角矩阵 ans = 1 5 9

2.compan:伴随矩阵 例:

u = [1 0 -7 6]

7

MatLab讲义 2002年9月版

A = compan(u) A =

0 7 -6 1 0 0 0 1 0

eig(compan(u)) ans = -3.0000 2.0000 1.0000 即方程的根。

3.magic:魔方矩阵(矩阵的元素由1~10组成,行、列和对角线之和相等) 例:magic(5) ans =

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

4.tril(a) %% 生成矩阵a的下三角矩阵 ans =

1 0 0 4 5 0 7 8 9

5.triu(a) %%生成矩阵a的上三角矩阵 ans =

1 2 3 0 5 6 0 0 9 注:1.下标引用:

在Matlab中,矩阵元素的引用可用两个下标来表示,如矩阵A中,第i行第j列的元素用A(i,j)引用,也可以用一个下标来表示,用单个下标表示元素并不只限于矢量。对于矩阵,由于Matlab的运算基本上都是对列操作的,矩阵可以认为是按列优先排列的一个长的列矢量,从而可用单下标引用。

例如2*2的矩阵,A(1)表示第一列的第一个元素,A(2) 表示第一列的第二个元素,A(3)表示第二列的第一个元素,A(4)表示第二列的第二个元素,当矩阵的下标超出矩阵的实际元素的下标时,将给出错误信息。但是,当某个值被赋给矩阵的一个新的元素时,Matlab会自动增加矩阵的维数大小。例如4*4的矩阵A,执行命令A(4,5)=17后,矩阵A将变成4*5的矩阵。

在下标的表达式里使用冒号表示矩阵的一部分。例如矩阵A(1:k,j)表示矩阵A的第j列的前k个元素。例如sum(a(1:4,4)),表示计算第四列的前四个元素元素的和。

A(:,j)表示矩阵A的第j列的所有元素。由于有了冒号运算符,例如求矩阵A的第j列元素之和 ,表示式为sum(A(:,j)。

2.如何建立多维矩阵:

在科学研究与工程运算中,要建立多维矩阵,方法之一是扩展二维矩阵。 例:先建立一个简单的二维矩阵: a=[5 7 8;0 1 9;4 3 6] 为a矩阵扩展第三维

a(:,:,2)=[1 0 4;3 5 6;9 8 7]

方法之二,使用cat函数。它将现有的矩阵按照指定的维数建立新的多维矩阵。 B=cat(dim,A1,A2,...)

例:b=cat(3,[2 8;0 5],[1 3;7 9])

8

MatLab讲义 2002年9月版

2.5 复杂的矩阵运算

一些矩阵运算:

size(A): 得到矩阵的阶,得到矩阵的n行m列. rank(A): 得到矩阵的秩 det(A): 行列式

eig(A): 特征值和特征向量 e=eig(A) 得到特征值 [v,d]=eig(A): A*v=v*d

svd(A): 矩阵的奇异值分解[u,s,v]=svd(A), u,v正交阵,s对角阵,A=usv? cond(A):得到矩阵的条件数 (最大奇异值和最小奇异值的比值) lu(A): LU分解(A必须是一个方阵)

[l,u]=lu(A): u上三角阵,l:一个下三角阵和一个置换矩阵的积 [l,u,p]=lu(A):u上三角阵,l:下三角阵,p:置换矩阵 qr(A): QR分解

[q,r]=qr(A):r:上三角阵,q:正交阵

2.6 矩阵输出格式

格式命令(数字)

X=[4/3 1.2345e-6];

format short:以定点数形式显示,小数后面保留4位有效数字

X X =

1.3333 0.0000

format short e:以浮点数形式显示,小数后面保留4位有效数字

X X =

1.3333e+000 1.2345e-006

format short g:以定点数或浮点数的最佳形式显示,小数后面保留4位有效数字

X X =

1.3333 1.2345e-006

format long:以定点数形式显示,小数后面保留14位有效数字

X X =

1.33333333333333 0.00000123450000

format long e 以浮点数形式显示,小数后面保留14位有效数字

X X =

1.333333333333333e+000 1.234500000000000e-006

format long g 以定点数或浮点数的最佳形式显示,小数后面保留14位有效数字

X X =

1.33333333333333 1.2345e-006

format bank 以货币方式显示

X X =

1.33 0.00

format rat 用有理数近似表示

X X =

4/3 1/810045

9

MatLab讲义 2002年9月版

format hex 用16进制表示

X X =

3ff5555555555555 3eb4b6231abfd271

format compact 以紧凑形式显示 (format loose 以松散形式显示)

X X =

3ff5555555555555 3eb4b6231abfd271

长命令行 用“…”来表示连接

第三章 图形

在分析问题的结果的时候,图形往往是一种很有用的工具,它可以帮助我们直观地了解结果的某些性态。Matlab提供了很强的图形功能,能够在根据向量或矩阵给定数据来生成图形。

Matlab图形有数据可视化和图形处理两大功能,在数据的可视化部分,Matlab可使用户计算所得的数据根据其不同情况转化成相应的图形。用户可以选择直角坐标、极坐标等不同的坐标系;它可以表现出平面曲线、空间曲线,绘制直方图、向量图、柱状图及空间网状面图、空间表面图等。

图形函数有4种:

通用图形函数、二维图形函数、三维图形函数、特殊图形函数. 建立一个图形的步骤: 步 骤 典型代码 1)准备数据 x=0:0.2:12 y1=bessel(1,x); y2=bessel(2,x); y3=bessel(3,x); 2)选择窗口,决定绘图位置 figure(1) subplot(2,2,1) 3)调用基本绘图函数 h=plot(x,y1,x,y2,x,y3); 4)设置绘图线条样式和标记 set(h,'LineWidth',2,{'LineStyle'},... {'--';':';'-.'} set(h,{'Color'},{'r';'g';'b'}) 5)设置坐标轴范围、刻度和栅格线 axis[0 12 -0.5 1]) grid on 6)标记图形坐标轴、图形图例以及其它文字 xlable('Time') ylable('Amplitude') legend(h,'First','Second','Third') title('Bessel Functions)' [y,ix]=min(y1); text(x(ix),y,'First Min\\rightarrow'... 'HoizontalAlignment','right') 7)打印图形 print -dps2 3.1 图形窗口

图形窗口(Figure Window)是所有Matlab的图形输出的专用窗口。figure:用来打开一个绘图窗口,以供后续绘图命令输出图形。

创建图形窗口的命令:figure 两种格式:figure figure(n)

图形窗口的名称是按照该窗口创建的时间顺序依次命名的:Figure No.1,Figure No.2.....Figure No.n,命令figure将创建一个名为figure No.n+1的新的空白图形窗口,而figure(n)命令则若figure

10


Matlab基础知识点 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:知识产权专业大学毕业实习周记原创范文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: