Matlab错误为fzero,方法isfinite未定义



我只想为超几何函数找到一个零

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. 您可能没有符号工具箱。当您正确安装MATLAB时,请确保您已使用许可证安装了它。请记住,对于许多工具箱功能,简单地从另一个源复制工具箱可能不起作用(另请参阅下面的许可)。

  2. 您的路径可能会被重新排序或损坏,从而阻止MATLAB找到此函数。从下拉菜单中选择文件->设置路径,然后单击底部的默认按钮,将路径重置为原始路径。单击保存并重试您的代码。

  3. 您的isfinite函数已被意外删除。我建议重新安装MATLAB。

  4. 您的许可证不包括符号工具箱您的许可文件已损坏。如果你没有合适的许可证,MATLAB会做一些努力来阻碍你的MATLAB体验。如果你确定你确实有许可证,请查看MATLAB的工具箱文件夹,并确保你有一个名为symbol的文件夹(其中有文件!)"C:\Program Files\MATLAB\R2010a\toolbox\symbolic")。您可以查看您的环境变量LM_LICENSE_FILE,并在MATLAB/licence目录中检查您的MATLAB许可证文件,看看是否有任何内容丢失(比如LICENSE.dat文件)或奇怪(空文件等)。重新安装可能也有帮助。Mathworks支持可能会在这里为您提供帮助。

  5. 多次安装可能会造成伤害。如果你安装了多个版本的MATLAB,有符号工具箱和没有符号工具箱,你可能会遇到麻烦。许可证可能会发生冲突,您可能会尝试卸载所有内容,然后选择您最喜欢的内容。

相关内容