用MATLAB软件 如何编写 y=xsin(x)的峰值 的程序???

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:05:45
如何用MATLAB软件编写 y=xsin(x)的峰值 的程序啊???
急~~~~!!!!
能不能把编好的具体的完整的MATLAB语言给我啊?
谢谢!!!!

这样更好些,无需知道dy【如果很复杂,就显得很有用了】:

function hh
%global dy
y='x*sin(x)';
ezplot(y),grid
dy=diff(y)
x0=[-5 -2 0 2 5];
fsolve(@myfun,x0)
function f=myfun(x)
global dy
f=subs(dy);

结果:
dy =

sin(x)+x*cos(x)

Optimization terminated: first-order optimality is less than options.TolFun.

ans =

-4.9132 -2.0288 0 2.0288 4.9132

你要求x*sin(x)的峰值?
求导得dy=sin(x)+x*cos(x)
fzero(@(x) sin(x)+x*cos(x),x0)
改变x0就可以求出各个dy的零点
再求这些点对应的二阶导值来确定是峰还是谷

你如果要精确的话,只能按上面这位牛人的作法作。
如果只是想得到一个粗略的值的话,可以用数值的方法来做。(精度不会非常高,也有可能以局部极值代替你要求的最值)

不过你的这个函数最值应当是无穷大啊。

求导得dy=sin(x)+x*cos(x)
fzero(@(x) sin(x)+x*cos(x),x0)
改变x0就可以求出各个dy的零点
再求这些点对应的二阶导值来确定是峰还是谷

今天是儿童节,去了天堂的孩子们,天堂里也会有节日的祝福的。那里没有悲伤,没有眼泪.只有快乐!

今天是儿童节,被伤痛折磨的孩子们,但愿人间的关怀给你更多的勇气。

sym x ;
fmin('-(sin(x)+x*cos(x))',x0)