Salut à tous,
j'ai un petit problème avec mon code matlab et je ne trouve pas la solution bien que je pense que c'est tout bête...
Voici le code que j'essaye de compiler:
et voici le message d'erreur qui apparaît dans la fenêtre de commande:
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36 function [T,U] = fun(T1,T2,U1,n) % Pas utilisé dans la méthode: h = (T2-T1)/n; e = h/6; f = h/2; % Abscisses temporelles: T = linspace (T1,T2,n+1); % Initialisation de la matrice contenant les valeurs des deux variables: U = zeros(length(T),2); U(1,1) = U1(1); % Valeur de x en t = 0 U(1,2) = U1(2); % Valeur de y en t = 0 for i=1:n % Pour les x(t) et y(t): R = U(i,:); K1 = f(R); K2 = f(R+f*K1); K3 = f(R+f*K2); K4 = f(R+h*K3); U(i+1,:) = R+e*(K1+2*K2+2*K3+K4); end end function dudx = f(U) % Paramètres constants du modèle: a = 2e-5; b = 1e-8; c = 6e-5; d = 7e-13; % Calculs de f X = U(1); Y = U(2); dudx = U; dudx(1) = (a-b*Y)*X; dudx(2) = (d*X-c)*Y; end
Le problème vient directement du calcul de mon K1 (et je suppose que le même problème se posera avec K2,K3,K4) mais je ne vois pas en quoi les indices sont incorrects...??? Index exceeds matrix dimensions.
Error in ==> matlab5>forest at 29
K1 = f(R); K2 = f(R+f*K1); K3 = f(R+f*K2); K4 = f(R+h*K3); % Calcul des K
Error in ==> matlab5 at 8
[T,U] = forest(Tstart,Tend,Ustart,n);
Si une bonne âme pouvait regarder
Merci d'avance!
Partager