gpt4 book ai didi

matlab - Matlab 编码器的 OOP Matlab 继承问题(Simulink MATLAB 功能 block )

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:42 27 4
gpt4 key购买 nike

我定义了一个抽象基类measurementHandler < handle它定义了所有继承类的接口(interface)。这个类的两个子类是a < measurementHandlerb < measurementHandler .

我现在有一个函数,它应该将这些子类(取决于函数参数)的实例的句柄返回给它的调用者。考虑这样的事情:

function returnValue = foobar(index)
if index == 0
returnValue = a();
else
returnValue = b();
end
end

此函数包含在 Simulink (2013a) 中的 MATLAB Function block 中。当我尝试模拟系统时,出现以下错误:

Type name mismatch (a ~= b).

有人可以为此提出一个解决方法,它仍然允许我在使用 Simulink 时利用 OOP 和继承吗?

最佳答案

仅当“if”条件可以在编译时求值时,这种模式在 MATLAB Function block 中才有可能。类型不能在运行时切换。能否在调用处将索引值设为常量?

关于matlab - Matlab 编码器的 OOP Matlab 继承问题(Simulink MATLAB 功能 block ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com