查看完整版本 : [问题] 一个关于solve的问题
AndrewRIP
2010-12-02, 15:15
我有一个方程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),但是系统确提醒我说有解丢失了~请问该怎么得到这个方程的两个解:confused::confused::confused:
http://www.labfans.com/bbs/attachment.php?attachmentid=2699&stc=1&d=1291515816
AndrewRIP
2010-12-06, 07:31
晕~还是不行~我本来以为是分号的问题~我是maple13~会不会是这个原因..
方法1.用小数表示方程系数,solve之后就是数值解
方法2.对Rootof结果使用allvalues命令,可以得到数值解
方法3.如果从图上看出来了解的大致位置,比如x=2附近,那么用fsolve(eq,x=2)可以找到附近的数值解。复数解也可以这样找到,但是初始点不好确定。
方法4.对于多项式方程,可以用split找到精确解(如果存在的话)。
方法5.可以用Student[Calculus][Roots]命令找到实数解。这个函数好像找不到复数解,实数解也需要给定区间,否则会丢根。
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)
2880附件图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)
2881附件图2
显示零点只有一个;
就是在x约等于0的点;
可以用命令plot(x1,y1,0,0,'*')将(0,0)点标出。
另外用diff求导也可证.
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.