我一直在网上搜索这个问题的答案(当然包括这个我无法找到满意解决方案的网站)。我的问题是类AddParameter
中的inputParser
函数与包mbc下的Matlab工具箱函数AddParameter
中的函数cgoptimoptions
冲突:
其中addParameter E:\ study \编译器\ MATLAB \ R2012a \ toolbox \ mbc \ mbcdata \ @cgoptimoptions \ addParameter.m%cgoptimoptions方法
你知道吗我一直在谨慎使用自己代码的命名策略。但这一次似乎是两个内部函数之间的命名冲突(我称之为内部函数,因为我假设inputParser的AddParameter是内置的,而工具箱中的那个也是由Mathworks发布的,作为IDE工具包,所以也有点“官方”)。通过查看其他人的函数优先级和帖子,我知道我可以做两件事来修复它:更改名称或操纵路径。好吧,我不喜欢它们中的任何一个,因为第一个会搞乱MathWorks明显偏好的整个命名策略,而第二个并不能解决问题,如果在某些时候我确实需要同时使用它们。
那么请你给我一些关于如何系统地避免这类问题的提示?这对我来说非常令人沮丧。
答案 0 :(得分:1)
而不是:
addParameter(p, 'normalize', normalize);
使用:
p.addParameter('normalize', normalize);
但看起来addParameter
不属于班级inputParser
。使用它来查找要使用的方法:
methods(p)
类inputParser
似乎包含方法addParamValue
,但不包括addParameter
。