Effacer les filtres
Effacer les filtres

Suppress error warnings in matlab (when using parfor loop)

3 vues (au cours des 30 derniers jours)
Anthony Barone
Anthony Barone le 13 Mar 2015
I am trying to supress a specific error message in one on my codes (specifically a "no start point" warning in a curve fitting function). I have found the warning using:
w = warning('query','last')
and then disabled/enabled that specific warning at the top/bottom of my script, such that:
warning('off','curvefit:fit:noStartPoint')
*body of script here*
warning('on','curvefit:fit:noStartPoint')
However the warning is not being suppressed. Am I doing something wrong?
Thanks in advance.

Réponse acceptée

Edric Ellis
Edric Ellis le 16 Mar 2015
If the warning is being generated on the workers, you need to apply the warning suppression there too. You could do it like so:
spmd
warning('off','curvefit:fit:noStartPoint')
end
  1 commentaire
Anthony Barone
Anthony Barone le 19 Mar 2015
Modifié(e) : Anthony Barone le 19 Mar 2015
The issue was that I needed to apply the warning for the workers. Your method worked, as did applying the warning suppression inside the parfor loop where the curve fitting was occurring. Thank you for the help in figuring this out!

Connectez-vous pour commenter.

Plus de réponses (1)

Dima Lisin
Dima Lisin le 13 Mar 2015
Hi Anthony,
Your script may be generating some other warning. Try checking the last warning again.
  2 commentaires
Anthony Barone
Anthony Barone le 13 Mar 2015
It seems to only be generating that singular warning.
I have also tried suppressing ALL warnings using:
warning('off','all')
*body of script here*
warning('on','all')
and the warning message still appeared, making my think I am fundamentally going about it the wrong way. Is there any other way to go about doing this?
Anthony Barone
Anthony Barone le 13 Mar 2015
I have figured out why it is doing this: It is because this script contains a parfor loop, and for some reason the parellization of the code makes the warning appear even when being suppressed. Changing it to a regular for loop suppresses the warning correctly.
Any ideas why this would happen, and/or how to suppress warning when the code contains a parfor loop?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Parallel for-Loops (parfor) dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by