Filter löschen
Filter löschen

How to formulate the following conditional function?

1 Ansicht (letzte 30 Tage)
moh pouladin
moh pouladin am 26 Aug. 2018
Kommentiert: Walter Roberson am 27 Aug. 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 Kommentare
Geoff Hayes
Geoff Hayes am 26 Aug. 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 am 26 Aug. 2018
f is a function and x is a real number.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 26 Aug. 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 Kommentare
moh pouladin
moh pouladin am 27 Aug. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Produkte


Version

R2011a

Community Treasure Hunt

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

Start Hunting!

Translated by