2016-02-06 3 views
-1

Я получаю сообщение об ошибке при попытке использовать функции оптимизации из MATLAB R2014a. Сообщение об ошибке:Как использовать панель инструментов оптимизации в MATLAB

Неопределенная функция «gaoptimset» для входных аргументов типа «клетка»

Может кто-нибудь сказать мне, как решить эту проблему? Большое спасибо!

+1

Видимо, вам нужно использовать аргументы другого типа, чем 'cell'. Изучение этой ссылки: http://www.mathworks.com/help/gads/gaoptimset.html может вам помочь. Чтобы получить более сложный ответ, вам нужно предоставить дополнительную информацию. Изучите эту ссылку, чтобы узнать, как задать хороший вопрос на SO: http://stackoverflow.com/help/how-to-ask – brainkz

+0

@brainkz, я редактировал вопрос, пожалуйста, взгляните на него! – Poppy

+1

Прежде чем использовать их, ознакомьтесь с описаниями тегов. Удалены не связанные теги. – Daniel

ответ

0

Пожалуйста, изучите documentation более тщательно. Я смею предположить, что вы добавили некоторые значения в фигурные скобки, потому что они были в фигурных скобках в документации. Однако, Matlab явно указано, что:

значения в {} обозначает значение по умолчанию

Итак, в первую очередь вам нужно, чтобы удалить их. Затем вам нужно удалить tournamentSize, 0.1 и 0.8 в аргументы, так как значение после 'SelectionFcn', 'MutationFcn' и 'CrossoverFcn' должно быть просто дескриптором функции. Таким образом, вы в конечном итоге с:

options = gaoptimset('CreationFcn', @PopFunction,... 
        'PopulationSize',50,... 
        'Generations',100,... 
        'PopulationType', 'bitstring',... 
        'SelectionFcn',@selectiontournament,... 
        'MutationFcn',@mutationuniform,... 
        'CrossoverFcn', @crossoverarithmetic,... 
        'EliteCount',2,... 
        'StallGenLimit',100,... 
        'PlotFcns',@gaplotbestf,... 
        'Display', 'iter'); 

Надежда, что помогает

+0

Я пробовал ваш метод, это неправильно. Я получил такую ​​ошибку: «Неопределенная функция« gaoptimset »для входных аргументов типа« function_handle ».» – Poppy

+0

@ Поппи странно, мой Matlab компилируется без проблем, проверьте, есть ли у вас панель инструментов Optimization, набрав 'ver' – brainkz

+0

@brainkz, ваш MATLAB, вероятно, не компилируется, если вы явно не запускаете его через компилятор MATLAB. MATLAB - интерпретируемый язык, поэтому он может запускать команды из командной строки без компиляции. – Adriaan

Смежные вопросы