利用matlab求方程时如果限定未知数范围,比如x*sin(x)-1/2=0,求解方程在-10到10上的解?

问题描述:

利用matlab求方程时如果限定未知数范围,比如x*sin(x)-1/2=0,求解方程在-10到10上的解?
>> x=solve('sin(x)*cos(x)-x*x=0')
x =
matrix([[0]])
这个方程只有两个解,为什么答案是这样?
1个回答 分类:数学 2014-10-07

问题解答:

我来补答
f=@(x)x.*sin(x)-1/2;
x=fsolve(f,[-10:1:10])
x =
Columns 1 through 6
-9.3714 -9.3714 -6.3619 -6.3619 -2.9726 -2.9726
Columns 7 through 12
-0.7408 0.7408 2.9726 2.9726 2.9726 6.3619
Columns 13 through 15
6.3619 9.3714 9.3714
剔除重复的值 有八个解
-9.3714 -6.3619 -2.9726 -0.7408 0.7408 2.9726 6.3619 9.3714
 
 
展开全文阅读
剩余:2000
上一页:例2的第一问