matlab获取当前打开软件的句柄,如何在Matlab中获取句柄到方法的输出数量?

将此类检查为foo.m。通过运行foo.main(),您可以恢复大部分已解决的问题。

这不是OOP中最大的优雅,但你有Matlab原样。

请记住,obj变量是MANDATORY,in和out。没有obj,没有点幻想。

最后的调用,必须包括f1。放置~不仅会丢失幻想,还会丢失对象及其数据。

除了obj处理之外,nargin | nargout | varargin | varargout仅在函数体内有效,并且通常与运行时相关。人们通常不知道你将抛出多少参数,因为它等于varargout单元的长度。

classdef foo

properties

value;

end

methods

function [obj,flag]=fun1(obj,this)

obj.value=this+1;

flag=1;

end

function [obj,flag]=fun2(obj,this)

obj.value=2*this;

flag=2;

end

function [obj,varargout]=fun3(obj,varargin)

for i=1:nargin-1

varargout{i}=varargin{i};

end

obj.value=0;

end

end

methods (Static)

function main()

if 0

%% Run this line

foo.main()

end

f1=foo();

[f1,flag]=f1.fun1(10);

flag

f1.value

f=@fun2;

%[f1,flag]=f1.f(10); % fails

flag

f1.value

[f1,flag]=f1.('fun2')(10);

flag

f1.value

[~,flag]=f1.fun2(10); % fails

flag

f1.value

[f1,a1,a2,a3,a4]=f1.fun3('x1',2,[],@(x)(x>1))

end

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值