Missing input in the argument

1 vue (au cours des 30 derniers jours)
Mathew
Mathew le 15 Fév 2025
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

Réponse acceptée

Walter Roberson
Walter Roberson le 15 Fév 2025
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.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by