带 Matlab 符号的隐式导数

Implicit derivative with Matlab symbols

是否可以让MATLAB对其符号进行隐式微分? 我有以下代码

syms x;
y = symfun(sym('y(x)'), sym('x'));
yPrime = symfun(sym('y+(2*x)-1'), [sym('x'), sym('y')]);
diff(yPrime, x, 1)

由此我得到

ans(x, y) =
2

但我想要(以某种形式)得到的是

ans(x, y) =
dy/dx + 2

这可能吗?

您似乎在尝试将 y 用作符号变量和抽象符号函数 (symfun),这是不可能的。符号函数只能将符号变量作为参数。我认为你可以完成你想要的(不需要旧式字符串)

syms y(x)        % Implicitly defines x too
yPrime = y+2*x-1 % Also a symfun because y is a symfun
diff(yPrime,x)

哪个returns这个symfun

ans(x) =

diff(y(x), x) + 2