ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:54.80KB ,
资源ID:3413934      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3413934.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab基本语句.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

matlab基本语句.docx

1、matlab基本语句第2章MATLAB程序设计MATLAB语言为解释型程序设计语言。在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。2.1 顺序结构语句在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。2.1.1 表达式语句格式:表达式, 显示表达式值表达式; 不显示表达式值表达式 显示表达式值如: x + y, sin(x); 5最后的表达式值暂保存在变量ans中。2.1.2 赋值语句

2、格式:v = 表达式, 结果送v并显示vv = 表达式; 结果送v不显示vv = 表达式 结果送v并显示v2.1.3 空语句格式: , ;2.1.4 输入语句1、input语句(实际上是函数)格式1:input(提示字符串)功能:显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式 格式2:input(提示字符串,s)功能:显示提示字符串,并把输入视为字符串2、yesinput语句格式:yesinput(提示字符串,缺省值,值范围)功能:显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。如:t=yesinput(

3、指定线的颜色, red,red|blue|green)运行结果如下:指定线的颜色(red):yellow %不在值内指定线的颜色(red):blue %重输t = bluex=yesinput(输入元素个数,10,1,20)运行结果如下:输入元素个数(10):x = 103、Keyboard语句格式:Keyboard功能:暂停M-文件的执行,并等待用户从键盘输入命令以查看或改变变量的值,直到输入return命令而返回相应的M-文件继续执行。本语句用于调试M-文件。4、pause语句格式1:pause 功能:暂停,敲下任一键继续格式2:pause(n) 功能:暂停n秒格式3:puase on 功

4、能:本命令后的pause语句有效格式4:pause off 功能:本命令后的pause语句无效5、menu语句格式:menu(菜单名,S1,S2,Sk)功能:生成一个按钮式菜单系统其中:字符串S1,S2,Sk为菜单项(K32)。函数返回值为用户选中的菜单项号。如M-文件,menu_d.m如下:%选择一种颜色while 1 k=menu(选择一种颜色,红色, 黄色,兰色,绿色,白色,关闭); if k = = 1 color = Red elseif k = = 2 color = Yellow elseif k = = 3 color = Blue elseif k = = 4 color =

5、 Green elseif k = = 5 color = White elseif k = = 6 break endend 2.1.5 输出语句1、直接终端显示当一个表达式、赋值语句等语句用逗号或者回车作为结尾符,而不是分号作为结尾符时,该表达式或赋值语句的运行结果均在终端上显示出来。2、diary语句(日记)格式1:diary 文件名功能:打开指定的文件并将该语句之后终端显示的内容(包括键入的命令和输出结果)记入该文件。格式2:diary off功能:暂停记入显示内容到指定的文件格式3:diary on功能:继续记入显示内容到指定的文件diary语句可产生一个日志文本文件,为以后书写报告

