stop the function from displaying

8 vues (au cours des 30 derniers jours)
pemfir
pemfir le 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 ?

Réponse acceptée

Daniel Shub
Daniel Shub le 28 Sep 2012
You are missing a semicolon inside the eval
eval(sprintf('%s = f;',x));
  1 commentaire
pemfir
pemfir le 28 Sep 2012
thank you very much!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by