putinli 发表于 2007-6-23 14:49

如何用MATLAB对隐函数求导?

如题

[ 本帖最后由 eight 于 2007-6-25 10:43 编辑 ]

frogfish 发表于 2007-6-23 15:00

用隐函数求导公式就可以

以ln(x/y)+exp(-y./x)=0为例

syms x y
f=log(x/y)+exp(-y./x);
dfx=diff(f,'x');
dfy=diff(f,'y');
dyx=dfx/dfy

putinli 发表于 2007-6-23 15:23

我试了一下,例如对y=2^y+x求导,即2^y+x-y=0
命令如下
>> syms x y
>> f=2^y+x-y

f =

2^y+x-y


>> dfx=diff(f,'x')

dfx =

1

但其实答案应该是dy/dx=1/(1-(2^y)*log(2))啊?

putinli 发表于 2007-6-23 16:00

我搞错了不过dy/dx应等于-(df/dx)/(df/dy)

[ 本帖最后由 putinli 于 2007-6-23 16:03 编辑 ]

happy 发表于 2007-6-23 21:11

原帖由 putinli 于 2007-6-23 16:00 发表 http://www.chinavib.com/forum/images/common/back.gif
我搞错了不过dy/dx应等于-(df/dx)/(df/dy)

同意,改为

syms x y

f=log(x/y)+exp(-y./x);

dfx=diff(f,'x');

dfy=diff(f,'y');

dyx=-dfx/dfy

就可以了
页: [1]
查看完整版本: 如何用MATLAB对隐函数求导?