Index exceeds the number of array elements .
Show older comments
function v = model(t,y,Z)
r=10^(-1);
d=5*10^(-1);
delta = 10^(-1);
c = 10^(2);
K = 10^(8);
C = 10^(8);
x = 1;
sigma = 10^(-2);
delta_m = 2.5*10^(-2);
ylag1 = Z(:,1);
dy = zeros(4,1);
for i = 1:6
dy(4*(i-1)+1) = r*y(4*(i-1)+1)*(1-((y(4*(i-1)+1)+y(4*(i-1)+2))/K))-d*y(4*(i-1)+3)*y(4*(i-1)+1);
dy(4*(i-1)+2) = r*y(4*(i-1)+1)*((y(4*(i-1)+1)+y(4*(i-1)+2)/K))-delta*y(4*(i-1)+3)*y(4*(i-1)+2)-delta_m*y(4*(i-1)+2);
dy(4*(i-1)+3) = c*(((ylag1(4*(i-1)+1)+ylag1(4*(i-1)+2))/C)^x)*(1-y(4*(i-1)+3));
dy(4*(i-1)+4) = 0;
end
got error in dy(4*(i-1)+1) = r*y(4*(i-1)+1)*(1-((y(4*(i-1)+1)+y(4*(i-1)+2))/K))-d*y(4*(i-1)+3)*y(4*(i-1)+1); line that Index exceeds the number of array elements .
Can someone please help me?
1 Comment
Busuyi Adebayo
on 22 Feb 2022
Hi Gupta. Curious what process led to this type of model formulation in delay diffenetial equations. Can you share the process?
Thanks!
Accepted Answer
More Answers (4)
Jan
on 11 Mar 2019
Simplify your code:
ii = 4 * (i-1) + 1;
dy(ii) = r * y(ii) * (1 - (y(ii) + y(ii+1)) / K) - d * y(ii+2) * y(ii);
Now use the debugger:
dbstop if error
When Matlab stops at the error, check the values of the indices:
size(y)
ii
By the way, 5*10^(-1) is an expensive power operation and a multiplication, while 5e-1 or 0.5 is a cehap constant.
3 Comments
parag gupta
on 11 Mar 2019
Jan
on 11 Mar 2019
If ii is 4 and y is a [4x1] vector, y(ii+1) and y(ii+2) must fail.
parag gupta
on 11 Mar 2019
Giomara Llumiquinga
on 31 May 2022
0 votes
costo=abs((picos(I+1))-pico_ref)/pico_ref; %devuelve el pico siguiente
El índice supera el número de elementos de la matriz. El índice no debe exceder de 1.
Enguerrand Galmiche
on 13 Feb 2023
Hello,
This code return the error message "Index exceeds the number of array elements. Index must not exceed 6.". The idea is read the values of table Excel and concatenate the values for every iterate of loop. What can I for correct this error and this problem.
Thanks
for ifile=1:nfiles
disp(['Traitement du fichier n° ',sprintf('%d',ifile)])
filename = fullfile('C:\Users\Stagiaire\Desktop\Enguerrand\Analyse_Pose_Docking',filelist(ifile).name); % Récupération du nom de fichier complet
disp(filename)
% Importation des données de RMSD et De Score de chaque fichier excel
% du répertoire de données
RMSD = xlsread(filename,'B:B');
Glide_Score = xlsread(filename,'C:C');
RMSD_Random = [RMSD(ifile); RMSD];
Glide_Score_Random = [Glide_Score(ifile); Glide_Score];
Analyse_Vec = horzcat(RMSD_Random, Glide_Score_Random); %Concatène les 2 vecteurs dans une matrice
disp(RMSD)
disp(Glide_Score)
disp(Glide_Score_Random)
disp(RMSD_Random)
end
Nargiz
on 14 Dec 2023
0 votes
(25+26)•2=
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!