如何声明一个内部函数返回一个值

3次浏览(过去30天)
嗨,大家好,我试图在一个类中声明一个内部函数(findScenarioNumber)。这个函数应该输出一个数字。但我有一个错误在行“scenarioNumber = findScenarioNumber(splitDataFolder);”我调用的函数:未定义的函数“findScenarioNumber”类型的输入参数“单元格”。正在搜索,但找不到合适的语法。有人能帮忙吗?
这是我的代码:
classdefSignalStructureProperty < handle
属性
信号
结束
方法
函数obj = createSignalTopLevelStructure(obj,dataFolder)
splitDataFolder = split(数据文件夹,“\”);
scenarioNumber = findScenarioNumber(splitDataFolder);
obj.signals. metadata .scenario onumber = scenario onumber;
结束
函数scenarioNumber = findScenarioNumber(splitDataFolder)
场景编号= NaN;
如果(~ isempty (splitDataFolder))
i = 1:长度(splitDataFolder)
如果(包含(splitDataFolder {},视交叉上核的))
scenario onumber = str2double(extractAfter(splitDataFolder{i},“视交叉上核”));
结束
结束
结束
结束
结束
结束

接受的答案

乔恩
乔恩 2022年12月16日
编辑:乔恩 2022年12月16日
您必须告诉MATLAB findScenarioNumber是当前所在类的成员函数
scenarioNumber = obj.findScenarioNumber(splitDataFolder)
你必须使用obj作为第一个参数
函数scenarioNumber = findScenarioNumber(obj,splitDataFolder)

更多答案(1)

史蒂文的主
史蒂文的主 2022年12月16日
我会让findscenarionnumber成为一个与类相关的函数,而不是类的方法。看到 本文档页 关于这个技巧的例子。

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!