solve函数获取计算Octave的值

问题描述 投票:0回答:1

我最近发现了求解函数,我看到了它的潜力。但是,我没有看到输出可用。

例如,

syms x

solve(x*sin(20)==5000)

产生输出:

warning: passing floating-point values to sym is dangerous, see "help sym"
warning: called from
    double_to_sym_heuristic at line 50 column 7
    sym at line 379 column 13
    mtimes at line 54 column 5

ans = (sym)

  7106000
  ───────
   413⋅π

有趣。因为答案是正确的。唯一的问题是我想使用这个“值”而不是方程本身。

>> 7106000/(413*pi)
ans = 5476.8

有没有办法让求解函数真正产生我想要的值?

我不明白如何在进一步计算中使用该值而不“访问”计算值。

我看不到任何标志或任何其他东西可以帮助我将此值从符号转换为数字......?

octave symbolic-math
1个回答
1
投票

我认识到了自己的错误。

我没有为方程设置变量。

使用与上面相同的问题:

sol=solve(x*sin(20)==5000)

仍然给出输出:

warning: passing floating-point values to sym is dangerous, see "help sym"
warning: called from
    double_to_sym_heuristic at line 50 column 7
    sym at line 379 column 13
    mtimes at line 54 column 5

sol = (sym)

  7106000
  ───────
   413⋅π

如果我写 sol 它会提供以下输出:

>> sol
sol = (sym)

  7106000
  ───────
   413⋅π

但是。如果我写这个

>> double(sol)
ans = 5476.8

这意味着我现在可以为其设置一个变量并将其用于进一步的方程。

像这样:

>> z = double(sol)
z = 5476.8

这意味着 z 现在就是我最初想要的值。

>> z
z = 5476.8
© www.soinside.com 2019 - 2024. All rights reserved.