matlab编程必备.doc
![资源得分’ 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编程必备.doc》由会员分享,可在线阅读,更多相关《matlab编程必备.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一编程原则 1. 正确:能准确实现原仿真目的; 2. 高效:循环向量化,少用或不用循环,尽量调用MATLAB 自带函数; 3. 清晰:养成良好的编程习惯,程序具有良好的可读性; 4. 通用:程序具高度的可移植性,同时易于扩展,避免同学之间重复工作。 二. 编程规则 1. 定义变量,以英文单词小写缩写开头表示类别名,再接具体变量的英文名称英文单词, 具体变量首字母大写。 教研室常用类别缩写:最大值 max,最小值min 例如:定义变量存贮临时数组TempArray 的最大值maxTempArray 依照工程大小确定变量名长短,小范围应用的变量应该用短的变量名。定义务必清晰,避免 混淆。 2. 循
2、环变量使用常用变量i,j,k;程序中使用复数时,采用i,j以外的循环变量以避免和虚数单位冲突,同时要在注释部分说明变量意义。 3. 程序应高内聚、低耦合、模块函数化,便于移植、重复使用。 4. 使用if 语句判断变量是否等于某一常数时,将常变量数写在等号之前,常数写在等号之后。 例如判断变量a 是否等于100 写作if a =100。 5. 用常数代替数字,少用或不用数字。 例如上一条:写作if a = =100 就不标准。应先定义meanConst=100;为期望常量。同时在注释中说明,然后在程序部分写作:if a = =const;如果要修改期望常量的话,只要在程序定义部分修改就可以,不必
3、再逐行修改,此外还易于在该程序的基础上增加其他功能。 三. 注释规则 1. 注释要用汉语,且用一个“%”连接文字作为注释开始标志。程序的起始要注明作者、时间、程序功能、复杂的算法需要加上流程说明。对于比较复杂的程序,由几个人协作完成,要在每一个模块的起始分别注明作者、时间、程序功能。注释采用matlab 的注释符号。同时第一行增加关键字,便于将来程序文件较多时,使用help 和lookfor 查找。例如: %关键字% %此处为函数名,如果不是函数文件就取消此行 % %创建人: % 日期: %修改人: % 日期: %函数变量及功能的简单描述 % 2. 对于所有有物理含义的变量、常量、数据结构声明
4、,在声明时都必须加以注释,说明其 物理含义,单位。 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 c = - ( f -32) 9 新建一个 M 文件f2cs.m,内容如下: clear; % 清除当前工作空间中的变量 f=input(Please input Fahrenheit temperature:); c=5*(f-32)/9; fprintf(The centigrade temperature is %gn,c); 在命令窗口中输入f2cs,即可执行该M
9、文件。 2.function 文件举例:计算两个数字之和。 新建一个m 文件,命名为MySum.m,内如如下: function rt = MySum(x,y) rt=x+y; end 在命令窗口输入MySum(10,20)即可输出计算结果。 程序控制结构 一顺序结构 按排列顺序依次执行各条语句,直到程序的最后,这是最简单的一种程序结构,一般涉及数 据的输入输出、数据的计算或处理等。 二选择结构 选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结 构的语句有if语句和switch语句。 If 条件语句 单分支结构 if expression (条件) sta
10、tements (语句组) end 双分支结构 if expression (条件) statements1 (语句组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乘
11、再加 1,反复这个过程,直到所得到的数为1。 问:是否存在使该过程永不中止的整数? while 1 n=input(Please enter 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) statement
12、1 (语句组1) case value2 (表达式2) statement2 (语句组2) . . case valuem (表达式m) statementm (语句组m) otherwise statement (语句组) end l Matlab 首先计算 expression 的值,然后将它依次与各个case指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch结构。 l 如果所有的比较结果都为假,则执行otherwise后面的语句组,然后跳出switch结构。 l otherwise 指令可以不出现。 l switch后面的表达式 expression的值
13、可以是一个标量或字符串。 三循环结构 循环结构 是按照给定的条件,重复执行指定的语句。Matlab 用于实现循环结构的语句有for 语句和while语句 for 循环 for variable=expression statement (循环体) end 表达式 expression 可以是行向量,也可以是矩阵 while 循环 while expression (条件) statement (循环体) end l 循环语句可以嵌套使用 l 不能在for循环体内改变循环变量的值 l 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for循环的使用 l 如果预先就知道循环的次数,则可
14、以采用for 循环;否则,如果预先无法确定循环 的次数,则可以使用while 循环。 四其它流控制语句 break 和 continue l break 语句用于终止循环的执行,即跳出最内层循环 l continue 语句用于结束本次循环,进行下一次循环 l break 和continue 一般与if 语句配合使用 return l return 语句用于退出正在运行的脚本或函数,通常用在函数文件中。 Matlab 常用函数及函数实例 一常用函数列表 = 小整理:MATLAB 常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z 的相角(Phase angle)
15、 sqrt(x):开平方 real(z):复数z 的实部 imag(z):复数z 的虚部 conj(z):复数z 的共轭复数round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 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
16、和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):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(
17、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 的元素个数 norm(x): 向量x 的欧氏(Euclidean)长度 sum(x): 向量x 的元素总和 prod(x): 向量x 的元素总乘积 cumsum(x): 向量x 的累计元素总和 c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 编程 必备
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内