Error using sub2ind out of range subscript
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
clear all ;
global theta sigma tau rho
theta =0.9563E0 ; sigma = 1.0243E0 ; tau =0.05803E0 ; rho= -0.04266E0 ;
n_star1=zeros(3,1); n_star2= zeros(3,1); b_star1=zeros(3,1);
b_star2=zeros(3,1);m_star1=zeros(3,1);m_star2=zeros(1,3);
a_star1=zeros(3,1);a_star2=zeros(3,1);kappa_1=1;kappa_2=-1;
U1(1,1)= theta ; U1(1,2)= rho ;U1(1,3)= rho; U1(2,1)=U1(1,2);
U1(2,2)= sigma ; U1(2,3) = tau; U1(3,1)=U1(1,3);
U1(3,2)=U1(2,3); U1(3,3)= sigma;
U2(1,1)= theta; U2(1,2)= -rho; U2(1,3)= -rho; U2(2,1)=U2(1,2);
U2(2,2)= sigma ; U2(2,3) = tau; U2(3,1)=U2(1,3);
U2(3,2)=U2(2,3); U2(3,3)= sigma;
U3(1,1)= theta; U3(1,2)= -rho; U3(1,3)= rho; U3(2,1)=U3(1,2);
U3(2,2)= sigma ; U3(2,3) = -tau; U3(3,1)=U3(1,3);
U3(3,2)=U3(2,3); U3(3,3)= sigma;
U4(1,1)= theta; U4(1,2)= rho; U4(1,3)= -rho; U4(2,1)=U4(1,2);
U4(2,2)= sigma ; U4(2,3) = -tau; U4(3,1)=U4(1,3);
U4(3,2)=U4(2,3); U4(3,3)= sigma;
U5(1,1)= sigma; U5(1,2)= rho; U5(1,3)= tau; U5(2,1)=U5(1,2);
U5(2,2)= theta ; U5(2,3) = rho; U5(3,1)=U5(1,3);
U5(3,2)=U5(2,3); U5(3,3)= sigma;
U6(1,1)= sigma; U6(1,2)= -rho; U6(1,3)= tau; U6(2,1)=U6(1,2);
U6(2,2)= theta ; U6(2,3) = -rho; U6(3,1)=U6(1,3);
U6(3,2)=U6(2,3); U6(3,3)= sigma;
U7(1,1)= sigma; U7(1,2)= -rho; U7(1,3)= -tau; U7(2,1)=U7(1,2);
U7(2,2)= theta ; U7(2,3) = rho; U7(3,1)=U7(1,3);
U7(3,2)=U7(2,3); U7(3,3)= sigma;
U8(1,1)= sigma; U8(1,2)= rho; U8(1,3)= -tau; U8(2,1)=U8(1,2);
U8(2,2)= theta ; U8(2,3) = -rho; U8(3,1)=U8(1,3);
U8(3,2)=U8(2,3); U8(3,3)= sigma;
U9(1,1)= sigma; U9(1,2)= tau; U9(1,3)= rho; U9(2,1)=U9(1,2);
U9(2,2)= sigma ; U9(2,3) = rho; U9(3,1)=U9(1,3);
U9(3,2)=U9(2,3); U9(3,3)= theta;
U10(1,1)= sigma; U10(1,2)= tau; U10(1,3)= -rho; U10(2,1)=U10(1,2);
U10(2,2)= sigma ; U10(2,3) = -rho; U10(3,1)=U10(1,3);
U10(3,2)=U10(2,3); U10(3,3)= theta;
U11(1,1)= sigma; U11(1,2)= -tau; U11(1,3)= rho; U11(2,1)=U11(1,2);
U11(2,2)= sigma ; U11(2,3) = -rho; U11(3,1)=U11(1,3);
U11(3,2)=U11(2,3); U11(3,3)= theta;
U12(1,1)= sigma; U12(1,2)= -tau; U12(1,3)= -rho; U12(2,1)=U12(1,2);
U12(2,2)= sigma ; U12(2,3) = rho; U12(3,1)=U12(1,3);
U12(3,2)=U12(2,3); U12(3,3)= theta;
C1= inv(U1)*U3*U3*inv(U1);
[V, N]=eig(C1);
lambda_3= N(1,1);lambda_2= N(2,2); lambda_1= N(3,3); *% Error was being shown in this line*
e3 = V(1:3,1) ;e2=V(1:3,2) ;e1=V(1:3,3);
Also, explain me the meaning of this error :
Error in sym/subsref (line 766) R_tilde = sub2ind(size(L), Idx.subs{:});
0 commentaires
Réponses (2)
Ced
le 26 Mar 2016
Your code runs without error for me.
Why do you have the variables declared as global? This is something to avoid whenever possible (aka always), and I don't see a reason to have global variables here.
Also, the error seems to come from a symbolic call, but I don't see any symbolic variables in that code?
Try to copy the script to some other location ( to check if you have overshadowing functions that could cause the problem ), and remove the global declaration, and try running the code again.
0 commentaires
dpb
le 26 Mar 2016
Modifié(e) : dpb
le 26 Mar 2016
Ugleee code to the extreme... :(
Format your code; don't use run-on continuation lines wildly.
One way to build the initial matrices that is at least a little bit more readable and simpler to debug if nothing else would be
>> U1=diag([theta sigma sigma],0) + ...
diag([rho tau],-1) + ...
diag(rho,-2); % load lower triagonal
>> U1=U1+tril(U1,-1).' % load upper triagonal from lower transpose
U1 =
0.9563 -0.0427 -0.0427
-0.0427 1.0243 0.0580
-0.0427 0.0580 1.0243
>>
There is no indexing problem on the line marked; the ind2sub message is from a symbolic toolbox function call and there's no symbolic in sight in the above code snippet.
0 commentaires
Voir également
Catégories
En savoir plus sur Historical Contests 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!