MATLAB计算复杂的一元二次函数

我写的程序是下列这样的,算出的两个解都是1,实际上a=1时该等式恒成立,但是在实际应用问题中还有一个除1之外的解,所以请大家帮帮忙,急着要用syms a;solve('2*cos((1-a)*pi)*(3/4*(1-a)^2-(sin((1-a)*2*pi/3))^2)-sin((1-a)*pi)*(-sqrt(3)/2*(1-a)+sin(4*pi/3*(1-a)))','a')ans =11

从图形上来看,方程有无数个解。

但你可以用fzero()函数求得a0附近的解。通过循环语句,求出某一区间的解。

func=@(a)(2*cos((1-a)*pi).*(3/4*(1-a).^2-(sin((1-a)*2*pi/3)).^2)-sin((1-a)*pi).*(-sqrt(3)/2.*(1-a)+sin(4*pi/3.*(1-a))));

for a0=-10:10

[a,f] = fzero(func,a0)

end

。。。。。

温馨提示:答案为网友推荐,仅供参考
相似回答