/FunctionImage

可以画函数图像的表达式计算器

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

FunctionImage

可以画函数图像的计算器

功能:

1.“新建函数”——创建自定义函数: 在[函数名]框中输入自定义函数的名字,例如f1,在[表达式]框中输入函数的表达式,例如2*(2*cos(t)-cos(2*t)),点击“新建函数”按钮。 可以看到下面的列表框中出现f1(t ),则新建了一个自定义函数f1(t) = 2*(2*cos(t)-cos(2*t));

2.“编辑函数”——编辑修改自定义函数的自变量,确定参数: 我们新建一个函数g1(x, y) = x^2+ y^2+2*x+2*y+2,也就是在[函数名]框中输入g1,在[表达式]框中输入x^2+ y^2+2*x+2*y+2,点击“新建函数”按钮。 此时可以看到函数列表里出现了一条g1(x, y);这是一个二元函数。 但是如果用户本意认为y是一个参数,想修改y为一个固定值,例如1.1,把二元函数g1(x, y)变成一元函数g1(x, 1.1),此时 在[函数名]框中输入存在的函数的名字,例如上面的g1,点击“编辑函数”按钮,弹出“编辑函数”窗口,函数名每个自变量占一行, 从左向右分别是“是否为自变量”复选框,“函数名”,“固定参数值”输入框。 我们取消选择参数名(自变量名)y前面的复选框,在y右边的文本框中输入“1.1”点击保存,则g1(x, y)就会变成一元函数g1(x, 1.1)g1(x, 1.1)可以再修改回g1(x, y),只要再次编辑g1,并且选择Y前面的复选框并且点击确定即可。 (编辑函数点击确定后函数列表框不刷新的BUG将会在日后修复,暂时可以通过再次点击“编辑函数”按钮,之后关闭“编辑函数”窗体来刷新列表,看到编辑之后的函数名g1(x )

3.“查看函数”——查看函数的函数体: 在[函数名]框中输入自定义函数的名字,例如f1(创建过f1(t )函数),点击“查看函数”按钮,[表达式]框中就会出现新建函数时的函数表达式【2*(2*cos(t)-cos(2*t))】

4.“计算方程”——表达式计算器: 在[表达式]框中输入待计算的表达式(表达式中可以包含已经存在的函数),例如g1(cos(0),cos(0)),点击“计算方程”按钮, 弹出“结果”对话框“结果是8.0”,点击确定后,在[结果]框中出现“结果是: 8.0” 注:g1(x, y) = x^2+ y^2+2*x+2*y+2,是一个二元函数,cos是内置的余弦函数cos(x),x为弧度制

5.“删除函数”——删除一个自定义函数: 在[函数名]框中输入用户想删除的、存在的自定义函数的名字,例如g1,点击“删除函数”按钮,函数列表中的g1就会消失,此时就可以再用g1创建新的函数了。

6.“函数图像”——描点法画一个函数的图像: 用户新建过一个一元函数,f1(t) = 2*(2*cos(t)-cos(2*t)),在[函数名]框中输入一元函数的名字,例如f1,点击“函数图像”按钮,弹出“函数图像”窗体, 左上角是函数表达式,可以拖动窗体,改变窗体大小,自动重绘显示更多部分 (目前坐标系原点始终在窗体中心,可调坐标原点、可调单位长度等功能后续添加)

7.“参数方程”——描点法画两个一元函数f1(x),f2(y)构成的参数方程f(f1(t),f2(t))=0 用户新建过一个一元函数,f1(t) = 2*(2*cos(t)-cos(2*t)),此时再新建一个函数f2(t )=2*(2*sin(t)-sin(2*t))。 在[函数名]框中输入f1,在[表达式]框中输入f2,点击“参数方程”按钮,弹出“参数方程(函数图像)”窗体, 左上角是两个一元函数的表达式,可以拖动窗体,改变窗体大小,自动重绘显示更多部分

8.“退出”——退出程序 目前没有保存功能,所以请注意保存自己的函数表达式,还有中间结果

9.双击“函数名列表”中的函数名,可以把函数名填充到[函数名]框中

内置函数: 符号——加:+ 减:- 乘:* 除:/ 取余(模):% 乘方:^; 三角函数:正弦sin(x),余弦cos(x),正切tan(x),反正弦arcsin(x),反余弦arcsin(x),反正切arcsin(x); 对数函数:以十为底的对数lg(x),自然对数ln(x),以x为底y的对数log(x,y); 开平方:sqrt(x); x的y次方:pow(x,y); 整数x的阶乘x!:factor(x); 双曲函数:双曲正弦sinh(x),双曲余弦cosh(x),双曲正切:tanh(x); [0,1)区间的随机数:random(x); 斐波那契数列的项,编号i从零开始:fib(i);fib(4)=5(1 1 2 3 5)

怎样处理自然对数的底e 直接用2.7182818284……代替