Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 差分函数不';编译时无法工作_Matlab - Fatal编程技术网

Matlab 差分函数不';编译时无法工作

Matlab 差分函数不';编译时无法工作,matlab,Matlab,我写了一个简单的程序,用牛顿-拉斐逊法计算非线性方程的根,因此我需要计算函数在某些点上的导数。 我使用函数“diff”,它接受字符串并返回其派生,然后使用eval计算切线的斜率: func='sin(x^2)'; x=4.5; slope=eval(diff(func)); 代码位于一个.m文件中,该文件与其他一些.fig文件一起。 当我在GUIDE环境中或通过MATLAB的命令窗口调试/运行它时,一切似乎都很好,只有一个警告,该函数将在将来的版本中被弃用。 但是,当我使用以下命令编译文件:“

我写了一个简单的程序,用牛顿-拉斐逊法计算非线性方程的根,因此我需要计算函数在某些点上的导数。 我使用函数“diff”,它接受字符串并返回其派生,然后使用eval计算切线的斜率:

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

对此进行了讨论。问题是
func
不是
diff
。不能使用其他方法将函数定义为字符串吗?如果可能,将func设置为普通函数文件,然后将其包含在部署的包中

对此进行了讨论。问题是
func
不是
diff
。不能使用其他方法将函数定义为字符串吗?如果可能,将func设置为普通函数文件,然后将其包含在部署的包中

这个函数是由用户通过用户界面给出的,所以它没有定义或是一个精确的函数。哦,我明白了。在这种情况下,使用函数字符串和eval将不起作用。您可以设计一个计算器样式的界面,并通过单击适当的按钮让它们输入表达式,或者您可以尝试将用户键入的表达式解析为对应的matlab函数。后者听起来很痛苦。这个函数是由用户通过用户界面提供的,所以它没有定义或是一个精确的函数。哦,我明白了。在这种情况下,使用函数字符串和eval将不起作用。您可以设计一个计算器样式的界面,并通过单击适当的按钮让它们输入表达式,或者您可以尝试将用户键入的表达式解析为对应的matlab函数。但后者听起来很痛苦。