matlab如何求函数的最大值

matlab如何求函数的最大值,第1张

matlab如何求函数的最大值。

(1)先在命令窗口给s,A赋值。

(2)>>y=@(x)0.65*(s+x)*x/(A+x)。

(3)[x,fval]= fminbnd(y,0,inf)%用于求函数y在x在[0,inf]内的最小值。

则在取负即为求最大值。不过本题我试验了,本题好像有问题。手算都没有最大值的,因为对y求导后y'在x>0内恒大于零,故y为增函数,所以应为在x取无穷大时,y最大,为无穷大。

调用形式为:

r=roots()

例如:解多项式 x^3-6x^2-72x-27=0的根。

p=[1 -6 -72 -27]

r=roots(p)

结果为:

r=12.1229

-5.7345

-0.3884

1.首先,打开matlab,在命令行窗口中输入a=[12,35,2426,78,1416,19,21],创建一个3行3列的矩阵,如下图。

2.然后输入Max(Max(a)),求出一个矩阵的最大值,如下图。

3.然后按回车键,可以看到一个矩阵的最大值是78,如下图。

4.然后输入min(min(a))求矩阵的最小值。

5.按下回车键后,可以看到矩阵的最小值是12,如下图。

题主的求最大值问题,用matlab求解,可以这样来考虑:

第一步:自定义目标函数,fmincon_fun(x),其内容

f=。。。%f表达式

g=。。。%g表达式

p=。。。%p表达式q=。。。%q表达式

Ca=-sqrt((f^2+g^2+p^2+q^2)/2+sqrt(((f^2+g^2+p^2+q^2)/2)^2-(f*q-g*p)^2))%注意对于最大值问题,在Ca表达式前应加负号

第二步:初定x的初值,如x0=[1.5 -3]

第三步:确定x的上下限,lb=[-pi,-pi]ub=[pi,pi]

第四步:使用fmincon函数,求解θ,ψ,即

[x,fval] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub)

theta=x(1),phi=x(2)

Ca=-fval

第五步:编写代码,并运行得到如下结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11502017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存