[Maxima-users] [Maxima] Solving 3rd order equation by solve.

Back to archive index

Pepe Sanchez jose.****@uv*****
2013年 2月 25日 (月) 20:30:06 JST


> I want to know general methods to avoid a small imaginary error.

   I guess that you need somethingh similar to the "chop" operator in Mathematica.
  
You can try this.


(%i1)      fpprintprec: 5$     /* just to avoid too much figures in output */

(%i2)     s: float(rectform(solve(x^3-3*x^2-2*x+1,x)));       

(%o2)  :  [x=.34338-2.2204*10^-16*%i,x=2.2204*10^-16*%i-.83424,x=1.1102*10^-16*%i+3.4909]

 (%i3)  zero: 1e-8 $   /* your arbitrary threshold */
 (%i4)  for i:1 thru length(s) do 
                     (if imagpart(rhs(s[i])) <= 1e-8 then s[i]: x=realpart(rhs(s[i])) else false ) ;     

 (%i5)  s;
(%o5) [x=.34338,x=-.83424,x=3.4909]



Best  
________________________________________________________________
Jose Sanchez-Marin.
 Universitat de Valencia.
 Institut de Ciencia Molecular (ICMol).
 Cat.  Jose Beltran Martinez, 2				Phone: +34 96 354 4444
E-46980 Paterna							FAX:   +34 96 354 3576	            
 Spain 				   					e-mail: Jose.****@uv*****	   
 _________________________________________________________________



-------------- next part --------------
HTMLの添付ファイルを保管しました...
Télécharger 



Maxima-users メーリングリストの案内
Back to archive index