Matlab编程必备手册-.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Matlab编程必备手册-.pdf》由会员分享,可在线阅读,更多相关《Matlab编程必备手册-.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab 编程必备手册北京索为高科系统技术有限公司雒海涛2011-02-11 编程格式规范这儿把编程格式规范放在最前面希望大家在学习之前认真阅读该部分,对后面的 matlab编程大有裨益。一编程原则1.正确:能准确实现原仿真目的;2.高效:循环向量化,少用或不用循环,尽量调用MATLAB自带函数;3.清晰:养成良好的编程习惯,程序具有良好的可读性;4.通用:程序具高度的可移植性,同时易于扩展,避免同学之间重复工作。二.编程规则1.定义变量,以英文单词小写缩写开头表示类别名,再接具体变量的英文名称英文单词,具体变量首字母大写。教研室常用类别缩写:最大值max,最小值min 例如:定义变量存贮
2、临时数组TempArray的最大值maxTempArray 依照工程大小确定变量名长短,小范围应用的变量应该用短的变量名。定义务必清晰,避免混淆。2.循环变量使用常用变量i,j,k;程序中使用复数时,采用i,j以外的循环变量以避免和虚数单位冲突,同时要在注释部分说明变量意义。3.程序应高内聚、低耦合、模块函数化,便于移植、重复使用。4.使用 if 语句判断变量是否等于某一常数时,将常变量数写在等号之前,常数写在等号之后。例如判断变量 a是否等于 100写作 if a=100。5.用常数代替数字,少用或不用数字。例如上一条:写作if a=100就不标准。应先定义meanConst=100;为期望
3、常量。同时在注释中说明,然后在程序部分写作:if a=const;如果要修改期望常量的话,只要在程序定义部分修改就可以,不必再逐行修改,此外还易于在该程序的基础上增加其他功能。三.注释规则1.注释要用汉语,且用一个“%”连接文字作为注释开始标志。程序的起始要注明作者、时间、程序功能、复杂的算法需要加上流程说明。对于比较复杂的程序,由几个人协作完成,要在每一个模块的起始分别注明作者、时间、程序功能。注释采用matlab的注释符号。同时第一行增加关键字,便于将来程序文件较多时,使用help和lookfor 查找。例如:%关键字%此处为函数名,如果不是函数文件就取消此行%创建人:%日 期:%修改人:
4、%日 期:%函数变量及功能的简单描述%2.对于所有有物理含义的变量、常量、数据结构声明,在声明时都必须加以注释,说明其物理含义,单位。3.源程序有效注释量必须在20%以上,边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性,不再有用的注释要删除。注释语言必须准确、易懂、简洁,尽量不要用缩写。如果接手前人的程序,在维护过程中需要对变量以及源程序作部分修改及补充,在修改变量及程序注释的同时需要在修改的位置标明修改人的名字及修改日期。对原程序修改要及时修改注释。否则有注释比没有注释还要糟糕。4.程序内部不同功能模块要空一行,同时附注释说明模块的作用、功能。这样程序结构清晰易懂,便于
5、同学间学习交流。例如:模块一代码此处为空行%注释说明下一模块的功能%模块二代码5.一行代码不宜过长,应限制在80列之内。一旦有过长代码须用MATLAB转接符号“.”连接两行代码,以便于同学之间打印程序交流。因为大多是打印机的行长度为80。例:第一行代码nVariable=1+1+1+1+1+1+1+1+1+11+1+1+1+1+1+1+1+1+1+1+1+1.第二行代码+1+1+1;编程入门一前言Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和C、FORTRAN 等高级语言一样进行程序设计。利用Matlab 的程序
6、控制功能,可以将有关Matlab 命令编成程序存储在一个文件中(M 文件),然后在命令窗口中运行该文件,Matlab 就会自动依次执行文件中的命令,直到全部命令执行完毕。在 Matlab 程序设计中,要充分利用Matlab 数据结构的特点,提高编程效率。二 M文件M 文件以.m 为扩展名。M 文件是由若干Matlab 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。事实上,Matlab 提供的内部函数以及各种工具箱,都是利用 Matlab 语言开发的M 文件。用户也可以结合自己的工作需要,开发自己的程序或工具箱。M 文件根据调用方式的不同可以分为两类:Script:脚本文件/命令
7、文件,Function:函数文件。它们均是普通的ASCII 码构成的文件。M 脚本文件中包含一族由MATLAB 语言所支持的语句,它类似于DOS 下的批处理文件,它的执行方式很简单,用户只需在MATLAB 的提示符 下键入该M 文件的文件名,这样MATLAB 就会自动执行该M 文件中的各条语句,并将结果直接返回到MATLAB 的工作空间。M 函数格式是MATLAB 程序设计的主流,一般情况下,不建议您使用M 脚本文件格式编程。MATLAB 的 M 函数是由function 语句引导的,其基本格式如下:function 返回变量列表=函数名(输入变量列表)注释说明语句段,由%引导输入、返回变量格
8、式的检测函数体语句建议:M文件名与文件内主函数名相同(matlab是以文件名做区分的,当然函数名和文件名也可以不同)。三程序实例1.脚本文件举例:编写一个脚本文件将华氏温度转化为摄氏温度。5(32)9=-cf 新建一个M 文件f2cs.m,内容如下:clear;%清除当前工作空间中的变量f=input(Please input Fahrenheit temperature:);c=5*(f-32)/9;fprintf(The centigrade temperature is%gn,c);在命令窗口中输入f2cs,即可执行该M 文件。2.function 文件举例:计算两个数字之和。新建一个
9、m文件,命名为MySum.m,内如如下:function rt=MySum(x,y)rt=x+y;end 在命令窗口输入MySum(10,20)即可输出计算结果。程序控制结构一顺序结构按排列顺序依次执行各条语句,直到程序的最后,这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。二选择结构选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有if 语句和switch 语句。If条件语句单分支结构if expression(条件)statements(语句组)end 双分支结构if expression(条件)statements1(语
10、句组 1)else statements2(语句组 2)end 多分支结构if expression1(条件 1)statements1(语句组 1)elseif expression2(条件 2)statements2(语句组 2).elseif expressionm(条件 m)statementsm(语句组 m)else statements(语句组)end if 语句举例数论中的一个有趣问题:任取一个正整数,如果是偶数,用2 除,如果是奇数,用3 乘再加 1,反复这个过程,直到所得到的数为1。问:是否存在使该过程永不中止的整数?while 1 n=input(Please enter
11、n(nonpositive quit):);if n1 if rem(n,2)=0 n=n/2;else n=3*n+1;end fprintf(n n=%d,n);end fprintf(n n=%d is not we need!continue.n,nt);end switch 语句根据表达式的不同取值,分别执行不同的语句。switch expression(表达式)case value1(表达式 1)statement1(语句组 1)case value2(表达式 2)statement2(语句组 2).case valuem(表达式 m)statementm(语句组 m)otherw
12、ise statement(语句组)end Matlab 首先计算expression 的值,然后将它依次与各个case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出switch 结构。如果所有的比较结果都为假,则执行otherwise 后面的语句组,然后跳出switch 结构。otherwise 指令可以不出现。switch 后面的表达式expression 的值可以是一个标量或字符串。三循环结构循环结构是按照给定的条件,重复执行指定的语句。Matlab 用于实现循环结构的语句有for 语句和while 语句for 循环for variable=expression
13、 statement(循环体)end 表达式expression 可以是行向量,也可以是矩阵while 循环while expression(条件)statement(循环体)end 循环语句可以嵌套使用不能在for 循环体内改变循环变量的值为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免for 循环的使用如果预先就知道循环的次数,则可以采用for 循环;否则,如果预先无法确定循环的次数,则可以使用while 循环。四其它流控制语句break 和 continue break 语句用于终止循环的执行,即跳出最内层循环continue 语句用于结束本次循环,进行下一次循环break 和
14、 continue 一般与if 语句配合使用return return 语句用于退出正在运行的脚本或函数,通常用在函数文件中。Matlab 常用函数及函数实例一常用函数列表=小整理:MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数 z的相角(Phase angle)sqrt(x):开平方real(z):复数 z的实部imag(z):复数 z的虚部conj(z):复数 z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整
15、数rat(x):将实数 x化为分数表示rats(x):将实数 x化为多项分数展开sign(x):符号函数(Signum function)。当x0时,sign(x)=1。rem(x,y):求 x除以 y的馀数gcd(x,y):整数 x和y的最大公因数lcm(x,y):整数 x和y的最小公倍数exp(x):自然指数pow2(x):2的指数log(x):以 e为底的对数,即自然对数或log2(x):以 2为底的对数log10(x):以 10为底的对数=小整理:MATLAB常用的三角函数sin(x):正弦函数cos(x):馀弦函数tan(x):正切函数asin(x):反正弦函数acos(x):反馀弦
16、函数atan(x):反正切函数atan2(x,y):四象限的反正切函数sinh(x):超越正弦函数cosh(x):超越馀弦函数tanh(x):超越正切函数asinh(x):反超越正弦函数acosh(x):反超越馀弦函数atanh(x):反超越正切函数=小整理:适用於向量的常用函数有:min(x):向量 x的元素的最小值max(x):向量 x的元素的最大值mean(x):向量 x的元素的平均值median(x):向量 x的元素的中位数std(x):向量 x的元素的标准差diff(x):向量 x的相邻元素的差sort(x):对向量 x的元素进行排序(Sorting)length(x):向量 x的元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 编程 必备 手册
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内