Function handle with inputs

13 views (last 30 days)
Jay
Jay on 13 Apr 2020
Edited: Mehmed Saad on 13 Apr 2020
% When I input W(3) IN THE COMMAND LINE (without any input for ii), there is an output for W?
% Why is that?
m = 3;
L = 10;
R = 1;
r = R/(m+1);
S = sqrt(2);
s = S/(m+1);
d1 = 1;
d2 = 0.25;
gama = atan(R/d1);
phi_i = @(ii, m) atan( (d1 + (ii*d2)./(m+1))./(r/3) );
W = @(m) ( r + s*sum(sin(gama + pi/2 - phi_i(1:m, m))) );

Answers (1)

Mehmed Saad
Mehmed Saad on 13 Apr 2020
Edited: Mehmed Saad on 13 Apr 2020
You input phi_i in function W as follow
ii = 1:m;
m = m;
Now you feed input W function a value (m), suppose 3
the function phi_i gets following
phi_i(1:3,3)
So that's why you will get value when executing W(3)
On the other hand
This will not give you output until you provide ii value in your workspace
W = @(m) ( r + s*sum(sin(gama + pi/2 - phi_i(ii, m))) );

Categories

Find more on Functions in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!