如何在matlab中区分内联函数

时间:2016-10-07 02:27:50

标签: matlab inline differentiation

假设我在matlab中编写以下内容

0 or 1

然后f将是内联函数。我可以通过输入

来评估不同值的f
c='x^2-6';
f=inline(c);

等。

但是,当我尝试f(2) f(5) 时,它不会返回diff(f)。我怎样才能从2*x获得2*x

3 个答案:

答案 0 :(得分:2)

您无法使用inline个对象进行符号数学计算。改为使用sym个对象:

c= sym('x^2-6'); % creates the 'sym' object
subs(c,2) % calculates c(2)
diff(c);

另请注意,未来版本中的inline will be removed

答案 1 :(得分:2)

您需要MATLAB Symbolic Toolbox。你所描述的是象征性的差异化。 (还有符号整合等)。 MATLAB的“正常”(非符号)版本用于进行数值计算,而不是微积分或代数操作。

答案 2 :(得分:0)

这是一个符号方法,将函数和参数作为用户输入并区分它。

closest

现在,如果您执行类似f(1)的操作,则会显示2.71828,而df(1)将显示为2.71828