• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab 自定义函数及调用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这一篇博客主要学习了:

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

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

第三,调试功能

自定义函数代码:

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

% 计算距离
  distance = sqrt((x2-x1).^2 + (y2-y1).^2);

调用代码:

% 脚本文件: test_dist.m
% 
% 目标: 实际调用自定义函数dist

% 定义变量:
% a1              ---位置a的x坐标
% b2              ---位置b的y坐标
% a1              ---位置a的x坐标
% b2              ---位置b的y坐标
% 
% 版本记录:
%       日期           负责人             版本描述
%       2015-10-9 10   王茂春             源代码

%获取输入数据
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。
函数加载前:

加载中:

加载后:

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi中如何截取控件消息发布时间:2022-07-18
下一篇:
delphi中的copy函数和pos函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap