利用MATLAB软件求f(x)=x sin(x cosx)求f(x)在[0,4pi]上的极值,拐点
2个回答
展开全部
求连续函数的极值和拐点,必要条件就是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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询