Function handle with inputs

13 visualizaciones (últimos 30 días)
Jay
Jay el 13 de Abr. de 2020
Editada: Mehmed Saad el 13 de Abr. de 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))) );

Respuestas (1)

Mehmed Saad
Mehmed Saad el 13 de Abr. de 2020
Editada: Mehmed Saad el 13 de Abr. de 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))) );

Categorías

Más información sobre Functions en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by