MATLAB通过double将符号表示转换为数值

时间:2018-09-03 15:58:01

标签: matlab expression symbolic-math

我的代码有点问题,找不到解决它的好方法。问题似乎在于使用double将符号表达式转换为可以使用double绘制的数字表达式。

这是我的代码:

P1 = [-1.5, -2]
P2 = [2, 2]
P3 = [-2.5, 2.5]
P4 = [2, -1]

syms x 
syms y
c = 299792.458e3

r1i = sqrt((P1(1,1) - x)^2 + (P1(1,2) - y)^2)
r2i = sqrt((P2(1,1) - x)^2 + (P2(1,2) - y)^2)
t21 = -3.7294e-6
S = double(solve(t21 == (r2i-r1i)/c, y))

但是,这会产生错误:

Error using symengine
DOUBLE cannot convert the input expression into a double array.

Error in sym/double (line 613)
        Xstr = mupadmex('symobj::double', S.s, 0);

Error (line 18)
S = double(solve(sym(t21) == (r2i-r1i)/c, y))

我做了一些谷歌搜索,但是我找不到其他谈论类似问题的网站。有人可以帮助我吗?非常感谢您的时间和对高级的帮助!


此问题已被标记为重复,但它与其他已确定的链接不完全匹配,因为我正在尝试绘制方程式。它应该产生两个双曲线。没有一种方法建议对绘图有帮助

0 个答案:

没有答案