MATLAB Answers

not enough input arguments error

1 view (last 30 days)
sudheer yadav
sudheer yadav on 23 Mar 2021
Commented: Walter Roberson on 23 Mar 2021
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

Answers (1)

Geoff Hayes
Geoff Hayes on 23 Mar 2021
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 Comments
Walter Roberson
Walter Roberson on 23 Mar 2021
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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!