How to formulate the following conditional function?

4 vues (au cours des 30 derniers jours)
moh pouladin
moh pouladin le 26 Août 2018
Commenté : Walter Roberson le 27 Août 2018
Consider the following function,f:
if x=0:
f(x)=0
else:
f(x)=sin(1/x)
how to formulate that as a Matlab M-File function?
thanks?
  2 commentaires
Geoff Hayes
Geoff Hayes le 26 Août 2018
moh - you state that f is a function but perhaps it is an array instead? are you passing in x to this function and expect to get something returned? Is x an integer or real number? Please provide more details.
moh pouladin
moh pouladin le 26 Août 2018
f is a function and x is a real number.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 26 Août 2018
This works:
function output = f(x)
output = sin(1 ./ x);
% Zero out any values where x is exactly zero.
output(x == 0) = 0;
% Note, this works regardless if x is a scalar or a vector or matrix.
To call it, here is an example:
x = randi(5, 6, 6) - 1
output = f(x)
  4 commentaires
moh pouladin
moh pouladin le 27 Août 2018
the key point in your script that I missed, is:
output(x == 0) = 0;
would you please suggest a book to read more about Matlab.
thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Produits


Version

R2011a

Community Treasure Hunt

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

Start Hunting!

Translated by