




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上内部资料数学建模编程培训数学建模教练组编写2008年7月专心-专注-专业目 录1 Matlab软件1.1 基本介绍1.1.1 软件简介它已经成为世界上应用最广泛的数学软件之一,尤其在工程计算领域、高校应用最广。该软件以矩阵运算为基础,将计算、可视化、程序设计融合在简单易用的交互式环境中。运用MATLAB可以实现工程计算、数学建模、计算机模拟、算法研究、数据分析与处理、科学与工程绘图、应用软件开发、数值计算、图形、图像处理,支持递归函数,还有多种工具箱(不同领域)。Matlab部分工具箱:控制系统工具箱(Control System Toolbox)小波工具箱(Wave
2、let Toolbox)模糊逻辑工具箱(Fuzzy Logic Toolbox)神经网络工具箱(Neural Network Toolbox)通信工具箱(Communication Toolbox)图象处理工具箱(Image Processing Toolbox)优化工具箱(Optimization Toolbox)财政金融工具箱(Financial Toolbox)样条工具箱(Spline Toolbox) 统计工具箱(Statistics Toolbox)信号处理工具箱(Signal Processing Toolbox)1.1.2 工作环境介绍1.1.2.1 搜索路径管理(1)命令形式设
3、置:path查看或设置当前的搜索路径用法:path(path,p)path(p,path)举例:path(path,d:mywork)path(d:mcmuse,path)addpath用于添加路径用法:addpath dirname将目录dirname放在原有目录的前面addpath dirname -beginaddpath dirname -end 新增加一个搜索目录,放在原有目录最后addpth dir1 dir2 dir3 增加多个搜索目录,放在搜索目录最前面rmpath用于删除路径用法:rmpath dirname删除搜索目录dirnamermpath dir1 dir2 dir3
4、 删除多个搜索目录pwd查看当前指向目录举例:cd用法:cd dirname 将dirname 作为当前目录cd返回当前目录cd .将当前目录设置其上级目录(有空格)(2)界面设置通过菜单File->Set Path会打开一个窗口,用于添加、删除搜索路径,可以方便的打开、运行MATLAB文件。1.1.2.2 工作环境管理查看工作空间变量菜单方式:通过File选择“Show WorkSpace”菜单条可以显示当前工作环境内的变量。执行如下命令:clear allx=rand(3,1)x = 0.9501 0.2311 0.6068通过open按钮可以打开变量进行编辑。命令方式:who显示当
5、前工作空间的变量名whos显示当前工作空间的每个变量的信息who global显示当前工作空间全局变量名whos global显示当前工作空间全局变量的信息1.1.3 数据结构在MATLAB中基本数据结构是矩阵,而矩阵一般分为:数值矩阵、字符串矩阵。例如:a=1:10a=ones(3,2) %前2行为数值矩阵s=hello world %为1行11列字符串矩阵1.1.4 Matlab语言的特点² 语言简介,编程效率高² 变量名区分大小写:如:count与Count,num、Num与NUM在MATLAB指的是不同的变量。² 丰富的内部函数、外部函数、工具箱²
6、; 易扩展性1.1.5 Matlab中的常量与特殊变量i,j:虚数单位,如3+2i,2+3j,4j+30,这里的i,j必须是小写字母pi:圆周率3.979,必须为小写realmax:realmin:inf:无穷大NaN:表示不是一个数值,意思是Not a Numberver或version:版本信息ans:变量,用于存储当前语句未保存的计算结果1.1.6 特殊符号符号说明例子:产生向量,用于循环V=1:3;v=-1:0.5:3;,用于分割命令或元素;命令结束符号,运算结果不显示;用于创建矩阵分行A=1 2 3; 4 5 6,B=A2;例子:for i=1:3, for j=1:4, tmp=j
7、, m(i,j)=i*100+j; endend1.1.7 Matlab常用函数1、 ones产生元素均为一的矩阵常见用法:ones(n)产生n×n矩阵ones(m,n)或ones(m n) 产生m×n矩阵ones(size(A)产生与A同样维数的矩阵举例:ones(3,5)ans = 1 1 1 1 1 1 1 1 1 11 1 1 1 12、 zeros产生0矩阵,用法与ones相同用法:zeros(n)zeros(m,n)或zeros(m n)zeros(size(A)3、 length返回向量的长度,length(x)等价于max(size(x) 举例:a=ones
8、(1,5)a = 1 1 1 1 1length(a)ans = 5end用法:表示for,while,if等语句的中断符号也可表示最后一个元素的索引,如a(end);还可以用a(end+1)来增加元素举例:a=1 3 2 5a = 1 3 2 5a(end)ans = 5a(end+1)=8a = 1 3 2 5 84、 rand用法:rand产生一个在(0,1)之间的均匀分布的数5、 randn产生正态分布随机数用法:randn产生一个在服从N(0,1)正态分布的随机数randn(n)randn(m,n)举例:randans = 0.9501rand(2,3)ans = 0.2311 0.
9、4860 0.7621 0.6068 0.8913 0.4565randnans = 0.6565randn(3,2)ans = -1.1678 -1.2132 -0.4606 -1.3194 -0.2624 0.93126、 findfind 找出非0元素。也可以查找指定条件的元素,并返回元素所在位置索引。(1)例子x=8 5 6 9 4 7 10;find(x>5)输出结果:ans =1 3 4 6 7(2)例子:x=fix(rand(5)*10),r,c=find(x>5);r=r',c=c',length(r)-length(find(x>5)输出结果
10、:x = 0 3 4 6 4 0 6 4 7 7 1 7 3 4 8 5 6 1 5 2 0 0 6 1 2r = 2 3 4 5 1 2 2 3c = 2 2 2 3 4 4 5 5ans = 0(3)例子:vec= fix(rand(1,10)*100)id= find(vec>=60 & vec<=69)sprintf('60-69分的人数=%5d',length(id)运行结果:vec = 45 1 82 44 61 79 92 73 17 40id = 5ans =60-69分的人数= 17、 sort 排序Y,I = sort(x)返回索引矩阵I
11、,如果x 时一个向量,则Y=x(I)。如果x是个m行n列矩阵,则有for j = 1:n, Y(:,j) = x(I(:,j),j); end。例子:vec= fix(rand(1,10)*100);value,idx=sort(vec);they_are_zero=vec(idx)-value运行结果:value = 1 19 19 27 41 44 46 60 74 93idx = 5 1 4 3 10 7 9 2 6 8they_are_zero = 0 0 0 0 0 0 0 0 0 08、 sprintf格式化数据输出,与C语言中的printf函数用法相似常见的数值处理函数函数名功能
12、sum求和mean求平均值round四舍五入fix向零取整floor向负无穷方向取整ceil向正无穷方向取整函数名功能mod除法求余(结果与除数同号)MOD(x,y) 等于 x - y.*floor(x./y) ( y不为 0),若y=0,则mod(x,0)返回xrem除法求余(结果与被除数同号)REM(x,y) is x - y.*fix(x./y) (y不为0),若y=0则mod(x,0)返回NaN。sign符号函数当x为正时sign(x)为1,x为0时sign(x)为0,x为负时sign(x)为-1例子:floor(3.8)ans =3ceil(3.8)ans = 4floor(3.4)
13、ans =3ceil(3.4)ans = 4floor(-3.8)ans =-4ceil(-3.8)ans = -3floor(-3.4)ans =-4ceil(-3.4)ans = -3fix(3.8)ans =3fix(-3.4)ans = -3其它常用函数:字符串操作函数matlabstrfun文件操作函数matlabiofun如:fopen,fprintf,fscanf,fread,fwrite1.2 矩阵函数1.2.1 构造矩阵1.2.1.1 矩阵赋值a=1:5 %产生1行5列的行向量a=1:5 %产生5行1列的列向量a= 1 2 3;4 5 6;7 8 9a = 1 2 3 4 5
14、 6 7 8 91.2.1.2 从文本文件导入如存在文本文件data.txt文件内容如下:312530 23353540 25452960 30657580 40使用命令load导入,然后保存的变量名则为文件名:输入:clear allload data.txtwhodata输出:Your variables are:data data = 31 25 30 23 35 35 40 25 45 29 60 30 65 75 80 401.2.1.3 从MAT格式文件中导入这些文件是通过MATLAB的save命令保存的。先了解save命令。SAVE fname 将当前工作环境变量保存为名为fna
15、me.mat的二进制MAT文件,不要参数则保存到文件matlab.mat。例子说明: SAVE fname X saves only X. SAVE fname X Y Z 保存变量X、Y、Z. SAVE fname X Y Z -ASCII 保存为8位数字的文本文件 SAVE fname X Y Z -ASCII -DOUBLE 保存为16位数字的文本文件. SAVE fname X Y Z -ASCII -DOUBLE -TABS 用TAB字符分割数据SAVE fname X Y Z -V4 以MAT格式保存为可用MATLAB4导入的文件SAVE fname X Y Z -APPEND 添
16、加到文件中去输入:clear allx=rand(3);y=1:5;z=1 3 5 ;7 9 11; 13 15 17;save mytest x y zclear allload mytestwho输出:Your variables are:x y z 说明:通过配合save和load命令可以保存指定变量,这将很方便程序处理,比如有些数据经常要用,则可以保存到文件中,以便以后编程使用1.2.1.4 特殊函数产生矩阵rand(m,n)rand(n)ones(m,n)ones(n)1.2.2 矩阵变换操作函数名称功能函数名称功能fliplr矩阵左右翻转flipud矩阵上下翻转flipdim矩阵沿
17、特定维翻转rot90矩阵逆时针旋转900diag产生或提取对角矩阵tril提取下三角阵triu提取上三角阵例子1:a=1:3;4:6;7:9b=fliplr(a)c=flipud(a)d=flipdim(a,1)e=flipdim(a,2)f=rot90(a)例子2:v是一个n个元素的向量,k为整数,则a=diag(v)%将向量v的元素放在a的主对角线b=diag(v,k)%返回方阵b,b的大小为n+abs(k),向量v的元素位于b的第k条对角线上;当k>0时,为主对角线以上,当k<0时,为主对角线以下,当k=0时,结果同命令diag(v)说明:以上2条命令产生对角矩阵v=diag
18、(x)%返回x的主对角线元素v=diag(x,k)%对于矩阵x,返回向量v,v的元素由x的第k条对角线的元素构成说明:以上2条命令提取对角元,产生向量例子3:l=tril(a)%返回a的下三角部分,其余部分为0l=tril(a,k)%返回a的第k条对角线以下的元素,其余部分用0补齐,k=0,结果同tril(a),k>0位于主对角线以上,k<0位于主对角线以下l=triu(a)%返回a的上三角部分,其余部分为0l=triu(a,k)%返回a的第k条对角线以上的元素,其余部分用0补齐,k=0,结果同triu(a),k>0位于主对角线以上,k<0位于主对角线以下1.2.3 设
19、置输出格式命令:formatformat命令控制MATLAB的显示输出格式,但不影响其计算与存储命令说明例子format short5位定点数format long15位定点数format short e5位浮点数Format long e15位浮点数format short g最佳5位定点数或浮点数format long g最佳15位定点数或浮点数format hex十六进制数format bank精确到分(金融格式)format rat用有理分式表示format +用+表示正数,-表示负数,空格表示为零元素format compact压缩额外的空行format loose显示变量之间插入空
20、行1.3 程序设计入门1.3.1 变量1.3.1.1 命名规则给变量(包括函数)命名时应该遵循一下规则:(1) 必须以字母开头(2) 可由字母、数字、下划线混合(3) 变量名和函数名字符长度不超过31个字符,如果变量前31个字符相等而后面字符不同,则作为同一变量处理1.3.1.2 变量定义:局部变量和全局变量变量并不都需要显示的申明局部变量在程序中可以定义变量。每个函数体内部也可以定义自己的变量,这些变量如果不用global声明,则不能从其他函数和MATLAB工作空间中访问这些变量,这样的变量就是局部变量。全局变量如果要使得其他函数和MATLAB工作空间使用这些变量,则定义为全局变量,用“gl
21、obal”声明。全局变量需要在函数体对变量的赋值语句前说明,整个函数以及所有对函数的递归调用都可以利用全局变量。变量命名建议:变量名尽量反映其含义,如汽车数量用numcar,捕鱼收入用incomefish。局部变量名尽量采用小写,全局变量名尽量大写1.3.2 基本语句赋值语句是Matlab中的基本语句。其结构为:(1)变量名列表表达式例子:a=rand(2,5);a(1,2)=10*rand(2)另外一个语句可以只有表达式,而没有变量名列表和等号,这样改语句的结果将自动赋值给MATLAB内部变量“ans”。例子:rand(1,5)size(a)1.3.3 分支判断语句1.3.3.1 if分支判
22、断语句其通用格式: IF expression statements ELSEIF expression statements ELSE statements END比较操作符相等小于大于小于等于大于等于不等于=<><=>=.逻辑操作符名称表示符号与(and)&或(or)|非(not)例子:grade=yesinput('情输入你的成绩',0,0 100);if grade>=90 sprintf('成绩优异')elseif grade>=80 & grade<90 sprintf('成绩优秀
23、39;)elseif grade>=60 & grade<80 sprintf('成绩中等')else sprintf('居然还没有及格')end1.3.3.2 Switch分支判断语句Switch语句通用格式:SWITCH switch_exprCASE case_expr,statement, ., statementCASE case_expr1, case_expr2, case_expr3,.statement, ., statement.OTHERWISE,statement, ., statementEND例子:对输入的成绩进行
24、判别grade=yesinput('请输入成绩',0,0 100);grade=fix(grade/10)switch gradecase 9,10, sprintf('成绩优异')case 8, sprintf('成绩优秀')case 6,7, sprintf('成绩一般')otherwise, sprintf('还没有及格')end1.3.4 循环语句1.3.4.1 FOR语句通用格式:FOR variable = expr, statement, ., statement END例子:构造一个5行4列的矩阵,
25、并赋值for i=1:5 for j=1:4 m(i,j)=i*100+j; endend1.3.4.2 WHILE语句通用格式: WHILE expression statements END例子:将输入的字符串反序str=input('请输入字符串: ','s')tmpstr=str;i=1;len=length(str);while i<=len str(len-i+1)=tmpstr(i); i=i+1;end1.3.5 Matlab程序M文件Matlab程序一般保存为扩展名为m的文件,这类文件分为两类:(1)脚本(2)函数脚本:在Matlab中即
26、不接受输入参数,也不返回参数的M文件称为脚本,这类文件中没有函数申明,它是一些MATLAB函数和命令的组合。脚本可以直接在MATLAB环境下执行,它可以访问整个MATLAB工作空间种的变量,而脚本中的变量在脚本执行完后仍然保留在工作空间中,并能被其它脚本所引用,直到用clear命令清空。比如建立脚本文件mypro1.m,其内容如下:num=input('输入一个正整数:')s=0;for i=1:num, s=s+i;ends本脚本功能是输入一个正整数,赋值给num,然后计算1到该正整数的所有整数的和,并将结果保存到变量s中。注意:Matlab工作空间中的变量要被函数所引用,必
27、须申明为全局变量且全局必须在使用前就要申明,语法为:global varname1 varname2 例子:文件:temp1.mglobal t1t1=1 3 5 7文件:testfun.mfunction r=testfun(num)global t1r=t1*num运行:clear alltemp1t1 = 1 3 5 7testfun(2)r = 2 6 10 14ans = 2 6 10 141.3.6 函数与子函数1.3.6.1 函数语法结构函数同其它高级语言一样,是MATLAB语言的重要组成部分,MATLAB除了内部函数外,还有各种工具箱中的函数,这些函数都以M文件给出,以便调用。
28、下面以一个例子来说明MATLAB函数的语法。下面是文件名为mean.m的内容。function y = mean(x,dim)%MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X. For% matrices, MEAN(X) is a row vector containing the mean value of% each column. For N-D arrays, MEAN(X) is the mean value of the% elements along
29、 the first non-singleton dimension of X.% MEAN(X,DIM) takes the mean along the dimension DIM of X. % Example: If X = 0 1 2% 3 4 5% then mean(X,1) is 1.5 2.5 3.5 and mean(X,2) is 1% 4% See also MEDIAN, STD, MIN, MAX, COV.% Copyright 1984-2001 The MathWorks, Inc. % $Revision: 5.16 $ $Date: 2001/04/15
30、12:01:26 $if nargin=1, % Determine which dimension SUM will use dim = min(find(size(x)=1); if isempty(dim), dim = 1; end y = sum(x)/size(x,dim);else y = sum(x,dim)/size(x,dim);endmean是MATLAB用于统计的一个函数。第一行为函数的声明,函数语法为:function 返回参数列表函数名(输入参数列表)mean的返回参数为y,y可以用中括号括起来。输入参数为x和dim,nargin和nargout为MATLAB的内部
31、变量,分别表示输入参数个数和输出参数个数,由于有些函数要进行参数个数检查或在一些函数实现时参数个数不确定,因此要借助这两个变量进行程序算法设计和控制。百分号%用于注释,%后的字符串表示注释文本1.3.6.2 函数编写示例求任意两个自然数之间(包含两个自然数)所有自然数的和。输入参数2各,输出参数1个,即返回和值。函数名这里取为sum2,函数名要有一定意义,才便于记忆,而且不要于系统内部函数相同,可以通过“help 函数名”看一下改函数名是否为系统函数。function r=sum2(n1,n2)%sum2 求任意自然数n1和n2之间(含n1和n2)所有整数的和if n2>=n1 , r
32、=(n2-n1+1)*(n1+n2)/2;else r=(n1-n2+1)*(n1+n2)/2; end输入: sum2(1,100)ans = 50501.3.6.3 函数的参数参数的传递规则每个函数有自己专用的工作空间,函数内部变量与MATLAB工作空间的联系只通过输入参数与输出参数来建立。参数的传递属于值传递,即输入参数变量的值在函数内部改变了,而在调用改函数时没有作为返回参数,那么这个输入参数变量的并没有改变。例如:function r=test1(a)%改变输入参数a的值r=;a=999;r=a;运行:a=100;test1(a);a输出:a = 100说明a的值并没有改变,可以这样
33、调用来改变a的值。>> a=100;a=test1(a);a输出:a = 9991.3.6.4 子函数函数文件可以包含一个以上的函数,该文件中的第一个函数时主函数,后面定义的所有函数都是子函数,子函数只允许同一个文件中的函数及其它函数访问。函数文件名要与主函数名相同。function s=mymainfunnum=input('输入一个正整数:')sprintf('从1到整数%d的和为%d',num,mysum(num)function s=mysum(num)%求1到num所有整数相加之和s=0;for i=1:num, s=s+i;end私有函数
34、私有函数指位于private目下的函数,它们只能被其上一层目录的函数访问,对于其它目录的函数是部可见的,这就允许私有函数可以与其它目录下的函数同名。MATLAB在执行某个程序或函数时,如果它有私有目录,则先查找私有目录,在根据MATLAB的PATH查找其它目录下的函数。如果建立了私有函数目录,则不要添加到MATLAB的查找路径当中。技巧:1.3.7 建立内部函数命令:inline语法:inline(expr) 根据expr建立内部函数,函数自变量根据表达式自动搜索;inline(expr, arg1, arg2, .) 指定参数,arg1等参数是字符串参数inline(expr, N) 参数为
35、x,P1,P2,PN为例子:g = inline('t2')f = inline('xyz','x','y','z')g = inline('xP1+xP2',2)例子:运行如下f = inline('x2+y3')f = Inline function: f(x,y) = x2+y3f(3,1)ans = 101.4 字符串函数1.4.1 函数简介在MATLAB程序设计中,在处理数据的输入与输出时,字符串函数是比较常用的。表字符串操作函数函数名调用格式功能strcatT=STRCA
36、T(S1,S2,S3,.) 连接字符串strvcatS=STRVCAT(T1,T2,T3,.)垂直连接字符串strcmpSTRCMP(S1,S2)比较字符串,S1与S2相同返回1,不同则返回0,区别大小写strncmpSTRNCMP(S1,S2,N)比较2字符串的前N个字符,区别大小写strcmpiSTRCMPI(S1,S2)比较字符串,忽略大小写strncmpiSTRNCMPI(S1,S2,N) Compare first N characters of strings ignoring case. 不区别大小写findstrK = FINDSTR(S1,S2)寻找较短的字符串在较长字符串中
37、的位置索引strjustT=STRJUST(S)T= STRJUST(S,'right')T= STRJUST(S,'center')T= STRJUST(S,'left')调整字符串strmatchI = STRMATCH(STR,STRS) 在字符串矩阵STRS中寻找以STR开头的字符串strrepS = STRREP(S1,S2,S3) 将S1中包含的字符串S2替换为S3,要区分大小写strtokSTRTOK(S)t,r=STRTOK(S,D)返回字符串中除去开始的空白串的第一个标记字符串upperB = UPPER(A) 将字符串转换成大
38、写lowerB = LOWER(A)将字符串转换成小写字符串与数值转换函数函数名调用格式功能num2strt=num2str(x)t=num2str(x,n)将数值转换成字符串n表示转换精度int2strs = int2str(x)将整数转换成字符串mat2strstr=mat2str(mat)将矩阵mat转换成可以计算的字符串str2doublex=str2double(s)将字符串转换成双精度数str2numx=str2num(s)将字符串矩阵转换成数值矩阵sprintfs,errmsg=sprintf(format,a,)format是格式化字符串,a,.是矩阵参数,errmsg是可选的
39、sscanfa,count,errmsg,nextindx=sscanf(s,format,size)Count,errmsg,nextindex,size是可选的输入、输出参数Size指定所读的元素个数,若没有则整个字符串都读取1.4.2 例子例子1:num2str(randn(2,2),3)输出:ans =-0.433 0.125 -1.67 0.288例子2:mat=magic(3)str=mat2str(mat)matnew=eval(str)输出:mat = 8 1 6 3 5 7 4 9 2str =8 1 6;3 5 7;4 9 2matnew = 8 1 6 3 5 7 4 9
40、 2其它函数: char(x) - 将x中非负数转换成字符 double(x) - 将x转换成双精度类型数据blanks(n) - 生成n个空格字符deblank(s) - 删除s末尾的空格 eval(s) - 计算Matlab字符串s 字符测试: ischar(s) - 属于字符则返回1,否则返回0 isletter(s) - 属于字母则返回1,否则返回0 isspace(s) - 属于空白字符则返回1,否则返回0. 文件操作函数1.4.3 文件处理函数matlabiofun 格式化的文件 I/O函数 fgetl - 从文件中读取一行数据,不保留行结束符 fgets - 从文件中读取一行数据
41、,保留行结束符 fprintf - 将格式化的数据写到文件 fscanf - 从文件中读取格式化的数据 input - 输入函数 textread - 从文件读取格式化的数据 字符串转换函数 sprintf - 将数据格式化成字符串 sscanf - 按照格式从字符串种读取数据strread - 从文本字符串种读取格式化数据 文件打开、关闭函数 fopen - 打开文件 fclose - 关闭文件 二进制文件 I/O函数 fread - 从文件读取二进制数据. fwrite - 将二进制数据写到文件中去 文件位置函数 feof - 测试是否到文件结尾 ferror - 查询文件错误状态 fre
42、wind - 将文件位置指示到文件开始 fseek - 设置文件位置指示器 ftell - 获得文件位置指示器1.4.4 读取格式化文件例子现有一个文本文件data.txt,其数据内容如下,每行有固定格式,均有5个数,文件内容如下:312530 23353540 25452960 30657580 40现要将该文件数据读入矩阵中,读取该文件的程序如下(flread.m)fid=fopen('data.txt','rt');if fid<0 sprintf('failure for reading file day.txt') returne
43、ndrow=0;while feof(fid) str=fgets(fid); row=row+1; if row>1, m(row,:)=str2num(str); else m=str2num(str); endendfclose(fid);输出:说明:由于是逐行读取,所以要判断是否读完,使用函数feof判断fgets:读取一行的字符串如果有些行在最后少了数据,则原来的程序会出错,出错行为下面的语句:m(row,:)=str2num(str)该行可改写为两行:tmp=str2num(str);m(row,1:length(tmp)=tmp1.5 二维作图1.5.1 基本图形1.5.1
44、.1 线性坐标平面图(1) plot(Y)根据Y的索引建立平面图,其横坐标向量等于1:length(Y),如果Y为虚数,则等价于plot(real(Y),imag(Y)。其他情况下作图,则忽略虚部。(2) plot(X,Y) X作为横坐标, Y作为纵坐标画平面图 (3) plot(X,Y,S)第3个输入参数S为字符串选项,该字符串由3组字符组成,分别为颜色、数据点形状、连接线形状,字符不分大小写,选项内容不论次序。(4) plot(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,.) 将多组数据画在同一张图上。颜色说明数据点形状说明连接线说明y黄色.点号-实线m洋红色o圆圈:点线c蓝绿色
45、x叉号-.点划线r红色+加号-虚线g绿色*星号b蓝色x小正方形w白色d菱形K黑色v下三角上三角<左三角>右三角p五角星形h六角星形1.5.1.2 对数坐标曲线semilogx,semilogy,loglog均用来绘制二维对数坐标曲线,其调用参数同plot,主要区别在于坐标的显示不同;x=1:0.2:100;y=abs(sin(x);semilogx(x,y)pausesemilogy(x,y)pauseloglog(x,y)pausegrid on1.5.1.3 给图形标注函数:titlexlabelylabel调用格式:xlabel ('text')添加text到
46、当前坐标轴的X轴a旁边,text为要添加的字符串文本xlabel ('text','Property1',PropertyValue1,'Property2',PropertyValue2,.)除了指定显示的文本外,还可以指定其属性,如字体大小,颜色等等;H = xlabel (.)返回该标签的图形句柄1.5.1.4 图形窗口分割函数:subplot(m,n,p)将当前图形窗口分割成m行n列个坐标轴,p指定为当前坐标轴用户可以在一个窗口上建立多个坐标轴图形例子:x=-2*pi:0.1:2*pi;subplot(2,3,1)plot(x,sin(x
47、)subplot(2,3,2)plot(x,sin(x+x)subplot(2,3,3)plot(x,2*sin(x)subplot(2,3,4)plot(x,sin(x)+2)subplot(2,3,5)plot(x,3*sin(x/2)输出图形:1.5.1.5 坐标系调整调用格式:axis(XMIN XMAX YMIN YMAX) 设置坐标系显示数据范围,也达到进行缩放比例的目的。1.6 Matlab编程练习题1.6.1 练习1题目:输入10个学生成绩,并找出成绩最好的前三位,并输出其分数。参考程序1:for i=1:10, grade(i)=input(. sprintf('输入
48、成绩(No.=%3d)',i) endvalue,idx=sort(grade);fore3=grade(idx(8:10)参考程序2:n=5;nfore=3;for i=1:n, grade(i)=input(. sprintf('输入成绩(No.=%3d)',i) endvalue,idx=sort(grade);fore=grade(idx(n-nfore+1:n)思考:比较两种实现的差别。1.6.2 练习2题目:输入20个学生的成绩,并找出最大分数,最小分数,前5名分数,最后5名分数,算出平均分数,不及格人数及各分数段人数。分段如下:0,59,60,69,70,79,80,89,90,100下面给出个简易功能相近版本。参考下列代码并编程求解上面的问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB36-T1736-2022-生猪规模养殖场建设规范-江西省
- 麻醉病人护理培训
- 药理学-练习卷附答案
- IGCSE艺术与设计创作2024-2025年模拟试卷:绘画技巧与设计思维创新设计竞赛
- 广东省2024-2025学年高中化学有机合成与推断能力提升训练卷
- 清晰阐述Msoffice试题及答案
- 五年级数学(小数四则混合运算)计算题专项练习及答案汇编
- 2025年统计学多元统计分析期末考试真题与习题库
- 2025年美发师创意造型综合考核试卷解析
- 全球视野的财务成本管理试题及答案
- 数字化电力系统转型-洞察阐释
- 2025各个班组安全培训考试试题含答案可下载
- 陇南2025年陇南市事业单位高层次人才和急需紧缺专业技术人才引进(第一批)笔试历年参考题库附带答案详解
- 线上陪玩店合同协议
- 蓉城小史官考试试题及答案
- 中美关税贸易战
- 中华人民共和国农村集体经济组织法
- 中华传统文化之文学瑰宝学习通超星期末考试答案章节答案2024年
- MOOC 中国电影经典影片鉴赏-北京师范大学 中国大学慕课答案
- 医院小型压力蒸汽灭菌器的使用及管理
- 中药学电子版教材
评论
0/150
提交评论