matlab代码规范v01.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab代码规范v01

Matlab编程规范 草稿v0.1 整理自林锐《高质量C++/C编程指南》杨高波 等《精通MATLAB 7.0 混合编程》 函数名和文件名必须相同命名应该能够反映它们的意义或者用途”函数名_demo”或者“函数名_test”。函数名应当使用“动词”或者“动词+名词”(动宾词组),用大写字母开头的单词组合而成     例如:     DrawBox();  // 全局函数     class Node;  // 类名     void? Draw(void);   ?// 函数名     void? SetValue(int value);  // 函数名function I = CalcCircleHoleFD(CircleHoleFD, theta) %================================================================ % 功能:?? 求圆孔的夫琅禾费衍射光强分布 % 参数:?? CircleHoleFD为圆孔结构体,包含圆孔衍射相关信息; %????????? theta为衍射场的次波方向,可以为向量,求取各方向的光强 % 返回值:? I为衍射光强分布 % 主要思路:使用夫琅禾费单缝衍射公式计算 % 备注:??? 入射角只考虑一个维度的 % 调用方法:见CalcCircleHoleFD_Test文件 % 日期:??? 2011/7/12 20:37 %================================================================ 。。。(具体编程开始) Matlab支持函数间的相互调用M文件可以包含2个以上的函数,第一个函数就是主函数,通过M文件的名字就可以调用这个函数。除主函数外,其余的函数就是子函数。子函数只能被本文件中的主函数和子函数调用。主函数必须排在前面,子函数的顺序可以任意排列。 函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能多于函数M文件中所规定的输入和输出变量数目;变量nargin包含输入参数的个数;变量nargout包含输出参数的个数。 函数有它们自己的专用工作空间,它与Matlab的工作空间分开;函数可以递归调用,即M文件函数能调用它们本身;必须确保会终止,否则Matlab会陷入死循环。 当函数M文件到达M文件终点,或者碰到返回命令return时,结束执行和返回。 Matlab函数error()在命令窗口显示一个字符串,放弃函数执行,把控制权返回给键盘。 调用方法matlab鼓励的是编写一个详细的使用帮助,比如help max可以查看max函数的使用帮助,里面给出了如何用、注意事项、例子等,但这个感觉也太麻烦了,如果用作公司程序发布还行,自己编代码,只要能很快回忆起来如何用就行,不用那么麻烦,所以可以这样来,编写一个测试脚本,如CalcCircleHoleFD_Test表示对CalcCircleHoleFD函数的测试,一方面是对自己编写过程中代码的随时检验,另一方面也提供了函数的具体使用方法,所以,编写的过程也就是在写帮助的过程,最后代码也测试通过了,帮助也写好了,过一段时间回忆代码,直接看测试程序就马上知道怎么用了。 这里涉及一个问题,干嘛那么麻烦的,直接写一个函数,不带参量,编一点,测试一点,不是更快,省的在两个文件之间切换,这个文件改一点,再在那边运行测试。其实这是一个函数封装的思想,matlab为什么方便,就是他提供给你各种函数,你直接调用就行了,那为什么自己编程的时候不能这样呢?把自己要实现的功能编写成各个函数,既方便调用,也方便思路整理,不然在几百行的程序代码里游来游去,代码前后耦合,前边一个变量改了,后面一票变量需要跟着变,这样不好。 首先变量的命名规范,由于matlab是对类型不敏感的,所以不必像VC一样要标识变量的类型,可以简单的以单词来作为变量名,但如果变量名里有好几个单词,不好区分,所以可以让单词的首字母大写,或者各个单词用下划线(_)连接,如CircleHoleFD或Circle_Hole_FD等; 循环变量可以用loop开头,如loopi,不过常常用,可以形成规范,如用i,j,k来表示循环变量等,但在用到复数时要注意了,i,j是代表复数单位的;等等。 ?变量名和参数名应当使用“名词”或者“形容词+名词”,用小写字母开头的单词组合而成例如:     float? value;     float? oldValue;     float? newValue;     BOOL flag;     int? drawMode;   常量全用大写的字母,用下划线分割单词。     例如:     const int MAX = 100;     const

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档