clear all; close all;
a=0.35; M=1; r0=0; r1=0; p=0.5; d=0.5; Z=100;
K=@(t,p,Z,d,r1) (p*Z-d-exp(-t))*r1;
P = 0:0.1:10;
for i = 1:numel(P)
V(i) = r0 + ((1-a)./M)*integral(K,0,P(i))+ (a./M)*integral(K,0,P(i));
r1=v(i);
end
Not enough input arguments.

Error in solution>@(t,p,Z,d,r1)(p*Z-d-exp(-t))*r1 (line 3)
K=@(t,p,Z,d,r1) (p*Z-d-exp(-t))*r1;

Error in integralCalc>midpArea (line 416)
fx = f(x);

Error in integralCalc (line 66)
q = midpArea(FUN,A,B,opstruct);

Error in integral (line 87)
Q = integralCalc(fun,a,b,opstruct);
plot(P,V),grid

 채택된 답변

Walter Roberson
Walter Roberson 2025년 2월 15일

0 개 추천

K=@(t,p,Z,d,r1) (p*Z-d-exp(-t))*r1;
K is defined needing 5 input parameters.
V(i) = r0 + ((1-a)./M)*integral(K,0,P(i))+ (a./M)*integral(K,0,P(i));
integral() calls the given function with exactly one input parameter. p, Z, d, r1 are all undefined as far as K is concerned.
If you had defined
K=@(t) (p*Z-d-exp(-t))*r1;
then the existing numeric values of p, Z, d, and r1 would be "captured" by the function handles, and everything would be fine.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2024b

태그

질문:

2025년 2월 15일

답변:

2025년 2월 15일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by