1

我编写了一个简单的程序来使用称为 Newton Raphson 方法的数值方法找到非线性方程的根,因此我需要计算函数在某些点的导数。我使用函数“diff”,它接受一个字符串并返回它的推导,然后我使用 eval 来计算切线的斜率:

func='sin(x^2)';
x=4.5;
slope=eval(diff(func));

该代码位于一个 .m 文件中,该文件与其他一些 .fig 文件一起。当我在 GUIDE 环境中或通过 MATLAB 的命令窗口调试/运行它时,一切似乎都很好,只有一个警告,该函数将在未来的版本中被弃用。但是当我使用以下命令编译文件时:“mcc -e file1 file2”,并运行.exe,当它到达带有“diff”的特定行并发出哔哔声时,它会引发运行时错误!是否有任何其他方法来计算应用程序文件中也支持的导数(符号/非数字)?

4

1 回答 1

1

这将在此处讨论。问题func不是diff。您不能使用将函数定义为字符串的替代方法吗?如果可能,将 func 设为普通函数文件,然后将其包含在已部署的包中。

于 2012-11-28T20:03:42.370 回答