Matlab中如何建立类函数?
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 结束⼀个函数)调⽤时,先实例化⼀个类,然后调⽤⼦函数即可
⼦函数内部可以继续调⽤类函数下的其他⼦函数。