MATLAB语言入门基础.ppt

上传人:牧羊曲112 文档编号:6512127 上传时间:2023-11-08 格式:PPT 页数:32 大小:254.99KB
返回 下载 相关 举报
MATLAB语言入门基础.ppt_第1页
第1页 / 共32页
MATLAB语言入门基础.ppt_第2页
第2页 / 共32页
MATLAB语言入门基础.ppt_第3页
第3页 / 共32页
MATLAB语言入门基础.ppt_第4页
第4页 / 共32页
MATLAB语言入门基础.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《MATLAB语言入门基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言入门基础.ppt(32页珍藏版)》请在三一办公上搜索。

1、MATLAB程序语言设计,应自炉五邑大学信息学院2007年,ziluy,第二讲 MATLAB语言入门基础,2.1 MATLAB 基本数据类型2.2 变量、常量与赋值语句结构2.3 矩阵的 MATLAB 表示2.4 多维数组的定义2.5 字符串变量及其处理2.6 稀疏矩阵2.7 矩阵的基本运算2.8 综合例子与练习题,2.1 MATLAB 基本数据类型,MATLAB 基本数据类型为双精度浮点数的矩阵,在4.2版本及之前版本,只有这一数据类型,但从5.0后增加了许多其它数据类型,主要有,2.2 变量、常量与赋值语句结构,MATLAB 变量的命名规则和其它语言的类似,区分大小写,基本变量类型为矩阵,

2、不用定义维数,直接赋值语句 变量 赋值表达式 例:a=5,函数调用语句 返回变量列表 函数名(输入变量列表)例:a=ones(10,100);m,n=size(a),2.2 变量、常量与赋值语句结构,MATLAB 语言中还为特定常数保留了一些名称,而这些常量都可以重新赋值,但建议避免这样做。,2.3 矩阵的MATLAB表示,在 MATLAB 中表示矩阵是非常方便灵活的,如输入矩阵,在 MATLAB 命令窗中输入下面语句:,a=1 2 3;4 5 6;7 8 9a=1 2 3 4 5 6 7 8 9,左边语句在工作区中建立了变量 a,语句的末尾没有分号,显示结果,否则不显示结果,如下面语句,a=

3、1 2 3;4 5 6;7 8 9;,2.3 矩阵的MATLAB表示,下面语句输入行向量和列向量,b=3 5 2 4 7b=3 5 2 4 7 c=1;3;6;9;3c=1 3 6 9 3,由已知矩阵获得新的矩阵,bb=b;2*b;1 2 3 4 5bb=3 5 2 4 7 6 10 4 8 14 1 2 3 4 5 cc=c,2*c,1;3;5;7;9cc=1 2 1 3 6 3 6 12 5 9 18 7 3 6 9,2.3 矩阵的MATLAB表示,访问矩阵的某一个元素(第二行第三列),设矩阵 a 为,a=magic(3)a=8 1 6 3 5 7 4 9 2,a(2,3)ans=7,提取

4、 a 矩阵的子矩阵,aa=a(1,3,2,3)aa=1 6 9 2,提取 a 矩阵的某一些行,a(1,3,:)ans=8 1 6 4 9 2,提取 a 矩阵的某一些列,a(:,2,3)ans=1 6 5 7 9 2,2.3 矩阵的MATLAB表示,修改矩阵的某一个元素,设矩阵 a 为,a=magic(3)a=8 1 6 3 5 7 4 9 2,a(2,3)=4a=8 1 6 3 5 4 4 9 2,修改矩阵的一些元素,注意维数的大小要相同,冒号表达式,a(1,:)=2 3 4a=2 3 4 3 5 7 4 9 2,b=1:3:20b=1 4 7 10 13 16 19,2.4 多维数组的定义,

5、除了标准的二维矩阵外,MATLAB从5.0开始定义三维或多维数组,三维数组如图所示,2.4 多维数组的定义,以下语句定义一个三维数组或矩阵,a1=magic(3);a2=a1;a3=a1-a2;a4(:,:,1)=a1;a4(:,:,2)=a2;a4(:,:,3)=a3a4(:,:,1)=8 1 6 3 5 7 4 9 2a4(:,:,2)=8 3 4 1 5 9 6 7 2a4(:,:,3)=0-2 2 2 0-2-2 2 0,2.4 多维数组的定义,MATLAB提供了另一个函数 cat 函数来构造多维数组,B=cat(n,A1,A2,A3,A4,.)沿着第 n 维方向连接矩阵A1,A2,A

