Matlab 如何防止外部函数写入控制台?

Matlab 如何防止外部函数写入控制台?,matlab,Matlab,我有一个MatLab函数,其中有一个for循环,在每次迭代中调用库中的外部函数 不幸的是,这个函数在每次调用时都会产生一百行控制台输出,而我的for循环(准确地说是parfor)的迭代次数大约为10k-100k 因此,我主要解决两个问题: 输出控制台非常混乱,几乎不可读 代码执行中一致(或接近)的速度减慢 第一个问题是目前最烦人的,但我想同时解决这两个问题 我想知道是否有办法阻止函数产生文本输出。有两种可能性: 您可以在函数旁边创建一个private文件夹,并在其中放置一个空函数fprint

我有一个MatLab函数,其中有一个for循环,在每次迭代中调用库中的外部函数

不幸的是,这个函数在每次调用时都会产生一百行控制台输出,而我的for循环(准确地说是parfor)的迭代次数大约为10k-100k

因此,我主要解决两个问题:

  • 输出控制台非常混乱,几乎不可读
  • 代码执行中一致(或接近)的速度减慢
第一个问题是目前最烦人的,但我想同时解决这两个问题


我想知道是否有办法阻止函数产生文本输出。

有两种可能性:

  • 您可以在函数旁边创建一个
    private
    文件夹,并在其中放置一个空函数
    fprintf
    (或任何用于打印的函数)。这样,您就可以用一个新函数覆盖内置函数,而不做任何操作
  • 使用
    evalc
    运行该函数
    可能的重复最后我使用了evalc,正如Daniel在另一个问题和这一个问题中所建议的。唯一的问题是evalc不能在parfor中使用,所以我将evalc包装在另一个函数中,所有这些都可以正常工作。