Matlab的基本计算.ppt
《Matlab的基本计算.ppt》由会员分享,可在线阅读,更多相关《Matlab的基本计算.ppt(119页珍藏版)》请在三一办公上搜索。
1、第二章 Matlab的基本计算,(一)数据类型,四种基本数组类型:数值、字符、元胞、结构数组。,字符串数组,基本规则:所有字符串都用单引号括起来;字符串中的每一个字符都是该字符串变量中的一个元素;字符串中的字符以ASC码形式存储,因而区分大小写。,例 String1=b;String2=This is an example!;%英文字母、空格、数字、标点、中文字符 String3=例子char array;%都是占一个元素位,两个字节 s1=class(String1)s1=char s2=size(String2)s2=1 19 whos Name Size Bytes Class Stri
2、ng1 1x1 2 char array String2 1x19 38 char array String3 1x14 28 char array s1 1x4 8 char array s2 1x2 16 double arrayGrand total is 26 elements using 64 bytes,字符串数组的属性和标识,1)创建串数组:“单引号对”必须在英文状态下输入。2)串数组的大小:size指令获得串数组的大小。串中的每一个字符,包括中英文字符、空格、标点都算一个元素。3)串数组的标识:自左向右用数字1、2、3、4标识。4)ASCII码显示:abs和double指令可以
3、显示串数组对应的ASCII码数值数组。char指令则可以把ASCII码数值数组转换成串数组。5)ASCII码数组的操作:可以对ASCII码数组进行数值数组的各种运算。注意:当字符串中包含单引号时,用连续两个单引号表示。,字符串数组的属性和标识,string=this is a example string=this is a exampleabs(string)ans=Columns 1 through 12 116 104 105 115 32 105 115 32 97 32 101 120 Columns 13 through 17 97 109 112 108 101double(st
4、ring)ans=Columns 1 through 12 116 104 105 115 32 105 115 32 97 32 101 120 Columns 13 through 17 97 109 112 108 101char(abs(string)ans=this is a example,串数组基本操作,string=this is an example!%输入字符串stringstring=this is an example!s_1=string(length(string):-1:1)%倒序排列string得到s_1s_1=!elpmaxe na si siht w=str
5、ing=a&string STRING=upper(string)%将小写字符转换成大写字符STRING=THIS IS AN EXAMPLE!Str=Exm03_2.m,string(5:end)%构造新的字符串Str=Exm03_2.m is an example!,利用串转换函数创建字符串常用的有:int2str,num2str,mat2strint2str:整数数组转换成字符串,非整数四舍五入。num2str:非整数数组转换成字符串。mat2str:数值数组转换成字符串。区别:a=0.9576 0.8 2.151;4.0 5 7.8a=0.9576 0.8000 2.15104.000
6、0 5.0000 7.8000a1=int2str(a)%取整数作为字符a1=1 1 2 4 5 8a2=num2str(a,2)%2位有效数字a2=0.96 0.8 2.2 4 5 7.8a3=mat2str(a,2)%一行字符a3=0.96 0.8 2.2;4 5 7.8,a3=0.96 0.8 2.2;4 5 7.8,a1/a2/a3-均为字符串,字符串的应用:作出函数图形,并标注最大值点。,clear%清除内存变量t=0:0.01:10;%时间 t 从 0 到 10 每隔 0.01 均匀采样y=exp(-2*t).*sin(3*t);%对应每一个 t 求 y 值 y_max,i_max
7、=max(y);%求最大值 y_max 及其下标 i_maxt_text=t=,num2str(t(i_max);%横坐标字符串y_text=y=,num2str(y_max);%纵坐标字符串max_text=char(Maxium,t_text,y_text);%三行字符来标识最大值点Title=y=exp(-2*t).*sin(3*t);%图名称字符串figure%新建一个图形窗plot(t,zeros(size(t),k)%画一条黑色的水平线hold on%保持图形不被清除plot(t,y,b)%蓝色实线画曲线 y(t)plot(t(i_max),y_max,r.,MarkerSize,
8、20)%大小为 20 的红圆点标记最大值点text(t(i_max)+0.3,y_max+0.05,max_text)%在最大值点附近显示注释字符title(Title);%显示图名xlabel(t)%显示横坐标名ylabel(y)%显示纵坐标名hold off%取消图形保持,y,串转换函数,字符串操作函数,元胞数组,特点:1)元胞数组的每一个基本组成部分成为一个元胞(cell),元胞在数组中以下标来进行区分。2)元胞可以是任何类型、任意大小的数组(例如:数值数组、字符串数组、符号对象等等)。3)一个元胞数组中各个元胞可以是不同类型的内容。4)元胞数组的维数不受限制。注意:圆括号对“()”和花
9、括号对“”的不同作用。A(2,3):表示元胞数组A第 2 行第 3 列的元胞。A 2,3:表示元胞数组A第 2 行第 3 列的元胞中的内容。,元胞数组,1.直接生成法 A=4,test cell,10+20*I,1,2,3;4,5,6 A=4 test cell 10.0000+20.0000i 2x3 double,2.cell函数生成法 cell(N)生成一个n*n阶的空元胞 cell(M,N)生成一个m*n阶的空元胞 cell(M,N,L,)生成一个m*n*l阶的空元胞 cell(size(A)生成与A同形式的单元型的空矩阵,A=cell(2,2)A=A1,1=just a test A
10、=just a test,C=char(这是,元胞数组);%两行的字符串数组R=reshape(1:9,3,3);%3*3 的数值数组S=sym(sin(-3*t)*exp(-t);%符号表达式A(1,1)=C;%对元胞数组 A 进行赋值A 2,2=R;A 2,1=S;%注意 和()的区别 A%显示元胞数组 A 的元胞A=2x4 char 1x1 sym 3x3 doublecelldisp(A)%显示元胞数组 A 的元胞中的内容A1,1=这是 元胞数组 A2,1=sin(-3*t)*exp(-t)A1,2=A2,2=1 4 7 2 5 8 3 6 9,当用圆括号来寻址时,所表示的是元胞,相应
11、的等号右边也应该是一个元胞;当用花括号寻址时,表示的是元胞中的内容,相应的等号右边是元胞中的内容,可以是任意类型、大小的数组。,class(A(2,1)%元胞的类型()ans=cellclass(A2,1)%元胞的内容的类型 ans=symA(2,1)%A 的第2行第1列的元胞ans=1x1 symA 2,1%A 的第2行第1列的元胞中的内容ans=sin(-3*t)*exp(-t)save exm03.mat%保存内存变量显示元胞数组内容的指令是 celldisp。如果直接在指令窗口输入元胞数组名,则只能看到元胞内容的属性,不显示元胞的内容。单元素的元胞除外,可以显示元胞的内容。,celld
12、isp函数两种应用形式celldisp(A)%显示单元型变量A的内容celldisp(A,name)%显示是name这个单元型变量的内容,而不是原来的A;例:celldisp(A,B)A1,1=B1,1=这是 这是 元胞数组 元胞数组 A2,1=B2,1=A1,2=B1,2=A2,2=B2,2=,结构数组,特点:1)基本组成部分是结构(Structure),以下标区分各个结构。2)结构必须划分成“域”后才能使用。3)结构不能直接存放数据,数据必须存放在结构下面的“域”中。4)结构的域可以存放任意类型、任意大小的数组(数值数组、字符串数组、符号对象、元胞等)。5)不同结构的同名域中可以存放不同类
13、型的内容。6)结构数组可以是任意维的,可以利用下标寻址。,结构数组的生成,1直接输入法。例:建立学生的小型数据库,student.test=99 56 96 87 67 69 87 76 92;student.name=zhaizhigang;student.weight=67;student.height=1.83;student.num=20080126;student.add=Hei Long Jiang;student.tel=13190176965;,studentStudent=test=99 56 96 87 67 69 87 76 92 name=zhaizhigang wei
14、ght=67 height=1.83 num=20080126 add=Hei Long Jiang tel=13190176965,结构数组的生成,2使用struct函数。struct(field1,v1,field2,v2,),student=struct(test,99 56 96 87 67 69 87 76 92,name,zhaizhigang,weight,67,height,1.83,num,20080126,add,Hei Long Jiang,tel,13190176965)Student=test=99 56 96 87 67 69 87 76 92 name=zhaiz
15、higang weight=67 height=1.83 num=20080126 add=Hei Long Jiang tel=13190176965,输出格式,Matlab 的输出,Matlab 以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”,Matlab 中数的输出格式可以通过 format 命令指定,format 只改变变量的输出格式,但不会影响变量的值!,各种 format 格式,(二)Matlab的基本计算功能,可直接在命令窗内输入表达式进行计算Matlab带有强大的函数库,一般的数学运算都能容易的实现,例输入
16、矩阵 a=2,3,4;3,5,7;8,9,10;b=1 1 1;2 2 2;3 3 3;c=a+bc=3 4 5 5 7 9 11 12 13,MATLAB软件中部分常用函数表,以10为底的对数,例计算 和 2*cos(0.3*pi)/(1+sqrt(7)调出上次的输入 或移动光标,将3改为4Enter键,给出计算结果,(三)Matlab矩阵和数组的创建和修改,1.矩阵的创建和修改1.1直接输入矩阵的创建规则:矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔或按Enter键分割,矩阵元素,矩阵元素可以是数字或任何matlab表达式,表达式不可包含未知的变
17、量;可以是实数,也可以是复数,复数可用特殊函数i,j 输入。例:1.a=1 2 3;4 5 6 2.b=2 pi/2;sqrt(3)3+5i 3.x=9;y=pi/6;%定义x,y变量 A=3 5 sin(y)cos(y)x2 7 x/2 5 1%产生矩阵A说明:%为Matlab注释的开始标志,后面的文字不进行计算,矩阵的修改,直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改 可以用A(,)=来修改。,例如 a=1 2 0;3 0 5;7 8 9a=1 2 0 3 0 5 7 8 9 a(3,3)=0a=1 2 0 3 0 5 7 8 0,1.2 用matla
18、b函数创建和修改矩阵,Matlab提供了大量的函数来创建一些常用的特殊矩阵,例如对角阵、单位阵和零矩阵例:0-1分布的随机矩阵,利用rand函数产生任意行列的随机矩阵 a=rand(5,5),例2-2 利用diag产生对角阵 diag(M)M为矩阵或向量,对于矩阵,取对角元产生一个列 向量;对于向量则产生一个对角阵,a=rand(5,5)a=0.7027 0.7948 0.9797 0.1365 0.6614 0.5466 0.9568 0.2714 0.0118 0.2844 0.4449 0.5226 0.2523 0.8939 0.46920.6946 0.8801 0.8757 0.1
19、991 0.06480.6213 0.1730 0.7373 0.2987 0.9883,D=diag(d)%向量产生矩阵D=0.7027 0 0 0 0 0 0.9568 0 0 0 0 0 0.2523 0 0 0 0 0 0.1991 0 0 0 0 0 0.9883,d=diag(a)%矩阵产生列向量d=0.7027 0.9568 0.2523 0.1991 0.9883,Matlab中用于产生特殊矩阵的函数,zeros(m,n)mn的零矩阵,全部元素都为0ones(m,n)全部元素都为1的mn的矩阵rand(m,n)随机矩阵eye(m,n)单位矩阵magic(n)n维magic方阵
20、matlab允许输入空阵,当一项操作无结果时,返回空阵。,还有伴随矩阵、稀疏矩阵、范德蒙等矩阵的创建等等注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。,2.矩阵标识和子矩阵,子阵的序号向量标识方式a(m,n),m,n大于等于1小于矩阵的维数;a(L1,:)、a(:,L2)、a(L1,L2),B=magic(5)B=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 B1=B(1:2,1,3,5)B1=17 1 15 23 7 16,B(1,3,2,4)=zeros(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 基本 计算
链接地址:https://www.31ppt.com/p-6511992.html