计算物理-chapter-02

上传人:n**** 文档编号:93423916 上传时间:2019-07-22 格式:PPT 页数:18 大小:294.50KB
返回 下载 相关 举报
计算物理-chapter-02_第1页
第1页 / 共18页
计算物理-chapter-02_第2页
第2页 / 共18页
计算物理-chapter-02_第3页
第3页 / 共18页
计算物理-chapter-02_第4页
第4页 / 共18页
计算物理-chapter-02_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《计算物理-chapter-02》由会员分享,可在线阅读,更多相关《计算物理-chapter-02(18页珍藏版)》请在金锄头文库上搜索。

1、第2章 Matlab基础,本章学习目标,熟悉Matlab的基本操作命令; 掌握Matlab编程的基本方法。,Matlab是英文Matrix Laboratory(矩阵实验室)的缩写, 它是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算软件。 Matlab的第1版( DOS1.0 )发行于1984年, 经过20多年的发展,现已推出7.x 版。,2.1 Matlab基本操作,(1) 向量和矩阵的创建,向量和矩阵的运算是Matlab的基础, 向量可以看作特殊的矩阵。 向量和矩阵元素必须用“ ” 括起来, 各元素之间用 空格、逗号(生成行向量或分隔矩阵同一行内的不同元素) 分号分隔

