not enough input arguments error

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 日

0 投票

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 日
I tried it showing same error
Geoff Hayes
Geoff Hayes 2021 年 3 月 23 日
sudheer - you will need to show the code that you are using and the full error message.
Steven Lord
Steven Lord 2021 年 3 月 23 日
Can you show us exactly how you're calling your function and the full and exact text of the error message you receive (all the text displayed in red, and if there is any all the text displayed in orange) when you try to call it?
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

サインインしてコメントする。

タグ

質問済み:

2021 年 3 月 23 日

コメント済み:

2021 年 3 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by