Function handle with inputs

13 visualizzazioni (ultimi 30 giorni)
Jay
Jay il 13 Apr 2020
Modificato: Mehmed Saad il 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))) );

Risposte (1)

Mehmed Saad
Mehmed Saad il 13 Apr 2020
Modificato: Mehmed Saad il 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))) );

Categorie

Scopri di più su Functions in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by