필터 지우기
필터 지우기

prevent function from displaying output

조회 수: 3 (최근 30일)
pemfir
pemfir 2012년 9월 28일
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
Razvan
Razvan 2012년 9월 28일
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...

댓글을 달려면 로그인하십시오.

채택된 답변

Razvan
Razvan 2012년 9월 28일
f = delet;
  댓글 수: 2
pemfir
pemfir 2012년 9월 28일
편집: pemfir 2012년 9월 28일
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 2012년 9월 28일
you have to put semicolon in the body of the function too:
f = @(x) f1(x(1))+f2(x(2));

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Wayne King
Wayne King 2012년 9월 28일
Put a semicolon after delet when you call the function
f = delet;
  댓글 수: 1
pemfir
pemfir 2012년 9월 28일
편집: pemfir 2012년 9월 28일
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))

댓글을 달려면 로그인하십시오.


Daniel Shub
Daniel Shub 2012년 9월 28일
Are you trying to evaluate the function? Do you want f()?

Muthu Annamalai
Muthu Annamalai 2012년 9월 28일
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.

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by