Error: Index in position 2 exceeds array bounds (must not exceed 1).
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hello,
 i have a problem with my code, specifically with my animation output.
As soon as the code gets to line 500, where the animation part is, i get the error from the title with the following added:
" Index in position 2 exceeds array bounds (must not exceed 1).
Error in sym/subsref (line 890)
            R_tilde = builtin('subsref',L_tilde,Idx);
Error in A33Meins (line 501)
animation4(t,x(:,1:13),.05,{fh_boden_fix    boden_fix    4;..."
Here is my code :
%% Animation:
boden_fix    = {[-1.25     0     0;
                 1.25     0     0]};
boden_u      = {[0.9     0     0;
                 1.2     0     0]};
karosserie_1 = {[-p.a/2  -p.hs   0;
                 p.a/2  -p.hs    0;
                 p.a/2  p.hs  0;
                -p.a/2  p.hs  0;
                -p.a/2  -p.hs  0]};
hebel_2      = {[ 0    0     0; 
                  p.be  0     0]};
hebel_3      = {[ 0    0     0; 
                  -p.be  0     0]};              
hebel_5      = {[ 0    0     0; 
                  -p.b5  0     0]};
hebel_7      = {[ 0    0     0; 
                  p.b5  0     0]};
koerper_4      = {[ 0         0     0; 
                   -p.b4/2   p.hs4     0;
                    p.bc     p.hs4     0;
                    p.bc     -p.hc4     0;
                    p.bc     p.h4     0;
                    p.bc     p.hs4     0;
                    -p.b4/2   p.hs4     0;
                    -p.b4     p.h4      0]};  
koerper_6      = {[ 0         0     0; 
                    p.b4/2   p.hs4     0;
                    -p.bc    p.hs4     0;
                    -p.bc    -p.hc4     0;
                    -p.bc     p.h4     0;
                    -p.bc     p.hs4     0;
                    p.b4/2   p.hs4     0;
                    p.b4     p.h4      0]}; 
fh_boden_fix      = @(t,x)deal([0;0;         0],[1,0,0;0,1,0;0,0,1]);
fh_boden_u      = @(t,x)deal([0;u_von_t(t);0],[1,0,0;0,1,0;0,0,1]);
fh_karosserie_1 = matlabFunction(I_r_OS1,A_IK1,         'vars', {t, q});
fh_hebel_2      = matlabFunction(I_r_OA, A_IK2,         'vars', {t, q});
fh_hebel_3      = matlabFunction(I_r_OB, A_IK3,         'vars', {t, q});
fh_hebel_5      = matlabFunction(I_r_OF, A_IK5,         'vars', {t, q});
fh_hebel_7      = matlabFunction(I_r_OJ, A_IK7,         'vars', {t, q});
fh_koerper_4    = matlabFunction(I_r_OE, A_IK4,         'vars', {t, q});
fh_koerper_6    = matlabFunction(I_r_OI, A_IK6,         'vars', {t, q});
%% numerische Integration:
t_start = 0;
t_end   = 4;
x0      = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];  % Anfangswerte erweitern 
options = odeset('RelTol',1.e-4,...   % Standard 1.e-3
                 'AbsTol',1.e-7,...   % Standard 1.e-6
                 'OutputFcn',@odeplot);
h=figure;
tic
[t,x_] = ode23(@ode_fcn,[t_start t_end],x0,options);
toc
close(h);
% q_pp bestimmen:
for i=1:length(t)
  x__p(i,:)=ode_fcn(t(i),x_(i,:)');
end
q    = x_(:,        1:p.n);
q_p  = x_(:,  (p.n+1):p.n*2);
q_pp = x__p(:,(p.n+1):p.n*2);
% Beschleunigung in P:
for i=1:length(t)
  a_p(i,:)=p.fhandle_ap(q(i,:)',q_p(i,:)',q_pp(i,:)')';
end
% Animation
figure;
animation4(t,x(:,1:13),.05,{fh_boden_fix    boden_fix    4;...
                           fh_boden_u      boden_u      4;...
                           fh_karosserie_1 karosserie_1 3;...
                           fh_hebel_2      hebel_2      2;...
                           fh_hebel_3      hebel_3      2;...
                           fh_koerper_4    koerper_4    2;...
                           fh_hebel_5      hebel_5      2;...
                           fh_koerper_6    koerper_6    2;...
                           fh_hebel_7      hebel_7      2},[0,90]);
2 commentaires
  Sindar
      
 le 9 Jan 2020
				This error message is telling you that you are trying to index an element that doesn't exist. The first thing I'd do in this case is debug the code (https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html), pausing just before line 501. Then, run
size(x)
More specifically, are you sure it shouldn't be x_(:,1:13)?
Réponses (0)
Voir également
Catégories
				En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


