matlab7函数最大值如何求函数f在区间上的最大值

Matlab怎么求函数f(x)=(1-x^3)sin(3x)在区间(-2pi,2pi)上的最大值?
给咪爷跪ORW
x=linspace(-2*pi,2*pi,100);y=(1-x.^3).*sin(3*x);max(y)ans =
为您推荐:
扫描下载二维码matlab函数求极值_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
matlab函数求极值
上传于||文档简介
&&m​a​t​l​a​b​函​数​求​极​值
大小:141.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢查看: 50470|回复: 8|关注: 0
利用matlab函数怎么求一个函数的最大值呀
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
现在有函数f(x)=4x^6-x-93,要求该函数在区间(0,100)上的最大值,怎么求呢?
<h1 style="color:# 麦片财富积分
关注者: 30
x=0:0.1:100;
y=4*x.^6-x-93;
[ymax,xmax]=max(y)复制代码
& && &&&1001
Matlab学无止境!
欢迎加入Matlab QQ交流群:
<h1 style="color:# 麦片财富积分
max(f(x))看看,找出f(x)的最大值。
关注者: 72
原帖由 cwjy 于
12:10 发表
x=0:0.1:100;
y=4*x.^6-x-93;
[ymax,xmax]=max(y)
& && &&&1001
这种情况下,未必是取大值,如果你把x再细分,最大值就又不一样了
这应该是函数求极值的问题
About me:/article-43-1.html
关注者: 72
原帖由 cwjy 于
12:10 发表
x=0:0.1:100;
y=4*x.^6-x-93;
[ymax,xmax]=max(y)
& && &&&1001
从函数表达式来看,其一阶导数为
y'=24*x^5 - 1
原函数在[0 0.5296]区间是单调递减,在[0.]上是单调递增的,最大值在x=100处
所以2楼的结果,从这点来看,值是对的
[ 本帖最后由 ljelly 于
12:31 编辑 ]
About me:/article-43-1.html
关注者: 87
原帖由 ljelly 于
12:27 PM 发表
从函数表达式来看,其一阶导数为
y'=24*x^5 - 1
原函数在[0 0.5296]区间是单调递减,在[0.]上是单调递增的,最大值在x=100处
所以2楼的结果,从这点来看,值是对的 ...
是的,最大值应该是在x=100处。
<h1 style="color:#3 麦片财富积分
关注者: 7
[x,fval,exitflag,output]=fminbnd('-(4*x^6-x-93)',0,100);
fval=-fval
fplot('4*x^6-x-93',[0,100])
<h1 style="color:# 麦片财富积分
关注者: 2
initpop=initializega(20,[0 100],'fitfit');
x=ga([0 100],'fitfit',[],initpop,[1e-25 1 0],'maxGenTerm',1000,'normGeomSelect',0.08,'heuristicXover',[20 3],'unifMutation',[4 0 0])
&&1.0e+012 *
& & 0.0000& & 4.0000
最大值为(1.0e+12)*4
function [sol,eval]=fitfit(sol,opt)
eval=4*x.^6-x-93;
<h1 style="color:# 麦片财富积分
站长推荐 /1
Powered by已知函数f(x)=(1/2)x&#178;+lnx-1,(1)求函数fx在区间[1,e]上的最大值和最小值
解由f(x)=(1/2)x^2+lnx-1得f'(x)=x+1/x当x属于区间[1,e]时,f'(x)>0即函数fx在区间[1,e]上是增函数故当x=1时,y有最小值f(1)=1/2+ln1-1=-1/2当x=e时,y有最大值f(e)=1/2e^2+lne-1=1/2e^2
为您推荐:
其他类似问题
求极值的方法你一步一步来
先采纳再回答
扫描下载二维码matlab 求三元函数y=f(x1,x2,x3)最大值的程序怎么写
function y = f(x1,x2,x3);if(x1>x2)if(x1>x3)y=x1;elsey=x3;endelse if(x2>x3)y=x2;elsey=x3;endend差不多应该是这样,这种比较大小的写法很多.可以自己写逻辑.然后存成f.m就应该可以调用了.用 max = f(1,2,3); 应该可以得到 max = 3不好意思,没有拿matlab跑一下.有问题再说刚才跑了一下,应该没有问题的.就是逻辑你可以自己修改.
这是求三个数的程序,现在是一个函数:y=35.1-5..+0..-1..+1.5*x1*x2+3.3*x1*x3-2.;该怎么办呢?谢谢了!
说实话,怎么没有太看懂你给的这个式子呢? 这个是函数么? 看着全部是数? 能简单把目的再说一下不?
*代表乘号,x1,x2,x3是变量,所以上面是一个函数,现想求它的最大值,x1,x2,x2的区间都是[-1,1]。
恩,我明白了。不过这种题目我感觉可是有点难。
你最近有在学习什么算法么? 还是说不要求算法只要答案的?
如果我写的话,可能需要一小点点时间,不能现在给你写出来。 我matlab也不是特别熟练的那种。我帮你问问。稍等一下。
刚才和问了一个同学,讨论了一下。因为是三元的变量所以就不画出来,因为画出来是4维的也不直观。如果只是要结果的话,最好的方法就是用for循环来做,那这样就可以得到一个可接受误差以内的最大值。下面的程序就可以满足,不过我为了节省时间,用了一个0.1的步长,估计误差就稍微大了一点。我用i,j,k代表的你的x1,x2,x3
max = 0.00;
这个我乱写的,估计可以写0.
for i = -1:0.1:1
for j = -1:0.1:1
for k = -1:0.1:1
y=35.1-5.9833*i-7.0833*i*i+0.1333*j-1.8677*j*j-
1.68338*k+4.7833*k*k+1.5*i*j+3.3*i*k-2.6667*j*k;
如果要求答案,可以把循环的步长稍微调整一下。换成0.01或者更小0.001.这样得到的肯定更精确。
然后,如果要求算法的话。我最近学习了基因算法,是可以解决这种类型的题目的。如果有需要,你可以给我留言。我可以给你写一下。
十分感谢!我主要要结果就OK了。
额,那不给这个问题做个结么? 我看着我的回答里面那个问号觉得囧囧的~
为您推荐:
其他类似问题
对于多元函数的最值,使用fminsearch函数
扫描下载二维码

我要回帖

更多关于 用matlab求函数最大值 的文章

 

随机推荐