Help with a ode45 problem
조회 수: 2 (최근 30일)
이전 댓글 표시
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
Jan
2012년 12월 1일
The term "10:30:130" does not need additional square brackets. In fact, they only waste time, because this is a vector already.
채택된 답변
Azzi Abdelmalek
2012년 12월 1일
편집: Azzi Abdelmalek
2012년 12월 1일
The error is in
theta(0)=[10:30:130]*pi/180;
do you mean
theta0=
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!