generalize a function according to input

5 views (last 30 days)
Hi, i need your suggestion about generalize a code for each variable. For example, i have a code, but it is special for x. I have a function like f(x)=x.^2-3*x+5; and this code generate f(x) according to x. I want to generalize code for x,y,z,... and more variable, for example if my function is f(x,y)= x.^2-2*y+6, i want code to work for x and y variable.
So i need some beginning suggestions, i'm in searching process. Thank you.
  3 Comments
Ozge Moral
Ozge Moral on 15 Aug 2016
Edited: Ozge Moral on 15 Aug 2016
it will include exponentials, sinusoids(sin(5x+6).^2) and it is always mathematical function. i have already a code for doing necessary calculation. but i want to apply this x,y,z,... may be there is a practical way to control these.

Sign in to comment.

Accepted Answer

hcai
hcai on 16 Aug 2016
Edited: hcai on 16 Aug 2016
You can try using varargin, which allows functions to take a variable number of inputs.
function result = f(varargin)
Inside your function, use nargin or the length of the varargin cell array to determine the number of function inputs. From there, use if statements to specify what do to for each case.
if nargin == 1
x = varargin{1};
x.^2-3*x+5;
elseif nargin == 2
...
Examples can be found here .

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!