Dans le code ci-dessous, a un moment, en utilisant G(ceil(ti)), l'erreur reçue est la suivante: Undefined function 'G' for input arguments of type 'double'. Alors que ceil est censé retourner un entier ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
A=1:1:100; 
B=1:1:100; 
C=1; 
D=1:1:100; 
E=2; 
F=1:1:100;
G=1:1:100; 
H=0.1:0.1:10; 
fun_1=@(t)integral(@(ti)G(ceil(ti)).*H(ceil(t-ti)),0.1,t-1);
fun_2=@(t)integral(@(ti)G(ceil(ti)).*B(ceil(ti)).*(C.*D(t).^E)./F(t).*...
    exp(-integral(@(x)(C.*D(ceil(x)).^E)./F(ceil(x)),ti,5)-K.*(t-ti)),0.1,t-1,'ArrayValued',true);
I=500;
J=1000; 
K=2;
fun_3=@(t)I*integral(@(ti)min(fun_2(ceil(ti)),J).*exp(-(K+I).*(t-ti)),0.1,t-1);
t=1:1:5;
figure(1)
fplot(fun_1,t);
figure(2)
fplot(fun_2,t);
figure(3)
fplot(fun_3,t);

Crdlmnt,
Alfredo B