利用MATLAB软件求f(x)=x sin(x cosx)求f(x)在[0,4pi]上的极值,拐点

 我来答
tianxiawulang
2014-03-23 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2635万
展开全部

求连续函数的极值和拐点,必要条件就是f'(x)=0和f''(x)=0。

由于f'(x)=0和f''(x)=0在指定区间都有多个根,难点就在于怎样求出所有的根。

我找到一个利用切比雪夫多项式逼近来求解任意函数指定区间内的所有实根的程序,用于求解本问题比较有效(n需要取比较大),请参见附件。

 

求解的代码如下:

syms x
f=x*sin(x*cos(x));
df=diff(f);
figure(1)
clf
x0=FindRealRoots(eval(['@(x)' char(df)]),0,4*pi,100);
ezplot(f,[0 4*pi])
hold on
plot(x0,subs(f,x0),'ro')
d2f=diff(f,2);
figure(2)
clf
subplot 211
x0=FindRealRoots(eval(['@(x)' char(d2f)]),0,4*pi,100);
ezplot(f,[0 4*pi])
hold on
plot(x0,subs(f,x0),'g>')
subplot 212
ezplot(df,[0 4*pi])
hold on
plot(x0,subs(df,x0),'ro')
axis tight

lhmhz
高粉答主

2014-03-23 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17008

向TA提问 私信TA
展开全部

用fminsearch(fun,x0)求解,该函数适应求函数的最小值。对于求函数的最大值问题,只要把函数写成最小值问题,即-fun。

运算结果,当x=1.09063时,有最大值g=0.5265。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式