ERROR Subscript
Publicado por elian (1 intervención) el 16/05/2005 15:16:08
Quería ver si alguien me puede ayudar con este error:
"Subscript indices must either be real positive integers or logicals"
Soy principiante en esto del matlab y no encuentro cual es el motivo de que salga este error despues del bucle que sigue a continuacion:
y=ntramos-2;
for i=2:y
tresecus=[-((cosh(beta*A(i)))-(cos(beta*A(i))))/(2*EI*beta*beta) -((sinh(beta*A(i)))-(sin(beta*A(i))))/(2*EI*beta*beta*beta) 0 0 0;
-beta*(sinh(beta*A(i)))+(sin(beta*A(i)))/(2*EI*beta*beta) -beta*(cosh(beta*A(i)))-(cos(beta*A(i)))/(2*EI*beta*beta*beta) -1 0 0;
-((beta*beta)*(cosh(beta*A(i)))+(cos(beta*A(i))))/(2*EI*beta*beta) -((beta*beta)*(sinh(beta*A(i)))+(sin(beta*A(i))))/(2*EI*beta*beta*beta) 0 (1/EI) 0];
tresecus
C(3i-2:3i-2+2,3*(i-1):3*(i-1)+4)=tresecus
end
El error sale concretamente por la linea :
C(3i-2:3i-2+2,3*(i-1):3*(i-1)+4)=tresecus
que nadie se asuste al ver "tresecus" es simplemente una matriz 3x5.
Muchas gracias
"Subscript indices must either be real positive integers or logicals"
Soy principiante en esto del matlab y no encuentro cual es el motivo de que salga este error despues del bucle que sigue a continuacion:
y=ntramos-2;
for i=2:y
tresecus=[-((cosh(beta*A(i)))-(cos(beta*A(i))))/(2*EI*beta*beta) -((sinh(beta*A(i)))-(sin(beta*A(i))))/(2*EI*beta*beta*beta) 0 0 0;
-beta*(sinh(beta*A(i)))+(sin(beta*A(i)))/(2*EI*beta*beta) -beta*(cosh(beta*A(i)))-(cos(beta*A(i)))/(2*EI*beta*beta*beta) -1 0 0;
-((beta*beta)*(cosh(beta*A(i)))+(cos(beta*A(i))))/(2*EI*beta*beta) -((beta*beta)*(sinh(beta*A(i)))+(sin(beta*A(i))))/(2*EI*beta*beta*beta) 0 (1/EI) 0];
tresecus
C(3i-2:3i-2+2,3*(i-1):3*(i-1)+4)=tresecus
end
El error sale concretamente por la linea :
C(3i-2:3i-2+2,3*(i-1):3*(i-1)+4)=tresecus
que nadie se asuste al ver "tresecus" es simplemente una matriz 3x5.
Muchas gracias
Valora esta pregunta


0