matlab 求-120*x^3-30*x^4+18*x^5+5*x^6-30*xy^2的极值
问题描述:
matlab 求-120*x^3-30*x^4+18*x^5+5*x^6-30*xy^2的极值
syms x y
f='-120*x^3-30*x^4+18*x^5+5*x^6-30*x*y^2';
fx=diff(f,x)
fy=diff(f,y)
结果为:
fx =
30*x^5 + 90*x^4 - 120*x^3 - 360*x^2 - 30*y^2
fy =
(-60)*x*y
接下里roots怎么写呢?
是:
x0=roots([30,90,-120,-360,0,-30*y^2])
y0=roots([0,0,0,0,-60,-60*x,0])
还是怎么写呢?
答
roots用来求多项式的根的,参数是多项式系数.
x0=roots([30,90,-120,-360,0,-30*y^2])
y0=roots([-60*x,0])他总是提示:
??? Undefined function or method
'isfinite' for input arguments of type
'sym'.
Error in ==> roots at 27
if ~all(isfinite(c))你x,y定义的是syms类型,求根需要定义数值类型,不能用syms类型那应该怎么改呀?数值类型怎么定义?
麻烦您了 谢谢 不太懂啊就直接将x,y定义为一个数,如x=5,y=8之类的