Index exceeds the number of array elements (1).
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
clc;clear;
tf=10;
n=1;
t(n)=0.1;
dt=0.1;
G1(n)=1; G2(n)=0; G3(n)=-1; G4(n)=0;
m(n,:)=[1 0 -1 0];
while t(n)<=tf
m(n+1,:)=m(n,:)+slope(t(n),m(n,:))*dt;
n=n+1;
end
It shows me like Index exceeds the number of array elements (1)
Error in cars (line 8)
while t(n)<=tf
and this is my fucntion.
function [out] = slope(t,G)
k1=10;k2=20;m1=2;m2=4;
v1=G(1); x1=G(2);v2=G(3);x2=G(4);
out(1)=(-k1*x1+k2*(x2-x1))/m1;
out(2)=v1;
out(3)=-k2*(x2-x1)/m2;
out(4)=v2;
end
why? how I can fix it?
Thank you
0 commentaires
Réponses (1)
Walter Roberson
le 16 Juil 2019
You only assign to t(n) when n is 1, so t(1) exists but no other t location. You then increase n to 2 and expect t(2) to exist.
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!