这一篇博客主要学习了:

第一,自定义函数优点有很多,比如可重复利用;容易纠错,以后直接装入大工程里(更重要的是,实参是复制给形参的,在自定义函数中运行时形参独立显示,这一点和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。
函数加载前:

加载中:

加载后:

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

matlab 自定义函数及调用的更多相关文章

  1. MATLAB自定义函数

    MATLAB自定义函数形式 function [a,b,c] = funname(x1,x2,x3) 输入变量 对于输入变量,MATLAB可以识别输入变量的个数,通过nargin来记录当前输入变量个数 ...

  2. LR自定义函数以及调用

    2.2.自定义函数以及调用 2.2.1.虚拟用户编程,使用C# 语言DLL 在VS中建立DLL类库项目,编写函数时使用public声明:实现函数后编译生成DLL: 在LR中建立 .Net Vuser脚 ...

  3. php学习笔记:自定义函数的调用

    PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言.大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰. ...

  4. matlab自定义函数的五种表示(前2种重点)

    1.命令文件/函数文件+函数文件:多个M文件 2.函数文件+子函数:一个M文件 3. inline:无需M文件 4.符号表达式+subs方式:无需M文件 5.字符串+subs方式:无需M文件 第一种: ...

  5. 自定义函数和调用函数 return返回值

    1.Q: 为什么要有函数,函数是什么? A: 函数能提高应用的模块性,和代码的重复利用率 2. 函数分为两个阶段: 1.定义阶段 2.调用阶段 3.关于函数调用: 01.函数的内存地址加上()就是调用 ...

  6. 在JS中,一个自定义函数如何调用另一个自定义函数中的变量

    function aa1511() { var chengshi="马鞍山"; var shengfen="安徽省"; return shengfen+&quo ...

  7. FastReport调用Delphi中的人民币大写转换自定义函数

    FastReport调用Delphi中的人民币大写转换自定义函数   FastReport调用Delphi中的人民币大写转换自定义函数 function TJzpzEdit1.MoneyCn(mmje ...

  8. Matlab中函数定义方法

    Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...

  9. Mysql - 存储过程/自定义函数

    在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...

随机推荐

  1. HTML表格边框的设置小技巧-表格

    对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 一般我们用表格的时候总会给它个border属性,比如:<table b ...

  2. cocopods安装与使用

    转自http://www.cnblogs.com/jys509/p/4839803.html Cocoapods安装步骤 1.升级Ruby环境 sudo gem update --system 如果R ...

  3. POJ3169差分约束系统

    题意:有n头牛,编号为1到n,对于关系好的ml头牛,al和bl之间的距离不大于dl,关系差的md头牛,ad和bd之间的距离不大于dd,求第1头牛和第n头牛之间的距离 分析:这是一道差分约束系统的题目, ...

  4. Eclipse perl的IDE环境插件-EPIC

    前提:1.安装好perl环境:ActivePerl(验证方法:cmd中输入 perl -v 看是否有反应~) 2.安装Eclipse 3.0以上版本 可选:安装PadWalker包,主要是全局变量跟踪 ...

  5. IT技术网站汇总

    首先是比较著名的博客型的网站!一般来说在国外比较著名的博客基本上都是比较有影响力发起的或者建立的经常发布一些比较有思考力深入分析的文章! 博客媒体网站 1.www.ArsTechnica.com 2. ...

  6. 将ADS1.2的工程迁移到KEIL上-基于2440

    裸机程序应该是一个很好的选择 1. 不拷贝启动代码,因为我们用自己的启动代码 2.       建立工程目录分级,建立完成后如下所示 拷贝相应代码到对应目录中 Option中拷贝 Core中拷贝 建立 ...

  7. 创建和使用MySQL计划事件

    查看事件调度程序线程的状态: SHOW PROCESSLIST; 要启用和启动事件调度程序线程命令: SET GLOBAL event_scheduler = ON; 禁用和停止事件调度程序线程: S ...

  8. 浅谈MySQL分表

    关于分表:顾名思义就是一张数据量很大的表拆分成几个表分别进行存储. 我们先来大概了解以下一个数据库执行SQL的过程: 接收到SQL --> 放入SQL执行队列 --> 使用分析器分解SQL ...

  9. Unity3D ——强大的跨平台3D游戏开发工具(五)

    第九章 图形用户界面类G.U.I 您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的.这也是由于游戏本身的要求而决定的.比如说英雄的生命值,聊天 ...

  10. mysql 常用指令

    修改表的字符集 88down voteaccepted If you want to change the table default character set and all character ...