Suppress error warnings in matlab (when using parfor loop)

11 Ansichten (letzte 30 Tage)
Anthony Barone
Anthony Barone am 13 Mär. 2015
Bearbeitet: Anthony Barone am 19 Mär. 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.

Akzeptierte Antwort

Edric Ellis
Edric Ellis am 16 Mär. 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 Kommentar
Anthony Barone
Anthony Barone am 19 Mär. 2015
Bearbeitet: Anthony Barone am 19 Mär. 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Dima Lisin
Dima Lisin am 13 Mär. 2015
Hi Anthony,
Your script may be generating some other warning. Try checking the last warning again.
  2 Kommentare
Anthony Barone
Anthony Barone am 13 Mär. 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 am 13 Mär. 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?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by