stop the function from displaying

1 Ansicht (letzte 30 Tage)
pemfir
pemfir am 28 Sep. 2012
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 ?

Akzeptierte Antwort

Daniel Shub
Daniel Shub am 28 Sep. 2012
You are missing a semicolon inside the eval
eval(sprintf('%s = f;',x));

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by