Help with a ode45 problem
1 view (last 30 days)
Show older comments
Hi
I have the following function:
function f=matpendel(t,u,g,l,m,c)
f=[u(2)
-g/l*sin(u(1))-c/m*u(2)];
And I'm trying to plot this:
clf;
g=9.82; l=0.1; m=0.1; c=0.2; theta(0)=[10:30:130]*pi/180;
tspan=linspace(0,1,200);
for k=1:length(theta0)
u(0)=[theta0(k);0];
[t,U]=ode45(@(t,u)matpendel(t,u,g,l,m,c),tspan,u(0));
subplot(1,2,1), plot(t,U(:,1)), hold on
subplot(1,2,2), plot(U(:,1),U(:,2)), hold on
end
But I get the error Subscript indices must either be real positive integers or logicals. Does anybody know why?
1 Comment
Jan
on 1 Dec 2012
The term "10:30:130" does not need additional square brackets. In fact, they only waste time, because this is a vector already.
Accepted Answer
Azzi Abdelmalek
on 1 Dec 2012
Edited: Azzi Abdelmalek
on 1 Dec 2012
The error is in
theta(0)=[10:30:130]*pi/180;
do you mean
theta0=
More Answers (0)
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!