【发布时间】:2016-08-29 02:53:16
【问题描述】:
我想集成如下功能:
在我的代码中,我定义了一个指标函数如下:
PConstFundingRange=[0:0.25:2,Inf];
PConstFunding=[0,TempFundingInitialPara,0]; % Note that TempFundingInitialPara is constant for each interval)
FundingInitial=@(t)...
arrayfun(@(s)PConstFunding(find(s<PConstFundingRange,1,'first')),t);
定义函数后,我定义另一个函数:FundingInitial 的积分:
FundingInitialTerm=...
@(T,t)arrayfun(@(s1,s2)integral(FundingInitial,s1,s2),t,T);
我的目标是输入两个向量:vec1=[1,2]' 和 vec2=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9] 并计算给定函数 f(s) 的积分,如下所示:
因此,我使用以下代码:
bsxfun(@(T,t)FundingInitialTerm(T,t),Vec1',Vec2)
但是,它会输出以下错误消息:
使用
arrayfun时出错
所有输入参数的大小和形状必须相同。
之前的输入在维度 1 中的大小为 1。输入 #3 的大小为 41
如何解决这个问题?
【问题讨论】:
标签: matlab