MATLAB进行程序设计如何省时高效少出错

同:MATLAB进行程序设计如何省时高效少出错 - 知乎

利用MATLAB进行科研程序设计的注意点

最近利用MATLAB脚本进行了机器人相关程序的编写,因为这个经验不足,走了比较多的弯路

刚开始有了思路就埋头猛写代码,写着写着觉得差不多了,凭感觉编个函数,结果写完之后一运行结果错了!!!

然后回头一看

  • 变量命名很乱很随意,不知道这个变量是干什么的?
  • 中间过程中比较重要的变量没有进行保存,函数的输出是一些不重要的变量
  • 想要测试一下某个变量和预期符不符合,再拿出来单独写测试函数
  • 好不容易发现了某个功能的错误,修改了这个错误,结果发现还有别的地方也使用了类似的功能也错误了
  • 试探性的修改程序的错误,修改了其中一处,结果错误,然后又开始修改另一处导致最后也不知道是哪出错了

有一些感悟或者是技巧现在记录下来,希望以后可以提高编写程序的效率,减少出错的概率。

以后也会分享机器人相关方面知识,欢迎关注 Winter

前期思路

最开始的时候要构建好程序的大纲,这个是最为重要的,花的时间再多也不为过,可以用一些思维导图工具辅助

程序分几个

首先大题构建一下这个程序要干什么?想清楚之后大概考虑一下这个矩阵的运算量,对于我来说就是有一个矩阵求逆,这个矩阵求逆是比较花费时间的,所以我进行了第1个判断

这个程序并不是一个,分为两个大的程序,前一段要保存运算量大的结果,后一段再继续进行

  • 好处:因为跑那一段是相当花费时间的,如果因为操作不小心,要中断一下程序或者说不小心崩溃了,那又要重新计算,只要保存了这个结果的话,我们后续的那一段会相当快
  • 结果:我现在明确了程序的两个部分,第1部分花费时间得出最重要的结果,第2部分只要对结果进行一些画图处理就行

调用函数设计

有了程序就必须要确定调用的函数,函数的划分要注意以下几个点

1.考虑功能划分:对于如何划分函数?其中的一个因素就是根据功能来划分,要想清楚程序过程中功能复用性比较高的部分,把这一部分包装成函数

  • 好处1:程序易于阅读,这肯定不必多讲
  • 好处2:一旦你发现这个函数有任何的错误,你只需要修改这个函数,如果你有一个类似的功能,但被你划分成两个函数,那你一旦这个功能出现错误,你两个函数都要改,有时候你会出现,只修改一个而忘记修改另一个的情况

2. 考虑端口(输入输出)划分:我们在设计函数的时候,最重要的考虑的是它的输入和输出分别是什么,那我们就要针对重要的输入输出进行函数设计

  • 注意:如果函数过小,那么函数的数量就会比较多,中间会有一些不重要的变量干扰阅读
  • 好处:合适的端口划分,会使得你输出的变量是容易用来测试是否正确的,
  • 测试:写完这个程序,我们就要对这个程序进行测试,因为后面还会用到这个程序,如果错了的话会引发一连串的错误,而如果这个函数正确的话,我们就可以放心的使用它,在它的基础上再包装其他的函数

3. 设计好函数功能接下来,进行命名->编写->测试->拼接->完成主程序

变量、函数命名

  • 这个命名要符合他物理的含义,就是你看到名字就能知道他是干什么的
  • 对于变量和函数这两个命名要区分开,可以使用首字母大写来进行变量内容,利用下划线分割来命名函数

最后的小tips

  • 当你分了两个或者多个执行程序之后,就意味着这个执行程序需要跟前面后面进行交互,那么就会输入输出变量进行保存,这个输入输出变量要放在程序的最开始和最结尾,不要在中间或者说函数的里面load加载一个变量,如果上一个程序的输出变量需要更改的话,你还需要进入到这个程序或者函数的里面去改这个变量很麻烦
  • 进行中间小变量的输出,有利于查看问题出在哪里
  • 单独有一个测试模块,对前面每写一个函数都要进行测试功能是否符合预期
  • 注意版本更新,对于我没有必要用github的版本迭代,我会每次准备改都备份一下,然后写一个记事本,这次的版本特点,然后下一次打算进行哪方面的更改

如果你有哪些编程方面走的弯路然后得到了哪些小技巧,欢迎评论分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值