prevent function from displaying output

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 Commento

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...

Accedi per commentare.

 Risposta accettata

Razvan
Razvan il 28 Set 2012
f = delet;

2 Commenti

pemfir
pemfir il 28 Set 2012
Modificato: pemfir il 28 Set 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))
you have to put semicolon in the body of the function too:
f = @(x) f1(x(1))+f2(x(2));

Accedi per commentare.

Più risposte (3)

Put a semicolon after delet when you call the function
f = delet;

1 Commento

pemfir
pemfir il 28 Set 2012
Modificato: pemfir il 28 Set 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))

Accedi per commentare.

Daniel Shub
Daniel Shub il 28 Set 2012
Are you trying to evaluate the function? Do you want f()?
Muthu Annamalai
Muthu Annamalai il 28 Set 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.

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by