我想计算两个变量函数的区别。例如:
ax^2 + by^2 + cxy
所以我这样做:
a = 1
b = 1
c = 1
syms x y f
f = a*x^2 + b*y^2 + c*x*y
df = matlabFunction(diff(f,'x'))
返回:
df =
@(x,y)x.*2.0+y
没关系。但如果c为零,则返回:
df =
@(x)x.*2.0
我不能用两个参数调用它但是我需要传递两个参数,即使y不在定义中,因为c不总是为零。我该如何解决这个问题?
答案 0 :(得分:4)
matlabFunction
的'vars'
参数允许您指定生成函数的输入变量:
>> df = matlabFunction(diff(f,'x'),'vars',[x y])
df =
@(x,y)x.*2.0