Mam uruchomione niektóre prace przetwarzania danych w MATLAB i solver używa operatora BACKSLASH. Czasami otrzymuję ostrzeżenie w następujący sposób:Matlab: Jak złapać ostrzeżenie
Warning: Rank deficient, rank = 1390, tol = 1.335195e-010.
Warning: Rank deficient, rank = 1386, tol = 1.333217e-010.
Chciałbym złapać te ostrzeżenia. Próbuję przekonwertować ostrzeżenie o błędzie, a następnie złapać go jak opisano tutaj pod tytułem „ostrzeżeń Odłowu”: http://undocumentedmatlab.com/blog/trapping-warnings-efficiently W tym przykładzie następujący ciąg został użyty do konwersji ostrzeżenie błędu:
s = warning('error', 'MATLAB:DELETE:Permission');
jednak Nie jestem pewien jakiego ciągu użyć w mojej sprawie. Próbowałem użyć
s = warning('error', 'Warning: Rank deficient’);
Ale to nie zadziałało. Każda pomoc będzie doceniona.
Pozdrawiam, DK
Dzięki. zadziałało. Ale czy mógłbyś również wyjaśnić, w jaki sposób mogę wydobyć identyfikator na podstawie wyświetlonego ostrzeżenia? –
To właśnie wywołuje dwuprocesorowe wywołanie 'lastwarn'. Możesz użyć 'dbstop if warning', jeśli masz problemy z dostaniem się do stanu, w którym ostrzeżenie, które cię interesuje, jest" ostatnie ". – Edric
Dzięki, działało idealnie –