Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Not enough input arguments.

Asked by Ben on 4 May 2013

I'm attempting to make a simple m file which plots solutions to a force problem given a range of theta and generates the resulting mass (m) required for equilibrium. So far, my code doesn't account for solving for m, but I'm just trying to generate an answer right now and I get the "Not enough input arguments" error. Then when I tried in the command window "F_theta(0)" I get "Undefined function 'F_theta' for input arguments of type 'double'." Any help would be appreciated, thanks.

function F_theta=Matlab_assignment_3(theta)
WPanel=[0, 20*9.8, 0];
That=[(.2-.2*sind(theta)),(.1+.2*cosd(theta)),-.125]/(sqrt((.2-.2*sind(theta))^2+(.1+.2*cosd(theta))^2+(-.125)^2));
Tmag=9.8*m;
T=That*Tmag;
rgb=[.1*sind(theta),-.1*cosd(theta),.125];
rcb=[.2*sind(theta),-.2*cosd(theta),.125];
rab=[0,0,.25];
MW=cross(rgb,WPanel);
MT=cross(rcb,T);
MAx=cross(rab,[1,0,0]);
MAy=cross(rab,[0,1,0]);
MB=[MAx' MAy' MT' MW'];
A_MB=rref(MB);
F_theta=A_MB(0,90);

Edit: Okay, so I think I'm approaching the variable situation all wrong, so I have two variables, m and theta, and my hopes is to have an equation that solves for m in terms of theta (for a range of theta that I can then plot). Should I be using system variables instead?

0 Comments

Ben

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek on 4 May 2013
Edited by Azzi Abdelmalek on 4 May 2013

You should use

Matlab_assignment_3(0)

Your function is called Matlab_assignment_3

0 Comments

Azzi Abdelmalek
Answer by Image Analyst on 4 May 2013

You need to call Matlab_assignment_3 first, with some input arguments before you can do "F_theta(0)" in the command window. Actually that wouldn't even work because F_theta is not a function, it's an array so the first element is 1, not 0. You could try

% Define some input angle.
theta = 45;
% Call the function and get F_theta in return.
F_theta=Matlab_assignment_3(theta)  
% Display first element in command window.
F_theta(1)  

0 Comments

Image Analyst

Contact us