stop the function from displaying

I apologize for posting a similar question. I had a wrong example in my previous post. this one should show the problem. 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;
f1 =
@(k1)0.5-1.0*k1
f2 =
@(k2)0.5-1.0*k2
on the display. how do i stop this ?

 Accepted Answer

You are missing a semicolon inside the eval
eval(sprintf('%s = f;',x));

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!