грешка в matlab или грешка в libsvm със свързани с mex файлове

Използвам libsvm с Matlab R2011. Проблемът ми е, че внезапно започна да ми дава грешка за mex файловете и не иска да работи отново. Интересното е, че същата програма се изпълняваше преди известно време, но сега не работи. Грешката е следната.

%%%%%%%%%%%%%%%%%%%%

Открито нарушение на сегментирането в четвъртък, 21 март, 07:01:31 ч. 2013 г.

.......след това някои имена на файлове за проследяване на стека....

Тази грешка беше открита, докато се изпълняваше MEX-файл. Ако MEX-файлът не е официална функция на MathWorks, моля, проверете изходния му код за грешки. Моля, консултирайте се с ръководството за външни интерфейси за информация относно отстраняването на грешки в MEX-файлове. Хванат MathWorks::System::FatalException

%%%%%%%%%%%%%%%%%%

може ли някой да ми помогне с това? Благодаря.


person karan    schedule 21.03.2013    source източник
comment
настройте среда за смесване отново, като напишете mex -setup в командния прозорец на MATLAB.   -  person Autonomous    schedule 21.03.2013
comment
Вече го направих. След това публикувах въпрос. дори преинсталирах libsvm. Нищо не се промени в изхода.   -  person karan    schedule 21.03.2013


Отговори (2)


Може да има някаква грешка във вашия формат на входните данни. Тъй като libsvm е с отворен код, можете да опитате да отстраните грешки във вашия mex файл с помощта на Visual Studio (в Windows) чрез прикачване към процеса. google "mex file debugging" за повече подробности

person user2194365    schedule 21.03.2013
comment
Всъщност, както казах по-горе, същият код работеше по-рано, но сега изведнъж започна да показва тази грешка. Нямаше промяна във формата на входните данни или кода. Просто се случва промяна на класа. - person karan; 21.03.2013
comment
Чрез промяна на класове това ще промени данните, които libsvm изчислява, като по този начин може да причини грешка при разделяне на нула в mex. - person user2194365; 22.03.2013

Може би сте забравили да изтриете някои пътища, можете да проверите някои пътища, които сте добавили преди. След като добавите някои пътища, трябва да изтриете. Ако не направите това, той няма да знае каква функция да използва.

person Xiaoyan Gao    schedule 15.08.2014