6、3,A4,.,a1=magic(3);a2=pascal(3);a3=a1+a2;a4=cat(1,a1,a2,a3)a4=8 1 63 5 74 9 21 1 11 2 31 3 69 2 74 7 105 12 8,a5=cat(2,a1,a2,a3)a5=8 1 6 1 1 1 9 2 73 5 7 1 2 3 4 7 10 4 9 2 1 3 6 5 12 8,2.4 多维数组的定义,cat 函数的另一个例子,a=magic(3);b=pascal(3);c=cat(4,a,b)c(:,:,1,1)=8 1 6 3 5 7 4 9 2c(:,:,1,2)=1 1 1 1 2 3 1 3

7、 6,size 函数用来求的矩阵的维数大小,size(c)ans=3 3 1 2,length 函数用来求矩阵各维的最大值,length(c)ans=3,2.5 字符串变量及其处理,MATLAB 字符串由单引号括起来定义,例如,a=This is a string arraya=This is a string array,字符串可由如下方式连接起来,a=This is;b=an example;c=for strings.;d=a b cd=This is an example for strings.,2.5 字符串变量及其处理,字符串比较 strcmp(s1,s2)当字符串 s1 和 s

8、2 完全相同时,函数返回 1,否则返回 0.,a=hello;b=hello;c=hellp;strcmp(a,b),strcmp(b,c)ans=1ans=0,字符串查找 findstr(s1,s2)该函数返回较短一个字符串在另一个字符串中出现的下标位置。若该字符串不另一个字符串中出现,则返回一个空矩阵。,findstr(a,lo),findstr(c,lo)ans=4ans=,2.5 字符串变量及其处理,其他字符串函数,字符串替换 str=strrep(s1,s2,s3),获得字符串长度 k=length(str),删除字符串尾部的空格 deblank(str),字符串与双精度数的相互转换

9、 d=double(str),str=char(d),将矩阵变换成字符串表示 mat2str(A),2.6 稀疏矩阵,稀疏矩阵是一种特殊的矩阵,它的大部分元素都为零,只有少部分元素为非零,例如一个很大的单位矩阵。在 MATLAB 中稀疏矩阵中一个元素占 16 个字节的空间,8个字节表示该元素的值,用另两个4字节的整数表示其行列的值。下面例子产生一个 100 X 100 的单位矩阵,用稀疏矩阵表示,a=speye(100)a=(1,1)1(2,2)1(3,3)1(100,100)1,b=eye(100);whos Name Size Bytes Class a 100 x100 1604 spa

10、rse array b 100 x100 80000 double array,2.7 矩阵的基本运算,变量类型测试,k=iscell(C)TF=isnan(A)k=iscellstr(S)k=isnumeric(A)k=ischar(S)k=isobject(A)k=isempty(A)TF=isprime(A)k=isequal(A,B,.)k=isreal(A)k=isfield(S,field)TF=isspace(str)TF=isfinite(A)k=issparse(S)k=isglobal(NAME)k=isstruct(S)TF=isinf(A)k=isstudentTF=i

11、sletter(str)k=isunixk=islogical(A),矩阵的 Hermit转置,a=round(sqrt(10*rand(3,3)-5)+1+j),b=aa=2.0000+1.0000i 1.0000+2.0000i 1.0000+2.0000i 1.0000+2.0000i 1.0000+3.0000i 1.0000+3.0000i 2.0000+1.0000i 1.0000+3.0000i 1.0000+2.0000ib=2.0000-1.0000i 1.0000-2.0000i 2.0000-1.0000i 1.0000-2.0000i 1.0000-3.0000i 1.

