这一篇博客主要学习了:

第一,自定义函数优点有很多,比如可重复利用;容易纠错,以后直接装入大工程里(更重要的是,实参是复制给形参的,在自定义函数中运行时形参独立显示,这一点和C不一样)。

第二,通过help/lookfor 自定义函数名 快速查找到自己所写的函数(H1注释行功能)

第三,调试功能

自定义函数代码:

function  distance = dist(x1, y1, x2, y2) %写在首行
%自定义函数
%脚本文件:dist.m
%函数功能:
% 该函数用来计算笛卡尔坐标系中两点之间的距离,两个点的坐标通过形参输入()
% 学习H1注释行的使用,及函数的调用
%DIST函数:计算计算笛卡尔坐标系中两点之间的距离
%
%应用示例:
% res =dist(x1, y1, x2, y2)
%
% 定义变量:
% x1 ---位置1的x坐标
% y2 ---位置2的y坐标
% x1 ---位置1的x坐标
% y2 ---位置2的y坐标
%
% 版本记录:
% 日期 负责人 版本描述
% -- 王茂春 源代码 % 计算距离
distance = sqrt((x2-x1).^ + (y2-y1).^);

调用代码:

% 脚本文件: test_dist.m
%
% 目标: 实际调用自定义函数dist % 定义变量:
% a1 ---位置a的x坐标
% b2 ---位置b的y坐标
% a1 ---位置a的x坐标
% b2 ---位置b的y坐标
%
% 版本记录:
% 日期 负责人 版本描述
% -- 王茂春 源代码 %获取输入数据
disp('计算笛卡尔坐标系中两点之间的距离');
ax =input ('输入位置a的x坐标: ');
ay =input ('输入位置a的y坐标: ');
bx =input ('输入位置b的x坐标: ');
by =input ('输入位置b的y坐标: '); %调用函数
result =dist(ax, ay, bx, by); %输出结果
fprintf('笛卡尔坐标系中两点之间的距离是:%f\n',result);

运行效果就不说了,正确。重要的是思想!

--------------------------------------------------------------------------------

第二,通过help查找

通过lookfor查找:

第三,断点测试:

为了仔细观察工作区在函数执行前后的变化, 我们将在MATLAB调试器中加载函数dist2
和脚本文件 test_dist2。在函数加载前,加载中,加载后设置断点(如图 5.1 所示) 。
当程序中止在函数调用之前的断点,它的工作区如图 5.2(a)所示。注意工作区中只有变
量 ax,ay,bx 和 by。当程序中止在函数调用过程中的断点,它的工作区如图 5.2(b)所示。
注意工作区中只有变量 x1,x2,y1,y2 和 distance。当程序中止在函数调用后的断点,它的
工作区如图 5.2(c)所示。 注意工作区中原来的变量又重复出现, 再加上函数返回的变量 result。
函数加载前:

加载中:

加载后:

所以,这个互相独立的调试确实很好!学习了

最新文章

  1. Android(Java)控制GPIO的方法及耗时分析
  2. 获取 苹果UDID 序列号
  3. Android源码分析之HandlerThread
  4. SQL Server--用户自定义函数
  5. sql总结
  6. <img>元素底部为何有空白?
  7. MVC5之路由机制
  8. smokeping安装部署最佳实践
  9. 读书笔记 effective c++ Item 47 使用traits class表示类型信息
  10. JavaScript正则表达式之分组匹配 / 反向引用
  11. 【USACO12JAN】视频游戏的连击Video Game Combos
  12. app电量测试
  13. 火眼发布Windows攻击工具集
  14. Android Studio打包程序时出现transformClassesWithDexForRelease错误
  15. Linux之shell脚本for、while、case语句的高级用法
  16. Hibernate 再接触 多对多单向双向关联
  17. (五)JMM的介绍
  18. 迷宫问题的C语言求解
  19. IIS配置中出现HRESULT:0X80070020错误
  20. 循环遍历li并获取其自定义属性的方法

热门文章

  1. ios 字体设计
  2. ftp_get_file_and_directory
  3. 忘记Django登陆账号和密码的处理方法
  4. iOS 之 网络 NSURLSession
  5. UVa 143 - Orchard Trees
  6. div垂直居中(js)
  7. 3.1. 修改托管对象模型(Core Data 应用程序实践指南)
  8. ExtJs 中的ext.date
  9. BNU Online Judge-34978-汉诺塔
  10. jQuery 动画的执行