Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发布matlab函数时遇到问题_Matlab_Matlab Struct - Fatal编程技术网

发布matlab函数时遇到问题

发布matlab函数时遇到问题,matlab,matlab-struct,Matlab,Matlab Struct,我有一个.m脚本文件,其中包含我95%的工作。我的作业的一部分是编写一个执行特定计算的函数,然后将该函数用于各种示例 我为该函数创建了一个单独的.m文件,并以该函数的名字命名。然后我使用main.m脚本中的函数,一切正常。我发布了.m脚本,一切看起来都很好 但是,它不包括我创建的函数。由于这是我工作的一部分,我需要将其与主脚本文件一起提交。我假设我需要单独发布此内容,因为我看不到将其包含在原始出版物中的方法 这是我的matlab函数 %% Function rvm function [y1,y2

我有一个.m脚本文件,其中包含我95%的工作。我的作业的一部分是编写一个执行特定计算的函数,然后将该函数用于各种示例

我为该函数创建了一个单独的.m文件,并以该函数的名字命名。然后我使用main.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,从那以后已经有一段时间了,所以我在调试这个问题时遇到了一些困难


我很困惑这怎么会给我一个错误,因为我的主脚本发布时没有错误,并且很好地利用了函数。语法似乎也很好…

问题是,默认情况下,
publish
将在没有导致错误的输入参数的情况下调用函数。如果要为工作中的发布为
x
y
分配值,可以使用options struct to
publish
指定该值,特别是选项


或者,您也可以使用其中一个,它允许您在发布的输出中包含子函数。

或者您可以简单地将以下标记添加到主脚本中:

%%
% <include>rvm.m</include>
%%
%rvm.m

这将使用Matlab语法着色呈现函数的代码。

hmmm那么发布函数会自动调用函数吗?我不想设置输入参数,因为函数已经在我的主脚本中被调用了。。。。我最合理的选择是正常打印脚本吗?MATLAB的
publish
不会打印函数调用的函数(除非您使用我链接到的某个文件交换提交)。您可以使用我上面提供的代码只发布子函数。如果不需要
publish
的所有功能,也可以只打印.m文件。
%%
% <include>rvm.m</include>