用MATLAB软件 如何编写 y=xsin(x)的峰值 的程序???
来源:百度知道 编辑:UC知道 时间:2024/06/03 21:05:45
急~~~~!!!!
能不能把编好的具体的完整的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)