Error with a function
조회 수: 2 (최근 30일)
이전 댓글 표시
I have three errors:
??? Subscript indices must either be real positive integers or logicals.
Error in ==> velocity at 3
v = -r*angular_velocity(sin(angular_velocity*t)+((r)/(2*l_value))...
Error in ==> HW10 at 19
x_dot = velocity( r, angular_velocity, t, l_value );
This is part of my script:
for l_value = (r + .5):((15-(r + .5))/5):15;
x_dot = velocity( r, angular_velocity, t, l_value );
v(m) = x_dot;
m = m + 1;
plot(x_dot,l_value);
end
The error seems to be with the function. Here is the function velocity:
function [ v ] = velocity( r, angular_velocity, t, l_value )
%Calculate velocity
v = -r*angular_velocity(sin(angular_velocity*t)+((r)/(2*l_value))...
*((sin(2*angular_velocity*t))/(sqrt(1-((r/l_value)*(...
sin(angular_velocity*t)))^2))));
end
Any help or tips will be greatly appreciated!
댓글 수: 0
채택된 답변
Walter Roberson
2012년 4월 25일
angular_velocity*t implies that angular_velocity is a numeric quantity (scalar, vector, array). sin() of that would also be a numeric quantity, but very likely not positive-integer-valued. You then use angular_velocity indexed at that sin() expression, so that is likely to fail.
댓글 수: 2
Kevin Holst
2012년 4월 25일
translation:
Turn this:
v = -r*angular_velocity(sin(angular_velocity*t)+((r)/(2*l_value))...
into this:
v = -r*angular_velocity*(sin(angular_velocity*t)+((r)/(2*l_value))...
;)
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!