matlab 'Index exceeds array boundaries'
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
by this code, that error happens...and i dunno why...
function H12 =H1(t,X)
m=10;
c=1000;
k=100000;
e=0.001;
w=100;
R=0.5;
X=R*cos(w*t);
Y=R*sin(w*t);
F1=m*e*w^2*cos(w*t);
F2=m*e*w^2*sin(w*t);
H12=[X(2); -c/m*X(2)-k/m*X(1)+F1/m];
end
--------------------------------------------------------
t=0:0.1:20;
X0=[0,0];
>>
[t,X]=ode45(@H1,t,X0);
2 Kommentare
madhan ravi
am 19 Apr. 2020
Bearbeitet: madhan ravi
am 19 Apr. 2020
What’s X(2) ? Will you post the latex form of the equation?
alsgud qor
am 19 Apr. 2020
Bearbeitet: alsgud qor
am 19 Apr. 2020
Antworten (1)
Devineni Aslesha
am 21 Apr. 2020
Bearbeitet: Devineni Aslesha
am 21 Apr. 2020
0 Stimmen
In the given code, the initial conditions are passed to 'ode45' from the variable 'X0' which is a vector. The 'X0' values are taken by the variable 'X' to obtain the ode solver output. However, in the code, the variable 'X' is modified in such a way that it becomes a scalar value due to which the error occurs. The error can be resolved by not modifying the variable 'X' in the function definition.
I would like to know why the variable 'X' has to be modified in the function definition.
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!