Matlab课件Matlab第2章数值计算

上传人:E**** 文档编号:91250156 上传时间:2019-06-26 格式:PPT 页数:50 大小:589KB
返回 下载 相关 举报
Matlab课件Matlab第2章数值计算_第1页
第1页 / 共50页
Matlab课件Matlab第2章数值计算_第2页
第2页 / 共50页
Matlab课件Matlab第2章数值计算_第3页
第3页 / 共50页
Matlab课件Matlab第2章数值计算_第4页
第4页 / 共50页
Matlab课件Matlab第2章数值计算_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《Matlab课件Matlab第2章数值计算》由会员分享,可在线阅读,更多相关《Matlab课件Matlab第2章数值计算(50页珍藏版)》请在金锄头文库上搜索。

1、,MATLAB基本使用(续),1.6 MATLAB的变量和数据操作,1.6.1 变量与赋值 1变量命名 在MATLAB 7.X中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。例如 x、x_1、xy12 在MATLAB中,变量名区分字母的大小写。例如addr、Addr和ADDR表示3个不同的变量。,2赋值语句 MATLAB赋值语句有两种格式: (1)变量=表达式; (2)表达式 在第1种语句形式下,MATLAB将右边表达式的值赋给左边的变量,而在第2种语句形式下,将表达式的值赋给MATLAB的预定义变量ans。 在语句的最后加分号,那么,MATLAB仅仅执行赋值操作,不

