• matlab 自定义函数及调用


    这一篇博客主要学习了:

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

    加载中:

    加载后:

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

  • 相关阅读:
    jni java与c++交互返回三维数组jobjectArray
    Android开发之EditText 详解(addTextChangedListener监听用户输入状态)
    Android JNI和NDK学习(09)--JNI实例二 传递类对象
    JavaDoc的生成规则---ShinePans
    Android 电话自己主动接听和挂断具体解释
    传统线程技术(一)
    Linux内核启动及根文件系统载入过程
    eclipse、MyEclipse实现批量改动文件编码
    菜鸟开发—应具备的搜索技巧
    Java之GUI编程(一)
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4864129.html
Copyright © 2020-2023  润新知