TI-Nspire编程问题:如何生成带多阶导数的自定义全局函数
解决TI-Nspire中动态创建函数及其导数的问题
原代码无法正常运行的核心原因是:TI-Nspire不允许直接用变量值作为函数名来定义函数,必须通过动态字符串拼接+Eval命令来生成并执行函数定义语句,才能把目标函数及其导数注册为全局变量。
修正后的可行代码如下:
Define LibPub der(a,b)= Prgm // 动态创建原函数 Eval("Define " & a & "(x):=" & b) // 生成1阶导数函数 Eval("Define " & a & "1(x):=d/dx(" & a & "(x))") // 生成2阶导数函数 Eval("Define " & a & "2(x):=d/dx(" & a & "1(x))") // 生成3阶导数函数 Eval("Define " & a & "3(x):=d/dx(" & a & "2(x))") EndPrgm
关键说明
Eval()命令负责执行拼接好的字符串形式的Define语句,实现动态创建全局函数&是TI-Nspire的字符串连接运算符,用来把函数名变量a和固定语法拼接成合法的定义命令- 必须在Eval内使用
Define关键字,才能确保函数被注册为全局可用的变量
使用示例
调用时,第一个参数要传字符串形式的函数名,第二个参数传目标函数表达式:
der("f", "x^3 + 2x")
执行后,全局环境会生成f(x)(原函数)、f1(x)(1阶导)、f2(x)(2阶导)、f3(x)(3阶导)四个函数,直接调用即可。
内容的提问来源于stack exchange,提问作者O. P.
相关产品推荐
相关产品推荐

