MATLAB Answers

not enough input arguments error

2 ビュー (過去 30 日間)
sudheer yadav
sudheer yadav 2021 年 3 月 23 日
コメント済み: Walter Roberson 2021 年 3 月 23 日
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 件のコメント
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

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

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by