6、或编辑M-文件提供素材。3.disp 语句格式:disp(x)功能:显示x的值,但不显示x的名4.sprintf 语句格式:Str,ErrMsg = SPRINTF(格式串,表达式1,.)其中:格式串与C语言的规定一致 Str存放结果的功能:按照格式串的规定把各表达式的实部分别转换为字符串并存入 Str,若有错误,则把错误信息存入ErrMsg如:sprintf(%0.5g,(1+sqrt(5)/2) 1.618sprintf(%0.5g,1/eps) 4.5036e+15 sprintf(%15.5f,1/eps) 4503599627370496.00000sprintf(%d,round(

7、pi) 3sprintf(%s,hello) hellosprintf(The array is %dx%d.,2,3) The array is 2x3.sprintf(n) 换行2.1.6变量值的保存与恢复1、保存工作空间中的变量到文件中格式1:save 文件名功能:保存工作空间中的全体变量到指定文件(扩展名设定为.mat)中。若省略文件名,则文件名缺省为MATLAB.mat。该文件为二进制格式,称为MAT文件。格式2:save 文件名 变量名表 -append功能:保存指定的变量到文件中。变量名表中两变量之间用逗号或空格分开。格式3:save 文件名 变量名表 -ascii -tabs功

8、能:用8位数、ASCII码格式保存指定的变量到文件中。格式4:save 文件名 变量名表 -ascii double-tabs功能:用16位数、ASCII码格式保存变量到指定文件中。2、保存工作空间中的变量到C风格文件中相关语句(后面详介):fid=fopen(文件名,权限串)fwrite(fid,表达式,精度串)%二进制fprintf(fid,格式串,表达式)fclose(fid)3、恢复变量到工作空间格式1:load功能:从MATLAB.mat文件中恢复变量格式2:load 文件名功能:从指定文件中恢复变量格式3:load 文件名 -ascii功能:从无扩展名的文本文件中生成一个以文件名为

9、变量名的数组(文件中含有m行、n列数据)。格式4:load 文件名.扩展名 -mat功能:从具有指定扩展名的MAT文件中恢复变量。格式5:load 文件名.扩展名功能:从具有指定扩展名的文本文件生成与文件名同名的数组(文件中含有m行、n列数据)。例如:设文本文件coff.txt中的数据为:1,2,3,4,56,7,8,9,10执行命令load coff.txt则命令coff将显示coff= 1 2 3 4 567 8 9 10格式6:A, Count = fread(fid,size,precision)A,Count = fscanf(fid,format,size)其中:precision

10、可为: MATLAB C or Fortran Descriptionuchar unsigned char unsigned character, 8 bits.schar signed char signed character, 8 bits.int8 integer*1 integer, 8 bits.int16 integer*2 integer, 16 bits.int32 integer*4 integer, 32 bits.int64 integer*8 integer, 64 bits.uint8 integer*1 unsigned integer, 8 bits.uint

11、16 integer*2 unsigned integer, 16 bits.uint32 integer*4 unsigned integer, 32 bits.uint64 integer*8 unsigned integer, 64 bits.single real*4 floating point, 32 bits.float32 real*4 floating point, 32 bits.double real*8 floating point, 64 bits.float64 real*8 floating point, 64 bits.功能:从C风格文件中读入size个数据到A

12、,Count为实际读入数据个数2.2选择结构2.2.1 if语句格式1:if 表达式语句组 end功能:若表达式值的实部或值为真,则执行语句组格式2:if 表达式语句组1else 语句组2end功能:若表达式值实部非0或值为真,则执行语句组1,否则执行语句组2。格式3:if 表达式1语句组1 elseif 表达式2语句组2 elseif 表达式n语句组nelse 语句组n+1end功能:若表达式1为真则执行语句组1否则,若表达式2为真则执行语句2 否则若表达式n为真则执行语句组n否则执行语句组n+12.2.2 switch语句格式:switch 表达式 case e1 语句组1 case ex

13、1,ex2,ex3,. 语句组2 . case exp1,exp2,exp3,. 语句组n otherwise, 语句组n+1end功能:若表达式的值为e1则执行语句组1否则,若表达式的值为ex1,ex2,ex3,中的一个,则执行语句组2 否则,表达式的值为exp1,exp2,exp3,中的一个,则执行语句组n否则,则执行语句组n+1例如:switch lower(METHOD) case linear,bilinear disp(Method is linear) case cubic disp(Method is cubic) case nearest disp(Method is nea

14、rest) otherwise disp(Unknown method.) end(switch语句是5.0以上版本中增加的,可以用更加简洁的方式描述多向选择)例如:clear;%创建元胞数组:a,b,c,dfor i=1:10;ai=89+i;bi=79+i;ci=69+i;di=59+i;end;c=d,c;Name=李洪斌,赵向阳,龚 力,王立伟,马玉书;Mark=72,83,56,94,100;Rank=cell(1,5);%S=struct(Name,Name,Marks,Mark,Rank,Rank);%for i=1:5 switch S(i).Marks case 100 S(

15、i).Rank=满分; case a S(i).Rank= 优秀; case b S(i).Rank= 良好; case c S(i).Rank= 及格; otherwise S(i).Rank=不及格; endend%disp(学生姓名 , 得分 , 等级);for i=1:5; disp(S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank);end; 学生姓名 得分 等级李洪斌 72 及格赵向阳 83 良好龚 力 56 不及格王立伟 94 优秀马玉书 100 满分 2.2.3 try语句格式2:try 语句组1catch

16、语句组2end功能:执行语句组1,若执行语句组1的过程中发生错误则执行语句组2。可查看lasterr中的内容,获取错误信息。(lasterr()清除错误信息)2.2.4 选择语句的嵌套当以上选择语句出现在另一个选择语句的语句组中时,即构成了选择语句的嵌套。当选择语句嵌套时,应注意一个if必须与一个距离最近的end匹配。2.3 循环结构语句2.3.1 for语句格式1:for 变量初值:增量:终值 语句组 循环体end其中: 增量若省略时,增量值取为1。功能:表示对于变量从初值直到终值,每次变化一个增量的每一个值都执行语句组一次。如:for n = 1:100 x(n) = sin(npi/10

17、0);end本格式的for语句用于执行一定次数的循环格式2:for 变量数组名 语句组 循环体end功能:每次循环时取数组的下一列元素(第一次循环时取第1列元素)赋给变量(故变量本身成为数组),然后执行语句组,直到数组的全体列都取完为止。如:a=1,5,9;0,1,1;for n=a,n(1)n(2), endans = 1ans = 6ans = 82.3.2 while语句格式:while 表达式语句组end当表达式的值为真或其实部为非0,重复执行语句组(循环体),直到表达式的值为0或其实部为0。注意:表达式为数组时全部非0才为真。如:a=1,3,5;1,0,1; n=0;while a0

18、, n=n+1, end由于a中含有一个0,故一次循环也未执行。2.3.3 循环嵌套在一个循环的循环体内又含有另一个循环结构,即构成循环的嵌套。2.3.4 break语句格式:break功能:该语句将中止当前它所在的循环。如:找出mn之间的全体素数function u=fq(m,n)找出m到n的全体素数 fq(m,n)若仅有一个参数则m= 2,给出参数作为n若没有参数则m = 2,n = 1001999.3if nargin = 0, m = 2; n = 100;elseif nargin = 1, n = m; m = 2;endi=1;for t = m:n, if t = 2; for

19、 r = 2:t1, if fix(t/r)r = t/rr, break end end if r=t1,u(i)=t;i=i+1;end else u(i)=t;i=i+1; endend执行fq的运行结果:ans =Columns 1 through 12 2 3 5 7 11 13 17 19 23 29 31 37Columns 13 through 24 41 43 47 53 59 61 67 71 73 79 83 89Column 25 972.4 文件读写函数1、fopen函数fid = fopen(文件名,权限)其中:权限可为r(只读)、w(只写)、 a(追加)、rb(二

20、进制文件 只读)、wb(二进制文件只写)、 ab(二进制文件追加)、rt(文 本文件只读)、wt(文本文件只 写)、at(文本文件追加)。功能:函数执行成功,fid中为一整数,表示文件代号;否则为1。(fid:规定标准输入为0,标准输出为1,错误信息文件为2)2、fclose函数fclose(fid)或 fclose(all)3、fprintf函数count=fprintf(fid,格式串,输出名表)功能:将输出名表中的成员依次按格式串输出到fid文件中,返回输出的字节数。关于格式串的规定与C相同。如%s(字符串输出)、%d(整数输出)、%10.2f(实数输出,共10个字符宽,含两位小数)等。

21、4、fscanf函数变量,count=fscanf(fid,格式串,长度)功能:从文件fid中读取指定长度(按格式串控制)的数据到变量中,count为读入字节数,若长度省略,表示整个文件。若为m,n表示读入一个m行n列的矩阵到变量中。5、fread函数变量,count = fread(fid,长度)功能:读fid文件中的二进制数据到变量中,长度含义同fscanf函数。6、fwrite函数count = fwrite(fid,变量)功能:将变量中的全体元素按二进制形式写入fid文件中。count为成功写入的元素个数。7、fgetl函数与fgets函数变量= fgetl(fid)变量= fgets

22、(fid)功能:均为从fid中读入一行,但前者读入时不含回车换行,而后者包含回车换行。还有其它一些函数,请参阅相关书籍。2.5一个可运行MATLAB命令的函数格式:eval(字符串)功能:该函数将执行宏替换:即把字符串看成一个命令(有点类似于C中的System函数)如:for n = 1:3eval(M,num2Str(n),= magic(n)end 执行后结果为:M1 = 1阶魔方阵 1M2 = 2阶魔方阵 1 3 4 2M3 = 3阶魔方阵 8 1 6 3 5 7 4 9 2 注意:程序中方括号的使用,可把其中各字符子串拼接起来,也可写成:f = M,num2str(n),magic(n

23、);eval(f)又如:m=5;t=1/(i-1+j);a = zeros(m);for i = 1:m for j = 1:m a(i,j) = eval(t); endenda 执行后结果为:a = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111 在MATLAB中还有其他类似的函数,如:feval, evalin, assignin, evalc2.6局部工作空间和基本工作空间在MATLAB命令窗口中使用的工作空间为基本工作空间,在该窗口中定义的变量、非函数文件中定义的变量以及全局变量均存在于该工作空间中。各函数文件中所定义的变量仅存在于相应的局部工作空间中,也就是说,一个函数文件执行结束后,其定义的变量也随之消失了。函数文件之间可以通过输入、输出参数传递信息。也可以通过使用全局变量传递信息。global 变量名表该命令使相应变量名表中的变量成为全局变量,出现在各函数中global命令中的相同变量名将取得同一值(即全局变量是按共名原理设计的)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1