12、0000-3.0000i 1.0000-2.0000i 1.0000-3.0000i 1.0000-2.0000i,2.7 矩阵的基本运算,矩阵加减法,矩阵必须相同维数,a=magic(3);b=pascal(3);c=a+b;d=b-a;a b c dans=8 1 6 1 1 1 9 2 7-7 0-5 3 5 7 1 2 3 4 7 10-2-3-4 4 9 2 1 3 6 5 12 8-3-6 4,2.7 矩阵的基本运算,矩阵乘法,两相乘的矩阵维数必须相容,a=2 5 3,b=1 3;2 4;3 1,c=a*ba=2 5 3b=1 3 2 4 3 1c=21 29,2.7 矩阵的基本运

13、算,矩阵左除,矩阵左除 AB 表示由Gauss消去法获得线性方程 AX=B 的解 X。亦即 XA1B。如果矩阵 A 不是方阵,这是将使用作小二乘解法求取AX=B 的解 X。,a=2 4 3 5;1 4 5 2,b=3;2,c=aba=2 4 3 5 1 4 5 2b=3 2c=0 0 0.2105 0.4737,2.7 矩阵的基本运算,矩阵右除,矩阵右除 B/A 表示线性方程 XA=B 的解 X。矩阵 A 为非奇异矩阵时 B/A 为 BA1,更精确地有 B/A=(AB)。,a=magic(3),b=2 3 1,b/aa=8 1 6 3 5 7 4 9 2b=2 3 1ans=0.0917-0.

14、0333 0.3417,2.7 矩阵的基本运算,矩阵翻转 fliplr(A),flipud(A),rot90(A),a=magic(4)a=16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 b=fliplr(a);c=flipud(a);d=rot90(a);b c dans=13 3 2 16 4 14 15 1 13 8 12 1 8 10 11 5 9 7 6 12 3 10 6 15 12 6 7 9 5 11 10 8 2 11 7 14 1 15 14 4 16 2 3 13 16 5 9 4,2.7 矩阵的基本运算,矩阵乘方,a=magic(3),b=

15、a3a=8 1 6 3 5 7 4 9 2b=1197 1029 1149 1077 1125 1173 1101 1221 1053,2.7 矩阵的基本运算,点运算,矩阵点运算即对应元素之间的运算,有时称为数组运算。,a=magic(3);b=pascal(3);a bans=8 1 6 1 1 1 3 5 7 1 2 3 4 9 2 1 3 6 c=a.*b;d=a./b;e=a.3;c d eans=8.0000 1.0000 6.0000 8.0000 1.0000 6.0000 512.0000 1.0000 216.0000 3.0000 10.0000 21.0000 3.000

16、0 2.5000 2.3333 27.0000 125.0000 343.00004.0000 27.0000 12.0000 4.0000 3.0000 0.3333 64.0000 729.0000 8.0000,2.7 矩阵的基本运算,点运算,矩阵的点运算或数组运算应用很普遍,例如已知 x 为一向量,计算 y=f(x)在 x 对应点上的值,这是 f(x)中的运算都必须是点运算。例如:,2.7 矩阵的基本运算,x=0:0.01:1;y=(sin(x).*cos(x).*exp(-5*x)+8)./(sin(2*pi*x)+x.2+1);plot(x,y),矩阵的逻辑运算,逻辑与 或 and

17、(A,B)逻辑或 或 or(A,B)逻辑非 或 not(A)逻辑异或 xor(A,B),2.7 矩阵的基本运算,矩阵的逻辑运算都是对应元素之间的运算或其中一个为标量,结果为同维数的矩阵,由 0 和 1 组成。,矩阵的比较关系,2.7 矩阵的基本运算,矩阵的比较关系都是对应元素之间的比较关系或其中一个为标量,结果为同维数的矩阵,由 0 和 1 组成。比较结果为真取 1,比较结果为假取 0。,另外几个有用的函数find(X),all(X),any(X),矩阵元素的数据变换,2.7 矩阵的基本运算,2.8 综合例子与练习题,例一、输入下面两个矩阵,例二、解线性方程组,2.8 综合例子与练习题,例三、用简单的MATLAB语句定义反对角单位阵,假设构造单位阵的MATALB内在函数为 eye(n)。,例四、已知下面两个矩阵,A+5*B 和 A-B+I 分别是多少?A.*B 和 A*B 分别是多少?他们结果是否相同?为什么?A.B、A/B 及 AB 分别是多少?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号