我在提取各种函数的输出并在计算它们时定义它时遇到问题。我希望有一个主文档执行以下任务:
fcost(变量)
- >矢量输出 f =矢量输出。
具体代码如下:
function fcost(hours,heatcost,slack1,slack2,realdata)
ncalc = 4 * hours;
P = zeros(ncalc*3*4,1);
if realdata == 2;
SIN = sin((1:ncalc*4)/8)*0.5+0.7
P(1:3:end) = SIN(1:ncalc*4);
P(2:3:end) = slack1;
P(3:3:end) = slack2;
else
P(1:3:end) = heatcost;
P(2:3:end) = slack1;
P(3:3:end) = slack2;
end
P
format short
end
问题是该函数只吐出向量 - 并没有定义要使用的主文件的任何内容。
提前致谢!
答案 0 :(得分:1)
仅编写的代码显示向量,但不返回它。代码的函数头显示了这一点:
function fcost(hours,heatcost,slack1,slack2,realdata)
这声明了一个带有各种参数的函数fcost
,但它不会返回任何内容。如果您想在调用P
后返回fcost
,则需要将函数标题修改为:
function P = fcost(hours,heatcost,slack1,slack2,realdata)
现在将此函数保存到名为fcost.m
的文件中,然后在使用它的时候,执行:
P = fcost(hours, heatcost, slack1, slack2, realdata);
fcost
的输出将存储在P
中。因为您现在返回P
,所以您可能希望删除代码的最后两个详细语句。具体来说,删除这两行:
P
format short