Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2010-12-02
帖子: 2
声望力: 0 ![]() |
![]()
我有一个方程Eq:=x^4-1.5x^3-x-sin(x)=0,现在我用Sol:=solve(Eq,x)得到一个解"0.",但是通过plot出x^4-1.5x^3-x-sin(x)的图像发现有两个解,然后我改用Sol:=solve(Eq,x,AllSolutions),但是系统确提醒我说有解丢失了~请问该怎么得到这个方程的两个解
![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2010-12-02
帖子: 2
声望力: 0 ![]() |
![]()
晕~还是不行~我本来以为是分号的问题~我是maple13~会不会是这个原因..
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2011-08-26
帖子: 4
声望力: 0 ![]() |
![]()
方法1.用小数表示方程系数,solve之后就是数值解
方法2.对Rootof结果使用allvalues命令,可以得到数值解 方法3.如果从图上看出来了解的大致位置,比如x=2附近,那么用fsolve(eq,x=2)可以找到附近的数值解。复数解也可以这样找到,但是初始点不好确定。 方法4.对于多项式方程,可以用split找到精确解(如果存在的话)。 方法5.可以用Student[Calculus][Roots]命令找到实数解。这个函数好像找不到复数解,实数解也需要给定区间,否则会丢根。 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2011-08-03
年龄: 36
帖子: 5
声望力: 0 ![]() |
![]()
syms x;Eq=x^4-1.5*x^3-x-sin(x);
y=simple(Eq);solve(y) ans=0. 验证: x1=-2*pi:0.5:2*pi;y=x.^4-1.5*x.^3-x-sin(x);y1=subs(y,x,x1);plot(x1,y1) 1.jpg附件图1 放大x=-2:2区域; x1=-1:0.1:1;y=x.^4-1.5*x.^3-x-sin(x);y1=subs(y,x,x1);plot(x1,y1) 2.jpg附件图2 显示零点只有一个; 就是在x约等于0的点; 可以用命令plot(x1,y1,0,0,'*')将(0,0)点标出。 另外用diff求导也可证. |
![]() |
![]() |