2、再显示运算的结果。 注释以%开头,【例如】当x= 时,计算表达式 的值,并将结果赋给变量y,然后显示出结果。 在MATLAB命令窗口分别输入命令: x=sqrt(1+pi); y=(exp(x)+log(abs(sin(x)2-sin(x*x)/(x-5*i) y = 0.5690 + 1.3980i 其中,pi和i都是MATLAB定义的变量,分别代表圆周率和虚数单位。,1.6.2 变量的管理 1内存变量的显示与删除 显示在MATLAB工作空间中已经驻留的变量名清单。 who whos whos在给出驻留变量名的同时,还给出它们的维数、所占字节数以及变量的类型。,实际上who和whos显示的就

3、是workspace里面的内容:,删除MATLAB工作空间中的变量,但预定义变量不能删除。 clear MATLAB工作空间窗口专门用于内存变量的管理。 变量编辑器,对于较大矩阵的输入,可采用变量编辑器.具体操作方法如下: (一) 在命令窗口中向一个新变量赋空阵; (二)在工作空间浏览器中双击该变量,打开变量编辑器; (三)在变量编辑器的空白表格中填写元素值,表格的每一个方格对应矩阵的一个元素.,2内存变量文件 利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来。 MAT文件是MATLAB保存数据的一种标准格式二进制文件,扩展名一定是.mat。 MAT文件的生成和装入由

4、save和load命令来完成 save文件名 变量名表 -append-ascii load文件名 变量名表 -ascii 也可以用File-open对话框来打开,例如: 假定变量a和b存在于MATLAB工作空间中,输入以下命令便可将a和b保存于当前目录的mydata.mat文件中: save mydata a b 把mydata.mat中的内容装入MATLAB工作空间: load mydata,1.6.3 数据的输出格式 用“format”命令设置数据输出格式 format 格式符 “format”命令只影响数据输出格式,而不影响数据的计算和存储。,例如输入为 x=4/3 1.2345e-6

5、 在各种不同的格式符下的输出为 短格式(short):1.3333 0.0000 短格式e方式(short e):1.333e+00 1.2345e-06 长格式(long):1.33333333333333 0.00000123450000 长格式e方式(long e):1.33333333333333e+000 1.23450000000000e-006 银行格式(bank):1.33 0.00 十六进制格式(hex):3ff5555555555555 3eb4b6231abfd271 +格式(+):+,1.7 MATLAB矩阵及其基本运算,1.7.1 矩阵的生成 在MATLAB中,生成矩

6、阵时无须对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。 1直接输入法 将矩阵的所有元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。例如,输入命令:,A=1 2 3;4 5 6;7 8 9; A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 9 在输入矩阵的元素时,也可以分成几行输入,用回车键代替分号,即 A=1 2 3 4 5 6 7 8 9,矩阵元素也可以是表达式,MATLAB将自动计算结果。例如: B=10,5-sqrt(7),sin(pi/2);7,4*8,abs(-7

7、) B = 10.0000 2.3542 1.0000 7.0000 32.0000 7.0000,在MATLAB中,矩阵元素可以是复数。例如,建立复数矩阵: B=1,2+7i,5*sqrt(2)*i;3,2/5,3.5+6i B = 1.0000 2.0000 + 7.0000i 0 + 7.0711i 3.0000 0.4000 3.5000 + 6.0000i 也可以分别建立实部矩阵和虚部矩阵,再合起来构成复数矩阵。例如: R=1,2,3;4,5,6; I=1.1,2.2,3.3;4.4,5.5,6.6; ri=R+i*I,2利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为它专门建

8、立一个M文件 【例如】利用M文件建立mydata矩阵。 (1)启动有关文本编辑程序或MATLAB的M-file编辑器,并输入待建矩阵: mydata=1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9;,(2)把输入的内容存盘(设文件名为matfund.m)。 (3)在MATLAB命令窗口中输入matfund,即运行该M文件,就会自动建立一个名为mydata的矩阵,可供以后使用。,3利用数据文件建立指定矩阵 用户能够通过load

9、命令,将外部数据文件中的内容调入到工作空间中创建矩阵,外部文件的扩展名为.mat。 例如,利用文本编辑器创建一个数据文件test.mat,包含下列数据: 2 4 6 8 6 3 5 6 7 3 2 5 1 2 5 在命令窗口输入: load test.dat test 运行结果为test = 2 4 6 8 6 3 5 6 7 3 2 5 1 2 5,4利用已建好的矩阵建立更大的矩阵 大矩阵可由已建好的小矩阵拼接而成。例如: A=1,2,3;4,5,6;7,8,9; B=11:13;14:16;17:19; C=A,B;B,A C = 1 2 3 11 12 13 4 5 6 14 15 16

10、 7 8 9 17 18 19 11 12 13 1 2 3 14 15 16 4 5 6 17 18 19 7 8 9,1.7.2 冒号表达式 在MATLAB中利用冒号可以产生行向量。冒号表达式的一般格式为 a:b:c 其中,a为初始值,b为步长,c为终止值(c a)。冒号表达式可产生一个由a开始到c结束,以步长b自增的行向量。例如: t=0:2:10 t = 0 2 4 6 8 10 步长b可以省略,默认是1,在MATLAB中,还可以用linspace函数产生行向量。其调用格式为 linspace(a,b,n) 其中a和b是生成向量的第1个和最后一个元素,n是元素总数。当n省略时,自动产生

11、100个元素。显然,linspace(a,b,n)与a:(b a)/(n 1):b等价。例如: x=linspace(0,10,6) x = 0 2 4 6 8 10,1.7.3 矩阵的拆分 1矩阵元素 对矩阵的单个元素进行赋值操作。例如,如果想将矩阵A的第2行第3列的元素赋为76,则可以通过下面语句来完成: A(2,3)=76 这时将只改变该元素的值,而不影响其他元素的值。 如果给出的行下标或列下标大于原来矩阵的行数和列数,则MATLAB将自动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为零。,例如: A=1,2,3;4,5,6; A(4,6)=100 A = 1 2 3 0 0 0 4 5

12、 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100,在MATLAB中,也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。矩阵元素按列编号,先第1列,再第2列,依次类推。例如: A=10,20,30;40,50,60; A(3) ans = 20,序号(Index)与下标(Subscript)是一一对应的,以m n矩阵A为例,矩阵元素A(i, j)的序号为(j1)*m + i。其相互转换关系也可利用sub2ind和ind2sub函数求得。 IND = SUB2IND(SIZ,I,J); I,J = IND2SUB(SIZ,IND) ; 例如:

13、sub2ind(size(A),1,3) ans = 5 size(A)函数返回包含两个元素的向量,分别是矩阵A的行数和列数 ,即A是2行3列的矩阵,其中第1行第3列元素的序号为5。,I,j=ind2sub(size(A),5) I = 1 j = 3 length(A):给出行数和列数中的较大者,即length(A)max(size(A) Ndims(A):给出A的维数,Reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵 A重新排成mn的二维矩阵。 例如: X=linspace(0,11,12)*pi; %产生有12个元素的行向量x Y=reshape(X,3,4) %利用向

14、量x建立34矩阵y Y = 0 9.4248 18.8496 28.2743 3.1416 12.5664 21.9911 31.4159 6.2832 15.7080 25.1327 34.5575,2.矩阵的拆分 (1)利用冒号表达式获得子矩阵 A(m,n)表示取A矩阵第m行、第n列的元素,A(m,:)表示取A矩阵第m行的全部元素,A(:,n)表示取A矩阵的第n列全部元素,即可以用“:”进行矩阵的行列操作。例如 A=1:2:5; A = 1 3 5 B=A;2*A,3*A B = 1 3 5 2 6 10 3 9 15,B(2,:) ans = 2 6 10 B(:,3) ans = 5

15、10 15, A(m1:m2,:)表示取A矩阵第m1m2行的全部元素,A(:,n1:n2)表示取A矩阵第n1n2列的全部元素,A(m1:m2,n1:n2)表示取A矩阵第m1m2行内,并在第n1n2列中的所有元素。例如: A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,A(2:3,4:5) ans = 9 10 14 15 A(2:3,1:2:5) ans = 6 8 10 11 13 15, A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,这也是MATLAB变量的内部存储方式。例如: A=-45 65 71;27 35 91 A = -45 65 71 27 35 91 B=A(:) B = -45 27 6

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

当前位置:首页 > 高等教育 > 大学课件

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