Ошибка Matlab с fzero, метод isfinite не определен - PullRequest
1 голос
/ 05 июня 2011

Я просто хочу найти ноль для гипергеометрической функции

g = @(x) hypergeom((1-x)./2,1,1)

fzero(g,15)
??? Undefined function or method 'isfinite' for input arguments of type 'sym'.

Error in ==> fzero at 333
    elseif ~isfinite(fx) || ~isreal(fx)

Эти же инструкции работали раньше !!Что случилось??Что я могу сделать ??

1 Ответ

1 голос
/ 01 июля 2011

Эта проблема может быть вызвана несколькими причинами:

  1. У вас может не быть Символической панели инструментов. Убедитесь, что вы установили его с лицензией при правильной установке MATLAB. Помните, что для многих функций инструментария простое копирование в инструментарий из другого источника может не работать (также см. Лицензирование ниже).

  2. Ваш путь может быть изменен или поврежден таким образом, что MATLAB не сможет найти эту функцию. Сбросьте путь к оригиналу, выбрав File-> SetPath в раскрывающемся меню, а затем нажмите кнопку Default внизу. Нажмите Сохранить и попробуйте ввести код еще раз.

  3. Ваша функция isfinite была случайно удалена. Я бы порекомендовал просто переустановить MATLAB.

  4. Ваша лицензия не включает набор инструментов Symbolic или Ваш файл лицензии поврежден. Если у вас нет соответствующей лицензии, MATLAB приложит немного усилий, чтобы ограничить ваш опыт работы с MATLAB. Если вы уверены, что у вас есть лицензия, загляните в папку набора инструментов MATLAB и убедитесь, что у вас есть папка (с файлами в ней!) С именем symbolic (возможно, что-то вроде "C: \ Program Files \ MATLAB \ R2010a \ toolbox \ symbolic"). Вы можете взглянуть на переменную среды LM_LICENSE_FILE и проверить свой файл лицензии MATLAB в каталоге matlab / license и посмотреть, отсутствует ли что-нибудь (скажем, файл license.dat) или странное (пустой файл и т. Д.). Переустановка также может помочь в этом. Служба поддержки Mathworks может вам помочь.

  5. Несколько установок могут повредить. У вас могут возникнуть проблемы, если у вас установлено несколько версий MATLAB с символическим набором инструментов и без него. Лицензии могут конфликтовать, и вы можете попробовать удалить все и просто выбрать свой любимый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...