You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
### 【编程2.8】编制程序:解析用户输入的函数形式,构造语法树显示函数的计算过程。
|
|
|
|
|
|
|
|
|
|
【目的及编程说明】读者可通过编程2.8实现将函数组合解析为语法树的过程,解析用户输入的函数形式,构造语法树显示函数的计算过程。具体实现要求为:数值节点为x,运算符节点为加减乘除以及可识别计算的基本函数(界面右侧列表给出的)。系统会维护一个可参与表达式构造的函数形式及其可执行函数的列表。通过表达式解析,可以识别出具体的函数形式,并构建表达式语法树,展示用户输入函数表达式的计算过程。
|
|
|
|
|
|
|
|
|
|
### **【编程2.10】编制程序:数值积分**
|
|
|
|
|
|
|
|
|
|
【目的及编程说明】读者通过编程2.10可理解数值积分,可用梯形法实现(还可以用矩形)。具体实现要求为:(1)定义函数表达式,积分区间,步长;(2)通过梯形法实现小步长梯形面积的累加
|
|
|
|
|
|
|
|
|
|
### **【编程2.11】编制程序:数值微分**
|
|
|
|
|
|
|
|
|
|
【目的及编程说明】读者通过编程2.11可理解数值微分/求导的实现过程,使用中心差分计算导数(还可以用前向差分)。具体实现要求为:(1)定义求导函数表达式,步长;(2)定义求导点;(3)使用中心差分计算公式计算。
|
|
|
|
|
|
|
|
|
|
### **【编程2.12】编制程序:牛顿迭代法**
|
|
|
|
|
|
|
|
|
|
【目的及编程说明】读者通过编程2.11可理解牛顿迭代法的含义。牛顿迭代法是找到函数值为0的解。具体实现要求为:(1)定义函数表达式,起始迭代点,迭代次数,迭代精度;(2)使用牛顿法计算起始迭代点的函数值,判断此函数值与迭代点的差值是否小于迭代精度,若小于则停止返回,若大于,按照步长往下移动迭代点,直到迭代次数完毕;(3)返回解值。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 待改进
|
|
|
|
|
- [X] 函数校验
|
|
|
|
|
- [X] 用户自定义函数的显示
|