1
は、私は次のような統合をしたい:MATLABで機能integral
を使用して統合を行うために積分関数を定義し、それを積分することは可能ですか?
が、私は
最初にしintegral
を適用する関数を定義します。以下は私の関数である。
[email protected](T,s)lambda.*(T-s).*exp(-1.*lambda.*s);
OrderEpsilon2IntegrandIntegral=...
@(T,u)integral(@(t)OrderEpsilon2IntegrandIntegralIntegrand(T,t),u,T);
[email protected](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);
をこのようなエラーが発生するために、問題は何ですか?私はそのメッセージには考えがありません。また、コードを修正する方法を知りたい。しかし、コードを修正するにいくつかの制約があります。
まず、明示的
を書いていません。
第2に、integral2
を使用しないでください。可能であれば、積分を持つ被積分関数を定義したいと思います。
最終的に、私は計算したいので、それは、例えば、OrderEpsilon2Integral([1,2,3,4])。記号を定義することはOrderEpsilon2Integral([1,2,3,4])を計算するのに役立ちません。 –
いいえ、あなたは最終的にベクトル化せずに任意の標準プロセッサで問題なく解決される 'for'サイクルを作ることができますか? – hyprfrcb