matlab求函数最小值 5

0<=y<=6.3,0<=a<=56.6求(y/sin(a)+sqrt((4.15-y/tan(a))^2+(6.3-y)^2))最小值,matlab怎么弄麻烦帮弄一下,... 0<=y<=6.3,0<=a<=56.6
求(y/sin(a)+sqrt((4.15-y/tan(a))^2+(6.3-y)^2))最小值,matlab怎么弄
麻烦帮弄一下,要结果最小值和,a,y的值
展开
 我来答
东哥zld
2015-10-16 · 机械自动化爱好者
东哥zld
机械自动化爱好者
采纳数:204 获赞数:17736
毕业不久,正在努力创造自己的骄傲

向TA提问 私信TA
展开全部

matlab求函数最小值方法步骤如下:

1、用“导数为零”法求极值点,具体代码及其结果如下图所示:

2、采用优化算法求极小值,具体代码及其结果如下图所示:

3、绘制图形观察最小值,下图是代码:

4、绘制图形观察最小值,下图是绘制的函数图形:

5、据图形观察,重设fminbnd的搜索区间

圭时芳哈霜
2019-09-24 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:26%
帮助的人:611万
展开全部
这些函数求得是极值,不是最值,所以求出来有可能就不是最小值,你要提前确定它的解在8附近,你就直接改取值范围
[x,favl]=fminbnd(@(x)exp(-0.1*x)*sin(x)^2-0.5*(x+0.1)*sin(x),7,9)
x
=
8.0236
favl
=
-3.5680
还有就是可以用分段法来求
xrange=[-10,10];
n=100;
xrange=linspace(xrange(1),xrange(2),n+1);
x_min=zeros(n,1);
fval_min=zeros(n,1);
for
i=1:n
[x_min(i),fval_min(i)]=fminbnd(@(x)exp(-0.1*x)*sin(x)^2-0.5*(x+0.1)*sin(x),xrange(i),xrange(i+1));
end
[fval,i]=min(fval_min);
x=x_min(i)
fval
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ad68ac
2009-08-29 · TA获得超过101个赞
知道答主
回答量:69
采纳率:0%
帮助的人:46.9万
展开全部
挨着比一比
设y和a的取点间隔分别为y_interval和a_interval
最小值放在m里,相应y a下标为y_min,a_min
写个函数实现上式中中z=func(y,a)
============================================
y=0:y_interval:6.3;y_len=length(y);
a=0:a_interval:56.6;a_len=length(a);

m=func(y(1),a(1));y_min=1;a_min=1;

for i=1:y_len
for j=1:a_len
z=func(y(i),a(j));
if z<m
m=z;y_min=i;a_min=j;
end
end
end
则最小值m,对应a=a_interval*(a_min-1),y.....
==============================================
这个方法比较原始比较拙,仅供参考~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e56ba1038
2009-08-28 · TA获得超过2499个赞
知道小有建树答主
回答量:821
采纳率:0%
帮助的人:0
展开全部
使用fminsearch函数,help里有相关例子,把他的函数换成你的即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuanxuan880113
2009-09-07 · 超过15用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:42万
展开全部
先用plot指令画出函数图,估计最小值的位置,再用fzero或fminsearch试试!
求a,y我还不熟!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式