TI-Nspire CX编写二次方程函数时出现“Error: Variable is not defined”错误
TI-Nspire CX二次方程求解函数错误修复指南
问题分析
- 变量未定义的核心原因:TI-Nspire的CAS系统不允许省略乘法运算符,你代码里的
4ac、2a会被识别成单独的未知变量名(比如4ac不是4*a*c的缩写),这才是触发错误的关键,和多个Return语句无关。 - 多个Return的无效性:函数里第一个
Return xpos执行后,函数会直接终止,第二个Return xneg永远不会被执行。要返回两个根,得把它们打包成列表返回。
修正后的代码
Define LibPub quadratic(a,b,c)= Func #quadratic(a,b,c) - 返回二次方程ax²+bx+c=0的两个根(列表形式) Local xpos, xneg (-b + sqrt(b^2 - 4*a*c))/(2*a) -> xpos (-b - sqrt(b^2 - 4*a*c))/(2*a) -> xneg Return {xpos, xneg} // 用列表打包两个根返回 End Func
使用说明
- 调用示例:输入
quadratic(1,-3,2),会返回{2,1},对应方程x²-3x+2=0的两个根。 - 若要处理判别式小于0的复数根,需先在TI-Nspire中开启复数模式(设置>文档设置>复数>允许)。
内容的提问来源于stack exchange,提问作者MetalTalon
相关产品推荐
相关产品推荐

