使用Matlab符号的隐式导数

时间:2015-11-12 02:43:09

标签: matlab symbolic-math

是否有可能让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

这可能吗?

1 个答案:

答案 0 :(得分:1)

看起来你正试图将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)

返回此symfun

ans(x) =

diff(y(x), x) + 2