Error with a function
1 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!