not enough input arguments

1 view (last 30 days)
maria serey-roman
maria serey-roman on 6 May 2020
Im new to MATLAB and im having trouble creating a simple function.
When I call the function:
a = [268.32,0, 120,0,240];
[T] = transformation_matrix(a);
I keep getting "not enough input arguments" and error on line 3.
How can i fix this?
function [T] = transformation_matrix(l,x1,x2,y1,y2)
costheta = (x2-x1)/l;
sintheta = (y2-y1)/l;
t = [costheta sintheta 0 0 0 0;
-sintheta costheta 0 0 0 0;
0 0 1 0 0 0;
0 0 0 costheta sintheta 0;
0 0 0 -sintheta costheta 0;
0 0 0 0 0 1];
end

Answers (2)

Cris LaPierre
Cris LaPierre on 7 May 2020
You have written the function to accept 5 inputs: l,x1,x2,y1,y2
However, when you call it, you are only using one: a, which gets assigned to l.
I think what you want to do instead is
T = transformation_matrix(268.32,0, 120,0,240);
  1 Comment
maria serey-roman
maria serey-roman on 9 May 2020
yes this is what i ended up doing! thank you!

Sign in to comment.


madhan ravi
madhan ravi on 7 May 2020
a = [268.32,0, 120,0,240];
a = num2cell(a)
T = transformation_matrix(a{:});

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!