加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab里的类class,及例子

(2013-11-21 08:02:18)
标签:

matlab

class

面向对象

分类: 工:编程
Matlab里的类class,是把类的定义和类方法的实现都放在一个m文件中,用类的名字命名文件,即"类名.m"。这样的实现方法与C++、java等常用编程语言相似。使用类(class)有很多好处,其中一个重要的好处便是解决变量名冲突和让函数、对象的结构清晰。

但这样做是有代价的,其中一个便是效率问题。如果普通函数的百万次调用的时间开销约0.25秒,而封装后的函数的百万次调用的时间开销高达14.5秒,相差约70倍。

以下是一个基本的Matlab中class的写法。

\begin{lstlisting}
    % Create a class named payment, placed in file 'payment.m'

    classdef payment
        properties
            rate;
            term;
            principle;
        end

        methods
            function pay = payment(r, t, p)
                pay.rate = r;
                pay.term = t;
                pay.principle = p;
            end

            function disp(pay)
               money = pay.principle * (1 + pay.rate)^pay.term;
               fprintf('After %d year, you will obtain %f money !\n', pay.term, money)
            end
        end
    end
\end{lstlisting}

用法:
1. 创建object:pay = payment(0.1, 10, 100)
2. 调用: pay.rate = , pay.term = , pay.principle = 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有