求MATLAB编程表达式 5

求y=n1/30+n2/50最小值和x1、x2值约束条件:3.8969+0.8657*x1*x2=5x1=lg(n1)x2=lg(n2)... 求y=n1/30+n2/50最小值和x1、x2值

约束条件:3.8969+0.8657*x1*x2=5

x1=lg(n1)

x2=lg(n2)
展开
 我来答
dukinkin
2015-10-04 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:932万
展开全部
syms n1 n2 %符号n1 n2
x1=log10(n1); %x1表达式
x2=log10(n2); %x2表达式
y=n1/30+n2/50; %y表达式
sn2=solve(3.8969+0.8657*x1*x2-5,n2); %用n1表示n2

yy=subs(y,n2,sn2); %代入函数y,yy是关于n1的一元函数
fun=@(n1) eval(yy); %将符号表达式转化为函数

minn1=fminsearch(fun,1); %利用fminsearch找到函数y取最小值时的n1值minn1
minn2=subs(sn2,n1,minn1);%计算取最小值时的n2值minn2
minv=fun(minn1); %计算函数的最小值 minv
minx1=log10(minn1); %计算x1最小值 minx1
minx2=log10(minn2); %计算x2最小值 minx2
minx1,minx2,minv

结果
minx1 =

1.0515

minx2 =

1.2118

minv =

0.7010

表示当x1取1.0515,x2取1.2118时,函数有最小值0.7010
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式