Info
This question is closed. Reopen it to edit or answer.
matlab 'Index exceeds array boundaries'
2 views (last 30 days)
Show older comments
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 Comments
madhan ravi
on 19 Apr 2020
Edited: madhan ravi
on 19 Apr 2020
What’s X(2) ? Will you post the latex form of the equation?
Answers (1)
Devineni Aslesha
on 21 Apr 2020
Edited: Devineni Aslesha
on 21 Apr 2020
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.
0 Comments
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!