zoukankan      html  css  js  c++  java
  • Matlab中如何建立类函数?

    今天偶然发现了Matlab可以像Python一样,有类函数的概念。具体这么做:

    需求

    假设现在需要设计一个数学计算类,类下面可以自己定义加减乘除,然后调用这个类实现混合运算。

    实现

    创建一个 my_math.m (即和类函数名字一样,这是matlab脚本的传统要求) 脚本文件,内容如下:

    %% 定义类函数
    function m = my_math
    m.add = @my_add;
    m.del = @my_del;
    m.mult = @my_mult;
    m.mix = @my_mix;
    end
    
    %% 定义加法
    function out = my_add(x,y)
    out = x+y;
    end
    
    %% 定义减法
    function out = my_del(x,y)
    out = x-y;
    end
    
    %% 定义乘法
    function out = my_mult(x,y)
    out = x*y;
    end
    
    %% 定义混合运算
    function out = my_mix(x,y)
    m = my_math;  % 实例化
    out = m.mult(m.add(x,y),m.del(x,y));
    end
    

    然后你可以在控制台调用它:

    >> m=my_math;
    >> m.mix(3,1)
    ans =
    
         8
    

    总结

    • 构造类的基本流程就是 先定义类函数,在类函数里构造子函数,并通过句柄 @ 对应的函数
    • 子函数可以独立存在,贴到类函数下面(注意函数要有完整的结构,用 end 结束一个函数)
    • 调用时,先实例化一个类,然后调用子函数即可
    • 子函数内部可以继续调用类函数下的其他子函数
    © 版权声明
    文章版权归作者所有,未经允许请勿转载。
  • 相关阅读:
    《逍遥法外》观后感
    1237. 螺旋折线
    P2196 挖地雷
    787. 归并排序
    466. 回文日期
    P1032 字串变换
    P1825 [USACO11OPEN]Corn Maze S
    P1162 填涂颜色
    P1101 单词方阵
    P1019 单词接龙
  • 原文地址:https://www.cnblogs.com/gshang/p/14523189.html
Copyright © 2011-2022 走看看