带 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
是否可以让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