【发布时间】:2017-05-19 04:57:37
【问题描述】:
我想做以下整合:
为了在matlab中使用函数integral进行积分,我定义了函数
先申请integral。以下是我的功能:
OrderEpsilon2IntegrandIntegralIntegrand=@(T,s)lambda.*(T-s).*exp(-1.*lambda.*s);
OrderEpsilon2IntegrandIntegral=...
@(T,u)integral(@(t)OrderEpsilon2IntegrandIntegralIntegrand(T,t),u,T);
OrderEpsilon2Integrand=@(T,u)...
(T-u).*sigma(u).*v_0-...
OrderEpsilon2IntegrandIntegral(T,u).*exp(lambda.*u).*sigma(u).*v_0;
OrderEpsilon2Integral=...
@(t)arrayfun(@(T)integral(OrderEpsilon2Integrand(T,u),InitialTime,T),t);
但是,我收到以下错误消息:
Error using integral (line 85)
A and B must be floating-point scalars.
Error in (T,u)integral(@(t)OrderEpsilon2IntegrandIntegralIntegrand(T,t),u,T)
Error in @(T,u)(T-u).*sigma(u).*v_0-OrderEpsilon2IntegrandIntegral(T,u).*exp(lambda.*u).*sigma(u).*v_0
Error in @(u)OrderEpsilon2Integrand(2.3,u)
Error in integralCalc/iterateScalarValued (line 314)
fx = FUN(t);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
出现这种错误的问题是什么?我对消息没有任何想法。另外,我想知道如何更正代码。但是,纠正代码有一些限制:
首先,不要写
明确。
其次,不要使用integral2。如果可能的话,我想定义具有积分的被积函数。
【问题讨论】: