Suppressing a function's command window output

A function I'm using has display() in it (or other things that display messages on command window), so it outputs a lot of things (x 1200) on command line when I run my code, which makes things hard to track and observe.

Is there a way to suppress the output of this specific function? Ending the statement with semicolon obviously doesn't help.

Answers


You might try wrapping the call to the function in an evalc:

evalc('out = func(arg1, arg2);');

The easiest way is to just create a dummy function DISP/DISPLAY and place it in a private folder along with your own function:

private/disp.m
function disp(x)
    return
end
myFunc.m
function myFunc()
    %# ...
    disp(1)
end

By placing the disp function inside a private folder, you override the built-in function with the same name, yet this version is only visible to functions in the parent directory, thus maintaining the original functionality in other places.

Make sure that you DON'T add this private folder to your path, just have myFunc.m on the path (Please read the relevant documentations)


Need Your Help

Remote monitoring with visualvm and JMX

java spring-boot monitoring jmx

I would like to monitor a remotely running java (spring boot) application with jvisualvm (or jconsole). When running locally, I can see the managed beans in both jvisualvm and jconsole. When running