2、(生成列向量或分割矩阵的不同行)隔开, 如 a=1 2 3; 4 5 6 b=1, 2, 3; 4, 5, 6 a= b= 1 2 3 1 2 3 4 5 6 4 5 6 向量还可以用如下形式生成: x=0: 0.2: 1; ( 从0到1每隔0.2生成一个数) x=0 0.2 0.4 0.6 0.8 1.0,符号的作用 Matlab中的复数用如下形式表示: x=2+3*i y=5+6*j ( i和j为虚数单位) 逗号和分号可作为指令间的分隔符, Matlab允许多 条语句在同一行出现; x=0:0.01:4*pi; plot(x,sin(x) 分号如果出现在指令后, 屏幕上将不显示结果; x=

3、pi/3; sin(x); 当一个指令或矩阵太长时,可用 “” 续行, 如 f=x*sin(x)+exp(-x)+20/x2; f=x*sin(x)+exp(-x)+ 20/x2;,用Matlab函数创建矩阵 linspace(a,b,n) 在a到b之间产生等间隔矢量; logspace(a,b,n) 产生等对数间隔矢量; zeros(m,n) 产生mn的零矩阵; eye(m) 产生mm的单位矩阵; ones(m,n) 产生mn的全部元素都为1的矩阵; rand(m,n) 产生0到1均匀分布的mn随机矩阵; randn(m,n) 产生高斯分布(=0,=1)随机矩阵; blkdiag(a,b,.

4、,c) 创建以输入元素a,b,.,c为对角元的矩阵; diag(a b c) 功能同blkdiag; magic(n) 创建魔方矩阵; x=linspace(1,3,5) y=eye(4) x= y= 1.0 1.50 2.00 2.50 3.00 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1, x=logspace(0,2,5) y=ones(3,4) x= y= 1 3.1623 10 31.6228 100 1 1 1 1 log(x)= 1 1 1 1 0 1.1513 2.3026 3.4539 4.6052 1 1 1 1 rand(3,4) ans= 0.921

5、8 0.4057 0.4103 0.3529 0.7382 0.9355 0.8936 0.8132 0.1763 0.9169 0.0579 0.0099 blkdiag(1,2,3) magic(3) ans= ans= 1 0 0 8 1 6 0 2 0 3 5 7 0 0 3 4 9 2,(2) 矩阵的操作,矩阵元素的提取 A(m,n) 矩阵A的第m行第n列对应的元素; A(m,:) / A(:,n) 矩阵A的第m行/n列; tril(A,m) 矩阵A第m条对角线及其以下的元素; triu(A,m) 矩阵A第m条对角线及其以上的元素; diag(A,p) 矩阵A的第m条对角线的元素;

6、A=rand(4); A=0.8998 0.6602 0.5341 0.5681 0.8216 0.3420 0.7271 0.3704 0.6449 0.2897 0.3093 0.7027 0.8180 0.3412 0.8385 0.5466 a1=A(2,:) a2=tril(A,1) a3=diag(-1), A=rand(4); A=0.8998 0.6602 0.5341 0.5681 0.8216 0.3420 0.7271 0.3704 0.6449 0.2897 0.3093 0.7027 0.8180 0.3412 0.8385 0.5466 a1=A(2,:) 0.82

7、16 0.3420 0.7271 0.3704 a2=tril(A,1) 0.8998 0.6602 0 0 0.8216 0.3420 0.7271 0 0.6449 0.2897 0.3093 0.7027 0.8180 0.3412 0.8385 0.5466 a3=diag(-1) 0.8216 0.2897 0.8385,矩阵元的修改 A(m,n)=a0 用a0替代矩阵A的第m行第n列的元素; A(m,:)=a0 / A(:,n)=a0 用a0替代矩阵A的第m行/n列的元素; A=1 2 0;3 0 5;7 8 9 A =1 2 0 3 0 5 7 8 9 A(2,2)=9; A(2

8、,:)=6 A =1 2 0 A=1 2 0 3 9 5 6 6 6 7 8 9 7 8 9 subs(A,a1,a2) syms x0 x1 x2 x3 x4; A=x1 x2 x3 x4; subs(A,x2,x0) ans= x1 x0 x3 x4,矩阵变换 rot90(A,k) 逆时针矩阵旋转 k90 ; fliplr(A) 矩阵左右翻转; flipud(A) 矩阵上下翻转; A=1 2 0;3 0 5;7 8 9; rot90(A,1) A = ans = 1 2 0 0 5 9 3 0 5 2 0 8 7 8 9 1 3 7 fliplr(A) flipud(A) ans= ans

9、= 0 2 1 7 8 9 5 0 3 3 0 5 9 8 7 1 2 0,矩阵分解 三角分解(LU分解、Doolittle分解): 方阵分解为上三角阵与下三角阵; L,U=lu(A) L*U=A 正交分解(QR分解): 矩阵分解为单位正交阵与上三角阵; Q,R=qr(A) Q*R=A, Q=inv(Q) Cholesky分解(矩阵A对称且正定):A=R*R, R为上三角阵; R=chol(A) 奇异值分解:A=U*S*V (奇异值:AA特征值的平方根) U,S,V=svd(A) V=inv(V), S的对角元为A的奇异值 Schur分解: A=U*T*U , U为正交矩阵, T为Schur矩

10、阵; U,T=schur(A) T为上三角阵, 其对角元为A的特征值 若A对称, 则T为对角矩阵 Hessenberg分解: A=P*H*P, P为酉矩阵,H为Hessenberg矩阵; P,H=hess(A) H为第 -1 子对角线以下元素为零的矩阵 若A对称, 则H为三对角矩阵, A=rand(4); A= 0.8381 0.8318 0.3046 0.3028 0.0196 0.5028 0.1897 0.5417 0.6813 0.7095 0.1934 0.1509 0.3795 0.4289 0.6822 0.6979 L,U=lu(A) L = 1.0000 0 0 0 0.02

11、34 1.0000 0 0 0.8129 0.0690 -0.1273 1.0000 0.4528 0.1082 1.0000 0 U = 0.8381 0.8318 0.3046 0.3028 0 0.4833 0.1825 0.5346 0 0 0.5246 0.5030 0 0 0 -0.0681,将方阵分解为上三角阵与下三角阵; L,U=lu(A),其中 L*U=A, A=rand(4); A= 0.8381 0.8318 0.3046 0.3028 0.0196 0.5028 0.1897 0.5417 0.6813 0.7095 0.1934 0.1509 0.3795 0.428

12、9 0.6822 0.6979 Q,R=qr(A) Q = -0.7320 0.0686 -0.1872 -0.6515 -0.0172 -0.9946 -0.0813 -0.0621 -0.5950 -0.0130 -0.2884 0.7501 -0.3314 -0.0767 0.9355 0.0955 R = -1.1450 -1.1818 -0.5674 -0.5520 0 -0.4852 -0.2226 -0.5735 0 0 0.5100 0.5087 0 0 0 -0.0511,将矩阵分解为单位正交阵与上三角阵; Q,R=qr(A),其中 Q*R=A, Q=inv(Q), A=rand(4); A= 0.8381 0.8318 0.3046 0.3028 0.0196 0.5028 0.1897 0.5417 0.6813 0.7095 0.1934 0.1509 0.3795 0.4289 0.6822 0.6979 U,S,V=svd(A) U = -0.6254 0.4055 0.0273 -0.6661 -0.3185 -0.4565 -0.8306 -0.0128 -0.4895 0.4603 -0.0766 0.7367 -0.5175 -0.6444 0.5508 0.1162 S = V = 1.9516 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号