【问题标题】:Extract variable's value from solve从求解中提取变量的值
【发布时间】:2015-04-30 00:57:02
【问题描述】:

我正在尝试为 TI-Nspire cx cas 计算器编写一个函数。我必须解决一个大型系统,使用内置的solve 函数。我想将solve 的结果保存在一些变量中。例如,如果结果是u1=2 and u2=3,我想将2和3分别存储在变量u1u2中。有谁知道如何在程序中自动执行此操作?

【问题讨论】:

  • 您可以使用string(Solve(...))Solve 的输出转换为字符串,然后进行一些密集的字符串处理(使用inString 查找"="" " 之间的字符)以提取数值并使用expr 将它们转换为数字。这是我能想到的唯一方法。抱歉,我现在没有时间实际编写代码,但我确实检查了,string 会将表达式转换为字符串。
  • 总而言之,没有内置的方法可以做到这一点

标签: ti-basic


【解决方案1】:

试试 exp▶list(Expr,Var) 函数。例子>

res:=solve({x+2*y=5,x-y=2},{x,y})

x=3 和 y=1

l1:=exp▶list(res,{x,y})

[[3,1]]

【讨论】:

    【解决方案2】:

    对于线性方程,您可以简单地使用linsolve()

    linSolve(x=5 and y=x+5, x, y)
    -> {5,10}
    

    非常方便的是用于访问输出变量的管道字符:

    solve(x=5 and y=x+5, x, y)
    -> x=5 and y=10
    
    x|x=5 and y=10
    -> 5
    

    你也可以存储值:

    res:={x, y}|x=5 and y=10
    

    很遗憾,这不适用于solve 的输出中的or

    【讨论】:

    • 我来这里是为了使用and|,这让我疯了一个小时。谢谢。
    猜你喜欢
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多