index must be a positive integer or logical.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Gary
am 28 Okt. 2014
Kommentiert: Gary
am 28 Okt. 2014
%Programme to model Damped free vibration in a cannon %clear Screen clear; %define constants m=500; k=10000; %Evaluate natural frequency wn=sqrt(k/m) %Evaluate natural time period tn=(2*pi)/wn %Enter initial conditions xmax=0.4; %calculate critical damping constant cc=2*m*wn %set initial displacement & velocity xo=0; xdz=xmax*wn*exp(1); z=1.5; %defining constants C1 & C2 C1=(wn(z+sqrt(z^2-1))+xdz)/(2*wn*(sqrt(z^2-1))) C2=(wn(z-sqrt(z^2-1))-xdz)/(2*wn*(sqrt(z^2-1)))
But I'm getting an error Attempted to access wn(2.61803); index must be a positive integer or logical. Error in Cannon2 (line 20) C1=(wn(z+sqrt(z^2-1))+xdz)/(2*wn*(sqrt(z^2-1)))
In the workspace it's calculated at 4.4721 and I've used term wn in previous code and it worked fine without being an integer
0 Kommentare
Akzeptierte Antwort
Michael Haderlein
am 28 Okt. 2014
I dont know how this equation should read, but might there be a * missing? You write
C1=(wn(z+sqrt(z^2-1))+xdz)/(2*wn*(sqrt(z^2-1)))
but you might mean
C1=(wn*(z+sqrt(z^2-1))+xdz)/(2*wn*(sqrt(z^2-1)))
Same for C2.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Vibration Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!