拉格朗日法求解——条件极值问题

一、问题描述

在这里插入图片描述

二、拉格朗日手工求解方法

在这里插入图片描述

三、拉格朗日编程求解方法

代码如下

from sympy import *
x,y,z,k=symbols('x,y,z,k')
a,b,c=symbols('a,b,c')
f=8*x*y*z
g=x**2/a**2+y**2/b**2+z**2/c**2-1
L=f+k*g
dx=diff(L,x)
print("dx=",dx)
dy=diff(L,y)
print("dy=",dy)
dz=diff(L,z)
print("dz=",dz)
dk=diff(L,k)
print("dk=",dk)
dx=8*y*z+2*k*x/a**2
dy=8*x*z+2*k*y/b**2
dz=8*x*y+2*k*z/c**2
dk=x**2/a**2+y**2/b**2+z**2/c**2-1
m=solve([dx,dy,dz,dk],[x,y,z,k])
print(m)
x=sqrt(3)*a/3
y=sqrt(3)*b/3
z=sqrt(3)*c/3
k=-4*sqrt(3)*a*b*c/3
f=8*x*y*z
print("最大值为:",f)

结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值