prevent function from displaying output

5 views (last 30 days)
I have the following function (please do not suggest that i change the function itself):
function [sumf] = delet();
for i = 1:2;
syms d u ;
f = (char(vpa(subs((d/u - strcat('k',num2str(i))),{d,u},{1,2}))));
a = symvar(char(vpa(f)));
f = ['@(', sprintf('%k1,', a{1:end-1}), a{end}, ') ',f];
f = eval(f);
x = strcat('f',num2str(i));
eval(sprintf('%s = f',x));
end
sumf = @(k) f1(k(1))+f2(k(2));
once called : f = delet; f = delet;
f =
0.5 - 1.0*k1
f1 =
@(k1)0.5-1.0*k1
f =
0.5 - 1.0*k2
f2 =
@(k2)0.5-1.0*k2
on the display. how do i stop this ?
  1 Comment
Razvan
Razvan on 28 Sep 2012
What exactly do you want to stop? Your question is very unclear... Probably you want to remove the
eval(sprintf('%s = f',x));
line, if you don't want this to display your functions...

Sign in to comment.

Accepted Answer

Razvan
Razvan on 28 Sep 2012
f = delet;
  2 Comments
pemfir
pemfir on 28 Sep 2012
Edited: pemfir on 28 Sep 2012
please try the following. my mistake i uploaded a bad example:
function [f] = delet();
f1 = @(x) x^2 + 3;
f2 = @(x) x^2 + 3;
f = @(x) f1(x(1))+f2(x(2));
once called : f = delet;
f =
@(x)f1(x(1))+f2(x(2))
Razvan
Razvan on 28 Sep 2012
you have to put semicolon in the body of the function too:
f = @(x) f1(x(1))+f2(x(2));

Sign in to comment.

More Answers (3)

Wayne King
Wayne King on 28 Sep 2012
Put a semicolon after delet when you call the function
f = delet;
  1 Comment
pemfir
pemfir on 28 Sep 2012
Edited: pemfir on 28 Sep 2012
please try the following. my mistake i uploaded a bad example:
function [f] = delet();
f1 = @(x) x^2 + 3;
f2 = @(x) x^2 + 3;
f = @(x) f1(x(1))+f2(x(2));
once called : f = delet;
f =
@(x)f1(x(1))+f2(x(2))

Sign in to comment.


Daniel Shub
Daniel Shub on 28 Sep 2012
Are you trying to evaluate the function? Do you want f()?

Muthu Annamalai
Muthu Annamalai on 28 Sep 2012
Changes, like the previous comments suggest, using a semi-colon, should stop output form appearing on your terminal.
Also you want to explore 'str2func()' as a way to build function handles.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!