|
发表于 2017-2-11 20:45:18
|
显示全部楼层
手头上没有nspire, 就先用 68k 的语法试一下。理论上除了开头结尾不太一样(而且还是自动生成的)以外都差不多。
必须将待求变量输入为 undef.
- :f1(f,a,b,c)
- :Func
- :If f = undef Then
- : return a*b/c
- :ElseIf a = undef Then
- : return solve(f=a*b/c,a)
- :ElseIf b = undef Then
- : return solve(f=a*b/c,b)
- :ElseIf c = undef Then
- : return solve(f=a*b/c,c)
- :Else
- : return undef
- :EndFunc
复制代码
无论是用 solve() 还是手动求解都无法避免需要方程参数问题。所以只能自己输入咯。
如果使用 solve(f=a*b/c|a=a0 and b=b0 and c=c0 and f=f0, {a,b,c,f}) 的话会导致提供的变量变成自由变量形式(比如解出 a=@1 and b=@2 and c=@3 and c0=<value> 类似的用 BASIC 难以处理的值,虽然待解量 c0 出现在答案中,不过很难提取),因此除非输出直接又由人来识别或加工,不然这样做是没法用的。 |
|