matlab求函数f=(1+x^2)/(1+x^4)在区间0<x<2的最大值怎么求,求代码

yu_tongkui
2012-06-04 · TA获得超过347个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:146万
展开全部
首先,通过解析的办法可以求到精确解。
求f对x的导数,令其等于0,求得x=√(√2-1)或者-1。所以,最大值为(1+√2)/2。
matlab中输入(1+sqrt(2))/2,得到1.2071。

如果非要求解,我的思路是:
a. 首先绘图观察函数曲线,如执行如下命令即可画出f在(0,2)区间的图形。
x=0:0.0001:2; plot(x,(1+x.^2)./(1+x.^4));
通过观察可以看出,最大值在0.6到0.8之间,并且在极值两侧都是单调的。

b. 通过如下程序计算出极值,请保存成qiujjizhi.m,执行即可。

function [x y]=qiujizhi()
h=0.00001; %%解的精度
x=0.6;
y=(1+x^2)/(1+x^4);
while (1+(x+h)^2)/(1+(x+h)^4) > y
x=x+h;
y=(1+x^2)/(1+x^4);
end
fprintf('极大值时x取值%5.20d,极大值时y=,%5.20d',x,y);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式