24小时热门版块排行榜    

查看: 694  |  回复: 0

琅琊-2哥

新虫 (初入文坛)

[求助] solve函数调用diff函数

在网上搜到这样一个例子:
练习2 求函数z=xy 在条件 x+y=1下的极值..构造Lagrange函数

L(x,y)=xy+k(x+y-1)

求Lagrange函数的自由极值.先求 关于 的一阶偏导数
>>clear; syms x y k
>>l=x*y+k*(x+y-1);
>>diff(l,x)
>>diff(l,y)
>>diff(l,k)
得 再解正规方程
>>clear; syms x y k
>>[x,y,k]=solve('y+k=0','x+k=0','x+y-1=0','x','y','k')
得 进过判断,此点为函数的极大值点,此时函数达到最大值.


我的问题是能不能在matlab  的solve函数中直接调用diff函数,比如这样solve('diff(l,x)=0','diff(l,y)=0','diff(l,k)=0','x','y','k')

但是这样,程序会报错,不知该怎样解决。
Warning: Could not extract individual solutions. Returning a MuPAD set object.
> In solve>assignOutputs at 219
  In solve at 193

x =

solvelib::cartesianPower(C_, 3)


y =

     []


k =

     []

>>
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 琅琊-2哥 的主题更新
信息提示
请填处理意见