效果如图,
下载在此
http://download.csdn.net/source/3367510
***************************************使用说明*********************************
1、输入表达式时,数字和数字之间、数字和算符(括号)之间要键入空格,不然无法正确分析计算,例如,sinx会被视为一个变量,正确形式为sin x;
需要输入负数时如 x ^ ( - 2 ),可以输入为 x ^ ( 0 - 2 ) 的形式,其他运算都是如此";
遇到复杂的表达式,如 e ^ ( sin x ) ^ 2 + x ,需要添加括号,e ^ ( ( sin x ) ^ 2 ) + x , 再如 sin sin x + cos cos x 需写为( sin sin x ) + cos cos x ,以取得正确结果" ;
支持数学表达式中的乘法简写,如 a * b 可简写为 a b" ;
2、计算器支持的运算为:+,-,*,/,^(次方运算),sin,cos,tan,cot,sec,csc,arcsin,arccos,arctan,arccot,sh,ch,th,ln, 暂不支持对数LOG运算,";
运算符的优先级和数学中相同,即 sin ... > ^ > *// > +/- ,可通过添加括号改变优先级" ;
采用浮点型(double)数值计算,暂不支持大数运算,所以需要注意浮点型数值精度问题";
3、导数支持的运算为:+,-,*,/,^,sin,cos,tan,cot,sec,csc,arcsin,arccos,arctan,arccot,sh,ch,th,ln,log;
不支持如下形式:x^x(底数和指数都为变量) log x 2 (底数为变量);
默认 a、e(ln的底数)、n为常数,两变量间无符号默认为乘法(*)运算(log除外);
导数最后得到的结果可能会出现1*x、sinx/cosx 之类的形式,需要自己进行化简;
代码比较长,如果大家感兴趣的话,随后贴上;希望大家多提宝贵意见