not enough input arguments error

2 次查看(过去 30 天)
function T = trans( a, d,alpha, theta)
%Describing the Denavit-Hartenberg parameters
T =[cosd(theta) -(sind(theta)) 0 a;
sind(theta)*cosd(alpha) cosd(theta)*cosd(alpha) -sind(alpha) -d*sind(alpha);
sind(theta)*sind(alpha) sind(alpha)*cosd(theta) cosd(alpha) d*cosd(alpha);
0 0 0 1 ];
end
at line 3 im getting not enough input arguments

回答(1 个)

Geoff Hayes
Geoff Hayes 2021-3-23
sudheer - if you are calling this function from the command line (or another piece of code) as simply
trans
then you will get this error. The function signature
function T = trans( a, d,alpha, theta)
is telling you that you need to provide four input paramters: a, d, alpha and theta. And so the function should be called like
trans(1,0.5,45,-74)
The above inputs are for example only...I don't know what the units for the inputs should be.
  5 个评论
sudheer yadav
sudheer yadav 2021-3-23
function T = trans( a, d,alpha, theta)
T =[cosd(theta) -(sind(theta)) 0 a;
sind(theta)*cosd(alpha) cosd(theta)*cosd(alpha) -sind(alpha) -d*sind(alpha);
sind(theta)*sind(alpha) sind(alpha)*cosd(theta) cosd(alpha) d*cosd(alpha);
0 0 0 1 ];
end
the above one is the function im calling
the error message in command line is
Not enough input arguments.
Error in Romat (line 2)
T =[cosd(theta) -(sind(theta)) 0 a;
Walter Roberson
Walter Roberson 2021-3-23
I do not observe any error when used in the manor that Geoff suggested.
trans(1,0.5,45,-74)
ans = 4×4
0.2756 0.9613 0 1.0000 -0.6797 0.1949 -0.7071 -0.3536 -0.6797 0.1949 0.7071 0.3536 0 0 0 1.0000
function T = trans( a, d,alpha, theta)
T =[cosd(theta) -(sind(theta)) 0 a;
sind(theta)*cosd(alpha) cosd(theta)*cosd(alpha) -sind(alpha) -d*sind(alpha);
sind(theta)*sind(alpha) sind(alpha)*cosd(theta) cosd(alpha) d*cosd(alpha);
0 0 0 1 ];
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Labels and Annotations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by