我有一个.m脚本文件,其中包含95%的工作量。我的部分任务是编写一个执行某个计算的函数,然后将该函数用于各种示例。
我为该函数创建了一个单独的.m文件,并在该函数之后命名。然后我在我的主.m脚本中使用该函数,一切正常。我发布了.m脚本,一切看起来都很好。
但是,它不包括我创建的功能。由于这是我工作的一部分,我需要将其与我的主脚本文件一起转换。我认为我需要单独发布,因为我没有看到将其包含在原始出版物中的方法。
这是我的matlab函数
%% Function rvm
function [y1,y2] = rvm(x,y)
discr = sqrt((x^2)-(4*y));
y1 = (-x-discr)/2;
y2 = (-x+discr)/2;
end
这是我在发布时遇到的错误:
Not enough input arguments.
Error in rvm(line 4)
discr = sqrt((x^2)-(y*c));
我没有广泛使用过matlab,从那时起已经有一段时间了,所以我在调试这个问题时遇到了一些麻烦。
我很困惑这可能会给我一个错误,因为我的主脚本发布时没有错误并且使用了函数。语法似乎也很好......
答案 0 :(得分:0)
问题是,默认情况下,publish
会使用无输入参数调用您的函数,这会导致错误。如果要将值分配给x
和y
以便在工作中发布,可以使用options publish
指定结果,特别是codeToEvaluate
选项
opts = struct('codeToEvaluate', 'x = 1; y = 2;');
publish('rvm', opts)
或者,您可以使用file exchange submissions之一,允许您在已发布的输出中包含子功能。