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的值 展开
求(y/sin(a)+sqrt((4.15-y/tan(a))^2+(6.3-y)^2))最小值,matlab怎么弄
麻烦帮弄一下,要结果最小值和,a,y的值 展开
6个回答
展开全部
这些函数求得是极值,不是最值,所以求出来有可能就不是最小值,你要提前确定它的解在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
[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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
挨着比一比
设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.....
==============================================
这个方法比较原始比较拙,仅供参考~
设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.....
==============================================
这个方法比较原始比较拙,仅供参考~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用fminsearch函数,help里有相关例子,把他的函数换成你的即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先用plot指令画出函数图,估计最小值的位置,再用fzero或fminsearch试试!
求a,y我还不熟!
求a,y我还不熟!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询